第9章应用系统配置及接口技术 单片机,教程ppt
第9章 应用系统配置及接口技术;图9-1 系统前向、后向人机通道配置框图;9.1 人机通道配置与接口技术;9.1.1 键盘接口及处理程序;键盘中每个按键都是一个常开开关电路,如图9-2所示。
当按键K未被按下时,P1.0输入为高电平;当K闭合时,P1.0输入为低电平。
;通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图9-3所示。
由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,如图9-3所示。抖动时间的长短由按键的机械特性决定,一般为5~10 ms。这是一个很重要的时间参数,在很多场合都要用到。;键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。
如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生5~10 ms的延时;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5~10 ms的延时,待后沿抖动消失后,才能转入该键的处理程序。
;1. 键盘结构;1) 独立式非编码键盘接口及处理程序;图9-4所示查询方式键盘的处理程序比较简单。程序中没有使用散转指令,并且省略了软件去抖动措施,只包括键查询、键功能程序转移。P0F~P7F为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节;PROM0~PROM7分别为每个按键的功能程序。
;程序清单(设I/O为P1口):
START: MOV A,#0FFH;输入时先置P1口为全1
MOV P1,A
MOV A,P1;键状态输入
PL1: JNB ACC.0,P0F;0号键按下转P0F标号地址
JNB ACC.1,P1F;1号键按下转P1F标号地址
JNB ACC.2,P2F;2号键按下转P2F标号地址
JNB ACC.3,P3F;3号键按下转P3F标号地址
JNB ACC.4,P4F;4号键按下转P4F标号地址
JNB ACC.5,P5F;5号键按下转P5F标号地址
JNB ACC.6,P6F;6号键按下转P6F标号地址
JNBA CC.7,P7F;7号键按下???P7F标号地址
LJMP START;无键按下返回;P0F: LJMP PROM0
┊ ┊
P1F: LJMP PROM1 ;入口地址表
P7F: LJMP PROM7
PROM0:… ;0号键功能程序
LJMP START ;0号键执行完返回
PROM1:…
LJMP START
┊
PROM7:…
LJMP START
由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。
;【例9-1】 设计一个有4个独立式按键的键盘接口,并编写键扫描程序。
解: 电路原理图如图9-5所示。
;程序清单:
KEY: MOV P1,#0FFH;P1口为输入,各位应先置位为高电平
MOV A,P1;读取按键状态
CPL A;取正逻辑,高电平表示有键按下
ANL A,#0FH
JZ KEY;A=0时无键按下,重新扫描键盘
LCALL D10 ms;有键按下延时去抖动
MOV A,P1;读取按键状态
CPL A;取正逻辑,高电平表示有键按下
ANL A,#0FH;再判别是否有键按下
JZ KEY;A=0时无键按下重新扫描键盘
MOV B,A;有键按下,键值送B暂存
MOV A,P1
CPL A; ANL A,#0FH;判别按键释放
KEY1:JNZ KEY1;按键未释放,等待
LCALL D10ms;释放,延时去抖动
MOV A,B;取键值送A
JB ACC.0,PKEY1;K1按下转PKEY1
JB ACC.1,PKEY2;K2按下转PKEY2
JB ACC.2,PKEY3;K3按下转PKEY3
JB ACC.3,PKEY4;K4按下转PKEY4
EKEY:RET;PKEY1:LCALL K1;K1命令处理程序
RET
PKEY2:LCALL K2;K2命令处理程序
RET
PKEY3:LCALL K3;K3命令处理程序
RET
PKEY4:LCALL K4;K4命令处理程序
RET
D10ms:MOV R7,#10H;10 ms延时子程序
DS1: MOV R6,#0FFH
DS2: DJNZ R6,DS2
DJNZ R7,DS1
您可能关注的文档
最近下载
- 天津市部分区2024-2025学年八年级上学期11月期中数学试题(解析版).docx VIP
- 会议活动策划方案模板.docx VIP
- 土方意向协议书范本.docx VIP
- 履带吊安拆监理细则.docx VIP
- T_ZZB 2614-2022 BD100生物柴油标准.docx VIP
- 2026领导班子成员民主生活会“五个带头”个人对照检查材料8篇.docx VIP
- 2025年度民主生活会个人对照检查发言材料.docx VIP
- 山东省烟台龙口市(五四制)2022-2023学年六年级上学期期末考试数学试题(含答案).docx VIP
- 部编版七年级语文上册第三单元第9课时_主题阅读:有为有不为.docx VIP
- 《人工智能辅助的翻译技术》课件.ppt VIP
原创力文档

文档评论(0)