- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
周第十章实动态数码管显示与键盘new
示例程序: unsigned char KeyScan() { unsigned char Input,Output,Keynumber,Keyvalue1,i; Keyvalue1=0xFF; Output=0xF0; PORTA=Output; Input=PORTA4; if(Input!=0x0F) { delay(4); Input=PORTA4; if(Input!=0x0F) { Output=0xFE; for(i=0;iRowSize;i++) { PORTA=Output; Input=PORTA4; if(Input!=0x0F) { switch(Input) { case 0x0E: Keynumber=0; break; case 0x0D: Keynumber=1; break; case 0x0B: Keynumber=2; break; case 0x07: Keynumber=3; break; } Keynumber=Keynumber+i*ColumnSize; Keyvalue1=KeyDecode[Keynumber]; break; } else Output=1; } } } return(Keyvalue1); 第十章数码管的显示与键盘识别—键盘识别(逐行扫描) Page * 5V 0 0 0 0 1 1 0 1 1 1 1 1 Y1(PA0) X1 (PA4) Y2(PA1) Y3(PA2) Y4(PA3) X2 (PA5) X3 (PA6) X4 (PA7) 1 2 3 4 5 6 7 8 9 0 A B C D E F 行端口输出 列端口输入 注意:输入输出 第十章数码管的显示与键盘识别—键盘识别(逐行扫描) 10.2.6 键盘的扫描策略 循环扫描:可行、可靠,占用CPU时间; 定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级; 键盘中断:发现有任何按键按下时启动键盘扫描,需要设计相应的硬件电路 Page * 示例程序: void main(void) { /* put your own code here */ unsigned char Keyresult; showdata[0]=1; showdata[1]=2; showdata[2]=3; showdata[3]=4; EnableInterrupts; Init_PORT(); Show(); //PPT的第8页 for(;;) { Keyresult=KeyScan(); //键盘扫描 if(Keyresult!=0xFF) showdata[0]=Keyresult; Show(); //显示 } } 示例程序: 见书P182页。 第十章数码管的显示与键盘识别—键盘识别(反转扫描) 5V 1 1 0 1 0 0 0 0 1 1 1 1 5V 1 1 1 1 0 0 0 0 1 0 1 1 Y1(PA7) Y2(PA6) Y3(PA5) Y4(PA4) X1 (PA0) X2 (PA1) X3 (PA2) X4 (PA3) Y1(PA7) Y2(PA6) Y3(PA5) Y4(PA4) Y1 (PA1) Y2 (PA1) Y3 (PA2) Y4 (PA3) 注意:键盘线的设置 1 2 3 4 5 6 7 8 9 0 A B C D E F 1 2 3 4 5 6 7 8 9 0 A B C D E F 键盘应用实例 实验4 任务:(1)在4个数码管上依次显示键盘键入的键值(扫描法)。 (2)在4个数码管上依次显示键盘键入的键值(反转法)。 同书上的键盘连接关系要不同。(同时修改书上的程序,使每按一键显示一位。) Page * 第十章数码管的显示与键盘识别—键盘实验 * * * * * * * 用P7表示DP,见P6页 * * 1694年,德国数学家Gottfried Wilhemvon Leibniz(1646-1716)改进了Pa
文档评论(0)