(例8)矩阵键盘数字输入.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(例8)矩阵键盘数字输入

/****************************************** 绿盾电子 X-13 多传感器开发板 功能:驱动数码管显示数据 时间:2011-8-23 ******************************************/ /*****************************************************/ //包含头文件 #includereg52.h #includestdio.h /*****************************************************/ typedef unsigned char uint8; //定义8位无符号变量 typedef unsigned int uint16; //定义16位无符号变量 typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; /*****************************************************/ //定义引脚(根据硬件改变) sbit BCD6 = P1^5; sbit BCD5 = P1^4; sbit BCD4 = P1^3; sbit BCD3 = P1^2; sbit BCD2 = P1^1; sbit BCD1 = P1^0; #define BCD_PORT P0 #define KeyBroad P2 sbit KeyBroad1 = KeyBroad ^ 7; sbit KeyBroad2 = KeyBroad ^ 6; sbit KeyBroad3 = KeyBroad ^ 5; sbit KeyBroad4 = KeyBroad ^ 4; sbit KeyBroad5 = KeyBroad ^ 3; sbit KeyBroad6 = KeyBroad ^ 2; sbit KeyBroad7 = KeyBroad ^ 1; sbit KeyBroad8 = KeyBroad ^ 0; /**********************************************************************************************/ code uint8 BCD[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40}; //定义数字显示数组为常量,共阴极 // /*0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,-/ //函数声明 /******************************************/ void delay(unsigned int time); void DisplayBCD(ulong temp); /******************************************/ //延时子函数 //参数范围 0-65536 us @ 12MHz void delay(unsigned int time) //参数 time 大小 { //决定延时时间长短 while(time--); } /******************************************/ //毫秒级延时函数 void mDelay(uchar delay) { uchar i; for(;delay0;delay--) { for(i=150;i0;i--); } } /******************************************************************/ //数码管显示函数 void DisplayBCD(ulong temp) { BCD_PORT = BCD[temp / 100000]; BCD6 = 0; mDelay(10); BCD6 = 1; BCD_PORT = BCD[temp / 10000 %10]; BCD5 = 0; mDelay(10); BCD5 = 1; BCD_PORT = BCD[temp / 1000 %10];

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档