- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参考程序 #includereg51.h unsigned char duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char key_val[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb, 0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77}; unsigned char key_scan[]={0xfe,0xfd,0xfb,0xf7}; void delay(unsigned int z) { unsigned int x,y; for(x=z;x0;x--) for(y=125;y0;y--); } void main() { unsigned char i,j; P2=0; while(1) { P3=0xf0; if(P3!=0xf0) { delay(10); if(P3!=0xf0) for(i=0;i4;i++) { P3=key_scan[i]; for(j=0;j16;j++ if(key_val[j]==P3) P2=duan[j]; } } } } 实例 运行效果 * * 中原工学院信息商务学院 中原工学院信息商务学院 键盘工作原理 1. 按键输入的特点 键盘实质上是一组按键开关的组合。通常使用的是触点式的机械弹性开关。利用机械触点的通断,实现按下时开关导通,释放时开关断开的功能。 按键触点的一端和单片机的I/O端口引脚连接,另一端与电压信号相连,触点的通断即可引起端口引脚上的电压变化,单片机通过程序读入I/O端口引脚电平信号便可判断按键的状态。如下图所示。 当按键未按下压时,Px.n端口为高电平;按压按键后为低电平。 按键在闭合和断开时,触点会存在抖动现象: 图为键闭合时列线电压波形。键闭合和断开过程中存在抖动期(呈现一串负脉冲),抖动时间长短与开关的机械特性有关,一般为5~10?ms之间;稳定闭合期由操作员的按键动作所确定,一般为数百毫秒到几秒。为了保证CPU对键的闭合做一次处理,必须去除抖动,在键的稳定闭合或断开时,读键的状态。 软件消抖方法:当判别到键盘上有键闭合后,延时一段时间再 判别键盘的状态,若仍有键闭合,则认为键盘 上有一个键处于稳定的闭合状态,否则认为键 抖动。 键盘有两种结构:独立式按键和矩阵式按键。 1.独立式按键 独立式键盘中每个按键都单独连接到单片机的一个I/O端口引脚上。 特点是电路简单,但占用I/O口线较多。 例:按下按键,对应的LED灯亮 #includereg51.h void delay(unsigned int z) { unsigned int x,y; for(x=z;x0;x--) for(y=125;y0;y--); } void main() { unsigned char key; P2=0x00; P0=0x01; while(1) { key=P0; if(key!=0x01) { delay(10); if(key!=0x01) P2=~key; } } } 实例 独立按键识别 【要求】采用独立按键方式实现下述功能:开机时LED全熄,然后根据按键动作使相应灯亮,并将亮灯保持到按压其它键时为止。 做输入,先写1 ① 按键的闭合电平为0, 但LED的驱动电平为1,故不能直接将P0口的状态送到P2口,而应使其先取反再送出; ② 使按键按下LED点亮,松开时保持不变。 【分析】 #includereg51.h void delay(unsigned int z) { unsigned int x,y;
您可能关注的文档
- 触摸屏生产流程分析.ppt
- 单片机气压计课程设计分析.doc
- 触诊精品课程福建农业职业技术学院分析.ppt
- 川菜英译汇编分析.doc
- 川成毕业设计模板(本科)分析.doc
- 川底KV站KV高压开关柜技术要求分析.doc
- 单片机抢答器课程设计分析.doc
- 川教初一下册《科技巨著与史学巨著》分析.ppt
- 单片机人机交互分析.ppt
- 单片机人机交互系统的C语言编程分析.ppt
- 2025年一建建筑实务考点总结.doc
- 2025年一建建筑工程实务最全知识要点总结.doc
- 企业经营管理之员工质量意识专题培训课件.pptx
- 2025年高考生物真题完全解读(湖北卷).docx
- 年产2万吨汽车配件及2万吨矿山配件项目可行性研究报告模板-申批立项.doc
- 2025年高考生物真题完全解读(湖南卷).docx
- 2025年一例女高中生考试焦虑咨询的案例报告包含咨询记录六次心理咨询师论文国家二级心理咨询师.doc
- 年产3万吨生物质颗粒项目可行性研究报告模板拿地申报.doc
- 年产4万吨牛磺酸项目可行性研究报告模板拿地备案立项.doc
- 年产5万吨新型炭材料科技项目可行性研究报告模板-申批征地立项.doc
文档评论(0)