毕业设计正文 雷洋 电气化15-1(修改)(11)

时间:2025-07-08

在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。

键盘扫描子程序如下: ORG 0000H AJMP MAIN ORG 0030H MAIN:

MOV DPTR,#TAB ;将表头放入DPTR LCALL KEY ;调用键盘扫描程序

MOVC A,@A+DPTR 查表后将键值送入ACC MOV P0,A ;将Acc值送入P0口 CLR P2.1 开显示 LJMP MAIN ;返回反复循环显示

KEY: LCALL KS ;调用检测按键子程序 JNZ K1 ;有键按下继续

LCALL DELAY2 无键按调用延时去抖 AJMP KEY ;返回继续检测按键 K1: LCALL DELAY2

LCALL DELAY2 ;有键按下延时去抖动 LCALL KS ;再调用检测按键程序 JNZ K2 ;确认有按下进行下一步 AJMP KEY ;无键按下返回继续检测

K2: MOV R2,#0EFH 将扫描值送入R2暂存 MOV R4,#00H ;将第一列值送入R4暂存 K3: MOV P1,R2 ;将R2的值送入P1口 L6: JB P1.0,L1 ;P1.0等于1跳转到L1 MOV A,#00H 将第一行值送入ACC AJMP LK ;跳转到键值处理程序

L1: JB P1.1,L2 ;P1.1等于1跳转到L2 MOV A,#04H 将第二行的行值送入ACC AJMP LK ;跳转到键值理程序进行键值处理 L2: JB P1.2,L3 ;P1.2等于1跳转到L3 MOV A,#08H ;将第三行的行值送入ACC AJMP LK ;跳转到键值处理程

L3: JB P1.3,NEXT ;P1.3等于1跳转到NEXT处 MOV A,#0cH 将第四行的行值送入ACC

LK: ADD A,R4 ;行值与列值相加后的键值送入A PUSH ACC ;将A中的值送入堆栈暂存

K4: LCALL DELAY2 ;调用延时去抖动程序 LCALL KS ;调用按键检测程序

JNZ K4 ;按键没有松开继续返回检测 POP ACC ;将堆栈的值送入ACC RET

NEXT: INC R4 ;将列值加一

毕业设计正文 雷洋 电气化15-1(修改)(11).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219