单片机矩阵键盘实验程序(汇编)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机矩阵键盘实验程序(汇编)
org 00h
ajmp main
org 0030h
key equ p1 ;连接按键的IO口
main: mov sp,#70h
clr p2.0
mov dptr ,#tab
chect_row : ajmp row
loop: movc a,@a+dptr
mov p0,a
clr a
ajmp chect_row
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
k0:call delay_10ms ;消抖
jb key.0,chect_row ;消斗不通过就返回
ajmp chect_cow
k1:call delay_10ms
jb key.1,chect_row
mov a,#4
ajmp chect_cow
k2: call delay_10ms
jb key.2,chect_row
mov a,#8
ajmp chect_cow
k3: call delay_10ms
jb key.3,chect_row
mov a,#12
ajmp chect_cow
k4: add a,#0
ajmp loop
k5: add a,#1
ajmp loop
k6: add a,#2
ajmp loop
k7: add a,#3
ajmp loop ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
row:
mov key,#15
jnb key.0,k0
jnb key.1,k1
jnb key.2,k2
jnb key.3,k3
ajmp chect_row
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
chect_cow:
mov key ,#240
jnb key.4 ,k4
jnb key.5 ,k5
jnb key.6 ,k6
jnb key.7 ,k7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
tab :
db 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH