单片机键盘扩展与Proteus仿真_第1页
单片机键盘扩展与Proteus仿真_第2页
单片机键盘扩展与Proteus仿真_第3页
单片机键盘扩展与Proteus仿真_第4页
单片机键盘扩展与Proteus仿真_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、键盘接口按键的特点及输入原理独立式按键矩阵式按键1按键的特点及输入原理按键的分类: 触点式:机械;无触点式:电气键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,并进行相应的处理。 2键盘接口需要解决的问题是否有键按下按键识别:键抖动及消除:机械按键抖动时间在5ms10ms之间 硬件方案双稳态去抖电路 软件方案延时10ms20ms后再次判断消除方法:求键号3独立式按键接口电路:特

2、点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。4 试编制程序,要求当其中某一按键压下时与其对应的二极管将被点亮。课堂练习P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.080315V5例1:用P1口检测三个按键的状态并完成相应的功能解:资源分配:用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。流程图:6 ORG 0000HKB: MOV P1,#0FFH MOV A,P1 CPL A ANL A,#0FH JZ KB LCALL D10MS MOV A,P1 CPL A ANL A,#0FH JZ KB CJNE A,

3、#01H,KB01 LCALL PGM1 SJMP KBKB01:CJNE A,#02H,KB02 LCALL PGM2 SJMP KBKB02:CJNE A,#04H,KB LCALL PGM3 SJMP KB END编程:按三个按键中的任一键都对应一个特定功能。若判断键释放应如何修改?7矩阵式按键关键:如何判断键号?3210476511109815141312+5VP1.4P1.3P1.0MCS-51P1.7P1.6P1.5P1.2P1.1接口电路:特点:按键识别应采用扫描法或线路反转法 编程较为复杂,节省口资源,8键以上使用8键盘扫描子程序一般包括以下内容: 1.判别有无键按下; 2.扫

4、描获取闭合键的行、列值; 3.用计算法或查表法得到键值; 4.判断闭合键释放否,如没释放则继续等待; 5.保存闭合键号。9按键识别扫描法 流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3) 原理: 在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。10定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。11中断扫描方式 为提高CPU工作效率,可采用中断扫描

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论