项目351单片机按键识别的设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目3 按键识别的设计;在单片机应用系统中,键盘主要用于向计算机输入数据、传送命令等,是人工干预计算机的主要手段。键盘要通过接口与单片机相连,分为编码键盘和非编码键盘两类。 键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,使用最广泛的是非编码键盘。当然,也有用到编码键盘的。 非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。;单 键;读P1口的按键状态,P2口以二进制记录P1口的状态变化次数。;任务1:按键测试;3.程序流程;#include STC_NEW_8051.H #define uchar unsigned char unsigned char i,j; void main( ) { j=0; //变化次数 P2=0xff; //P2口灯全灭,灯灭表示为0,灯亮表示1 i=P1; //读P1口 while(1) { if(i!=P1) //判断P1口是否有变化 { j++; //有变化次数加1 P2=~j; //次数在P2口显示 i=P1; //重新记录P1口的状态 } } }; 在键盘的软件设计中还要注意按键的去抖动问题。由于按键一般是由机械式触点构成的,在按键按下和断开的瞬间均有一个抖动过程,时间大约为5ms~10ms,可能会造成单片机对按键的误识别。; ;按键消抖一般有两种方法,即硬件消抖和软件消抖。;在软件设计中,当单片机检测到有键按下时,可以先延时一段时间越过抖动过程再对按键识别。 实际应用中,一般希望按键一次按下单片机只处理一次,但由于单片机执行程序的速度很快,按键一次按下可能被单片机多次处理。为避免此问题,可在按键第一次按下时延时10ms之后再次检测按键是否按下,如果此时按键仍然按下,则确定有按键输入。这样便可以避免按键的重复处理。;任务2 单键控制LED的设计 ;任务2 单键控制LED的设计 ;任务2 单键控制LED的设计 ;任务2 单键控制LED的设计 ;#include reg51.h #define uchar unsigned char void delay(uchar); sbit p14=P1^4; //定义位 sbit p20=P2^0; main() { p20=0; //P2.0初始状态灯亮 while(1) { if(p14==0) //判断是否按键 { delay(2); //延时20MS,去抖动 if(p14==0) // 确认有键按下 { p20=~p20; //指示灯状态取反 while(!p14); //等待按键释放 } } } } ;思考题:;任务2 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务2 多路按键状态指示的设计;B) 反转法: 1)行输入、列输出,将列输出端全置为0, 通过接口读取行线电平,判断行的位置 2)列输入、行输出,将行输出端全置为0, 通过接口读取列线电平,判断列的位置 综合两步获取按键号。 ;任务2 多路按键状态指示的设计;任务2 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务2 多路按键状态指示的设计;任务2 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务3 多路按键状态指示的设计;任务3 多路按键状态指示的设计

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档