《单片机原理及接口技术》项目5 键盘接口技术.pptxVIP

《单片机原理及接口技术》项目5 键盘接口技术.pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机及接口技术项目教程;项目5 键盘接口技术;键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。在单片机外围电路中,通常用到的按键是机械触点式弹性开关,其主要功能是把机械上的通断转换为电气上的逻辑关系 (1和0),当开关闭合(0)时,线路导通,开关断开(1)时,线路断开。常见的键盘种类有独立式键盘和矩阵式键盘。;一、独立式键盘;每个按键单独 占用一根I/O口线,每个按键工作不会影响其他I/O口线 的状态。多用于所 需键盘不多的场合。;2、按键触点的机械抖动 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。;3、消抖方法 为了克服按键触点机械抖动所致的检测误判,必 须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件消抖;而当键数较多时, 采用软件消抖。 ① 硬件消抖;② 软件消抖;二、矩阵式键盘 1、矩阵式键盘结构;2、键码识别;三、训练项目;训练任务 本项目要完成的任务是设计一个简易数字调节器。用两位数码管显示数值,变化范围 00—59。开始时 显示 00,每按下key1 键一次,数值加 1;每按下 key2 键一次,数值减 1;每按下key3 键一次,数值 归零;按下key4 键一次,利用定时器功能使数值开 始自动每秒加 1,再次按下key4 键,数值停止自动 加 1,保持原来的数。Key1—key4 键均采用独立式 按键。 任务引导 由独立式键盘工作原理知,要通过四个按键实现不同的数字显示,只需要依次检测key1—key4 键是否有键按下,若有,延时10—20ms 消抖后再判断是否有键按下,若确认有,再转去执行相应的按键动作即可。;(4)任务实施;②软件设计;//显示子函数;//键盘扫描子函数;while(!key2);;//T0中断服务函数;(5)效果演示;2、 一键多功能控制;任务引导 由独立式键盘工作原理知,要通过一个按键实现LED 灯不同的显示效果,只需不断检测是否有 键按下,若有,延时消抖后再判断是否有键按下,若确认有,记下按键按下次数,根据记录下的按键次数转去执行相应的功能程序段即可。 任务实施 ①硬件电路设计;②软件设计;B、控制源程序;void ModeCode(uchar *Datamode,uchar DataLen) //取花样数据送单片机端口显示函数 { uchar CopyLen; for(CopyLen = 0;CopyLen DataLen;CopyLen++) { P1= *Datamode++; //取花样数据码送P1口并显示 delayms(1000); } } void main() { while(1) { if(Key==0) delayms(10); if(Key==0) { ID++; if(ID==5) {;ID=0; //ID归0再次循环 } while(Key== 0);//等待按键释放,相当于while(!Key); } switch(ID) { case 1: ModeCode(left,sizeof(left)); break; case 2: ModeCode(right,sizeof(right)); break; case 3: ModeCode(shining,sizeof(shining)); brea case 4: ModeCode(running,sizeof(running)); brea default:P1=0xff;} //灭灯 };//数据移位;(5)效果演示;3、矩阵式键盘操作;(3)任务引导 由矩阵式键盘工作原理知,本项目可采用如前所述的键盘扫描法得到键码值。;②软件设计;//显示子函数;case 0x7D: key=13; break; case 0x7B: key=14; break; case 0x77: key=15; break; default:key=0; } } } P3=0xBF; //扫描第二列;case 0xBD: key=9; break; case 0xBB: key=10; break; case 0xB7: key=11; break; } } } P3=0xDF; //扫描第三列;case 0xDD: key=5; break; case 0xDB: key=6; break; case 0xD7: key=7; break; } } } P3=0xEF; //扫描第四列;case 0xED: key=1; break; case 0xEB: key=2; break; case 0xE7: key=3; break; } } } if((key!=0xFF)(key != lastKey)) { lastKe

文档评论(0)

木槿流年 + 关注
实名认证
文档贡献者

悟已往之不谏,知来者之可追

1亿VIP精品文档

相关文档