单片机实例之按键原理30页PPT
- 格式:ppt
- 大小:3.16 MB
- 文档页数:30
\\\§8.3 键盘接口技术一、键盘输入应解决的问题键盘是一组按键的集合,它是最常用的单片机输入设备.操作人员可以通过键盘输入数据或命令,实现简单的人机通讯。
键是一种常开型按钮开关,平时(常态)键的二个触点处于断开状态,按下键时它们才闭合(短路)。
键盘分编码键盘和非编码键盘。
键盘上闭合键的识别由专用的硬件译码器实现并产生编号或键值的称为编码键盘,如:ASCⅡ码键盘、BCD码键盘等;靠软件识别的称为非编码键盘。
在单片机组成的测控系统及智能化仪器中用得最多的是非编码键盘。
本节着重讨论非编码键盘的原理、接口技术和程序设计。
键盘中每个按键都是—个常开关电路,如图所示。
1.按键的确认:P1.7=1 无按键;P1.7=0 有按键;2.去抖动去抖动的方法:①硬件去抖动采用RS触发器:优点: 速度快,实时,缺点: 增加了硬件成本②软件去抖动采用延时方法延时5—10ms 延时5—10ms P1.7=0 确认P1.7=0 P1.7=1 (去前沿抖动) (去后沿抖动)二、独立式键盘每个I/O口连接一个按,S1 P1.0S2 P1.1……………………….S8 P1.7软件:START:MOV P1,#0FFH ;置P1口为高电平JNB P1.0, RS1 ; S1按下,程序去执行RS1JNB P1.1, RS2 ; S2按下,程序去执行RS2JNB P1.2, RS3 ; S3按下,程序去执行RS3JNB P1.3, RS4 ; S4按下,程序去执行RS4JNB P1.4, RS5 ; S5按下,程序去执行RS5JNB P1.5, RS6 ; S6按下,程序去执行RS6JNB P1.6, RS7 ; S7按下,程序去执行RS7JNB P1.7, RS8 ; S8按下,程序去执行RS8AJMP START ; 继续扫描按键………….RS1: AJMP PK1 ;RS2: AJMP PK2 ;RS3: AJMP PK3 ;RS4: AJMP PK4 ;RS5: AJMP PK5 ;RS6: AJMP PK6 ;RS7: AJMP PK7 ;RS8: AJMP PK8 ;AJMP START ; 无键按下,继续扫描…………………PK1: ……….. ;按键S1功能处理程序AJMP START ;处理S1按键后, 继续扫描PK2: ……….. ;按键S2功能处理程序AJMP START………………….PK8: ………………;按键S8功能处理程序AJMP START ; 处理S8按键后, 继续扫描优点: 连线简单,程序容易.缺点: 太浪费资源适用于按键较少、I/O口空闲的场合。
独立式按键和矩阵式按键的工作原理1.独立式按键:一键一线,各键相互独立连接图如下1.单片机P1,P2口分别接数码管控制其要显示数字。
2.按键KEYI,KET2分别接单片机P3.0,P3.1口,实现按键对数码管的控制3.按键连接是要并联一个电容,防止按键抖动。
相应的控制程序如下ORG 0000HSJMP MAINMAIN: MOV SP,#60H 由于后面的延时程序用到了寄存器R7,所以要将SP的值赋为60H,防止R7的地址被占用。
LCALL DISP 调用子程序DISP,使数码管显是00按键1的作用是计数1-----100,按下一次数码管显示数字加1LOOP: JB P3.0,NK1 判断按键1是否被按下LCALL DL 延时程序看是否为误按JB P3.0,NK1 判断按键1是否仍处于被按下状态,确定按键确实被按下,未被按下跳转到NK1JNB P3.0,$ 判断按键是否被松开,完成了一次按键INC 40H 40H单元地址加1MOV A,#100 100付给A,设置显示数字1---100CJNE A,40H,NN 判断40H单元内容与A相等为100,不想等则转移到NNMOV 40H,#0 当40H内容为100是,从新开始计数,将40H 内容赋为0NN: LCALL DISP 调用子程序DISP按键2的作用是清零.无论之前的数字是几。
NK1: JB P3.1,NK2 判断按键2是否被按下LCALL DL 延时程序看是否为误按JB P3.1,NK2 判断按键2是否仍处于被按下状态,确定按键确实被按下,未被按下则跳转到NK2JNB P3.1,$ 判断按键是否被松开,完成了一次按键MOV 40H,#0 40H内容为0LCALL DISP 调用子程序DISP实现清零NK2: SJMP LOOP 跳转到LOOP按键1被按下要显示的数字计算程序DISP: MOV DPTR,#TAB 将数表首地址送到DPTRMOV A,40H 40H内容送到AMOV B,#10 #10送到BDIV AB A的内容除B的内容,余数存到B里,商存到A 里。