MC51单片机取键值程序分享

取键值程序
功能:等待键入,并刷新显示,并返回键值放a
占用:psw,a,dptr,r0,r2,r3,r4,r6,r7
入口:无出口:a
org0190h
wat_kb:movr0,#3fh
wat_0:acalldisp_0;刷新显示器
acallt_kb
jzwat_0;无键,循环
acallkey_ld;延时消抖,刷新显示
jzwat_0;无键,循环
kb_vul:clra
cpla
movdptr,#port_b
movx@dptr,a;关显示
movr2,#0feh
movr4,#0
kb_1:movdptr,#port_a
mova,r2
movx@dptr,a;扫描键盘
incdptr
incdptr
movxa,@dptr;读键盘
cpla
anla,#0fh;屏蔽无效位
jnzkb_2;有键,转键分析
incr4
mova,r2
jnbacc.7,wat_0;无键,返回
rla
movr2,a
sjmpkb_1;无键,扫描下一行
kb_2:rrca
jckb_3;有键,转取键值
xcha,r4;取下一行
adda,#8
xcha,r4
sjmpkb_2;无键,循环
kb_3:movr2,#21
kb_4:acalldisp_0
acallt_kb
jzkb_5;刷新显示,等键释放
djnzr2,kb_4
kb_5:movdptr,#key_tb
mova,r4
movca,@a+dptr;取键值
ret
key_ld:acalldisp_0
acalldisp_0
acallt_kb
ret
key_tb:db07h,08h,09h,0ah;7,8,9,a
db1ch,1dh,1eh,11h;ffis/func,ffno/user,fill/mode,空
db04h,05h,06h,0bh;4,5,6,b
db1ah,1bh,1fh,10h;comp/dec,move/hex,ofst/hist,mon
db01h,02h,03h,0ch;1,2,3,c
db18h,19h,14h,15h;bp/btop,bt/bent,exec,scal
db00h,0fh,0eh,0dh;0,f,e,d
db16h,17h,12h,13h;next/+,last/-,trac,step

液压传动系统在生活中有哪些应用
贸泽与STMicroelectronics联手发布新电子书 就智能家居设备开发提供行业专家意见
模拟转接驱动器三个主要缺点
浅析NB-IoT在智能物联网表中的应用优势
德索谈高压连接器的好坏如何判断
MC51单片机取键值程序分享
最大数码移动电源企业落户温江
日产汽车亏损,又向日本政府借了130亿元 专供中国
PID控制电机分析
智能家居主控中心触摸显示屏ESD整改
电动机的位置、速度检测方法
蒲公英新推出ROM4.0固件,以加强路由器安全性能
iPhone7红色版和OPPO R9s清新绿, 你选谁?
5G通信技术助力运营商重“新”出发——5G消息应运而生
成功高速数据采集的秘诀
i.MX 93系列赋能智能边缘
中国移动已开通了近5万个5G基站并在50个城市提供了5G商用服务
电容屏的使用寿命及保养方法
关于电池修复技术,这个原理很重要
中国AGV机器人市场十大关键词