A-A+
已知图9-8 4按键电路 试编制按键扫描子程序 若有键按下 执行相应键功能程序。
问题详情
已知图9-8,4按键电路,试编制按键扫描子程序,若有键按下,执行相应键功能程序。
参考答案
编程如下:
KEY4:ORL P1,#11110000B ;置P1.4~P1.7为输入态
MOV A,P1 ;读键值,键闭合相应位为0
ORL A,#00001111B ;低4位置1,高4位不变
CPL A ;取反,(“1”有效)
JZ CORET ;全0,无键闭合,返回
LCALL DY10ms ;非全0,有键闭合,延时10ms,软件去抖动
MOV A,P1 ;重读键值,键闭合相应位为0
ORL A,#00001111B ;低4位置1,高4位不变
CPL A ;取反,(“1”有效)
JZ GORET ;全0,无键闭合,返回;非全0,确认有键闭合
JB Acc.4,KB0 ;转K0键功能程序
JB Acc.5,KB1 ;转K1键功能程序
JB Acc.6,KB2 ;转K2键功能程序
JB Acc.7,KB2 ;转K3键功能程序
GORET:RET
KB0:LCALL WORK0 ;执行K0键功能子程序
RET
KB1:LCALL WORK1 ;执行K1键功能子程序
RET
KB2:LCALL WORK2 ;执行K2键功能子程序
RET
KB3:LCALL WORK3 ;执行K3键功能子程序
RET