- 10
- 0
- 约1.16万字
- 约 13页
- 2018-12-28 发布于广东
- 举报
单片机原理与应用第2版源代码10.doc
屮断法査键处理程序设计如下:
MAIN:
ORG
LJMP
ORG
LJMP
MOV
SETB
SETB
SETB
0000
MAIN
0013H
KPINT1
SP,#6FH
IT1
EX1
EA
? ? ?
SJMP
$
KPINT1:
PUSH
PSW
PUSH
ACC
MOV
A,Pl
CPL
A
JZ
EXIT
LCALL
DEL10MS
MOV
A,Pl
CPL
A
JZ
EXIT
KEY1 :
CJNE
A,#0lH,KEY2
LJMP
KEYK1
KEY2 :
CJNE
A , #02H,KEY3
LJMP
KEYK2
KEY3:
CJNE
A,#04H,KEY4
LJMP
KEYK3
KEY4 :
CJNE
A,#08H,KEY5
LJMP
KEYK4
KEY5:
CJNE
A,#10H,KEY6
LJMP
KEYK5
KEY6:
CJNE
A,#12H,KEY7
LJMP
KEYK6
KEY7:
CJNE
A,#14H,KEY8
LJMP
KEYK7
KEY8:
CJNE
A,#18H,EXIT
LJMP
KEYK8
EXIT:
RET I
DEL10MS
:MOV
60H,#10
LP1 :
MOV
61H,#250
DJNZ
61H, $
DJNZ
60H,LP1
RET
? ? ?
END
,?选择边沿触发方式
,?中断服务子程序入口
;(A)=0,退出转 EXIT
;(A)=0,退出转 EXIT ,?是K:键,转入久键处理子程序KEYK1 ;是K2键,转入K2键处理子程序KEYK2 ,?是K:键,转入K3键处理子程序KEYK3 ;是K,;键,转入K4键处理子程序KEYK4 ,?是K:,键,转入键处理子程序KEYK5 ;是K(键,转入K6键处理子程序KEYK6 ;是K?键,转入Kt键处理子程序KEYK7 ;是^键,转入K8键处理子程序KEYK8 ,?延时10 ms子程序,晶振6 MHz
针对图10-5编程时,要求只处理单一按键,如有两个或多个按键同时按下视为无效,不予以 处理,单片机应定时杏询数据总线P0端口,按键采用延时去抖。按键处理程序没计如丁:
KEY—IN:
MOV
DPTR,#7FFFH
MOVX
A,@DPTR
,?读按键值
ANL
A, #1FH
,?屏蔽高3位
CJNE
A,#1FH,KEYQD
,?判断是否有键按下
LJMP
EXIT
,?无键按下,退出键盘扫描
KEYQD:
LCALL
DEL10MS
;有键按下,延时10 ms去抖
MOVX
A, QDPTR
;再读按键值
ANL
A,#1FH
CJNE
A, #1FH,KEY1
LJMP
EXIT
KEY1:
CJNE
A,#1EH,KEY2
LJMP
KEYK1
,?是Ki键,转入仏键处理子程序KEYK1
KEY2:
CJNE
A,#1DH,KEY3
LJMP
KEYK2
;是K2键,转入K2键处理子程序KEYK2
KEY3:
CJNE
A,#1BH,KEY4
LJMP
KEYK3
,?是K:键,转入K3键处理子程序KEYK3
KEY4 :
CJNE
A,#17H,KEY5
LJMP
KEYK4
;是K,;键,转入h键处理子程序KEYK4
KEY5:
CJNE
A,#0FH,EXIT
LJMP
KEYK5
,?是,键,转入K5键处理子程序KEYK5
EXIT:
RET
DEL10MS
:MOV
60H,#10
;延时10 ms子程序,晶振为6 MHz
LP1:
MOV
61H,#250
DJNZ
61H, $
DJNZ
6OH,LP1
RET
礬?拳
在行扫描法屮,将所有行线作为输出端口,并逐行输出低电平,将所有列线作为输入端口, 得到行、列线值后,也可以不采用查表的方式查找键码。下Ifif这个行扫描法查键程序,采用 了非查表法,比较巧妙地找到按键键码,查键处理程序设计如下:
KEY—IN:
MOV
Pl,#0F0H
;P1端口低4位全部输出0电平
MOV
A,Pl
,?从Pl端口高4位读入列信号
ORL
A,#0FH
,?屏蔽低4位
CPL
A
;取反
JZ
KPEXT
;没有按键,即若A=0 , Z=1,跳转到KPEXT
MOV
R4Z #0
,?键值初始化
MOV
R2,#0FEH
,?行扫描码初始化
MOV
R7Z#4
,?扫描次数(行线数)
KP1:
MOV
Pl, R2
,?从P1端口低4位输出扫描码
MOV
A,Pl
,?从P1端口高4位读入列信息
ORL
A,#0FH
,?屏蔽低4位
CPL
A
;取反
JNZ
KP2
;本行有按键被按下否?若有键,跳转到KP2
MOV
AZR4
;计算下一行键的起始键值
ADD
A, #4
MOV
R4, A
MOV
A,R2
;计算下一行的扫描码
RL
A
MOV
您可能关注的文档
最近下载
- XA2024小升初_西安铁X中入学数学试卷入学真卷.pdf VIP
- 劳动防护用品配备标准.docx VIP
- 征信报告模板-带水印版.docx VIP
- Q 320116 NHPS008-2017_HPGC-1000型 在线气相色谱仪.pdf VIP
- XA2024小升初_西安(工大)数学入学试卷一.pdf VIP
- Se inclinassi a prender moglie 我要把妻子赏赐给你(G) - 未知.pdf VIP
- 项目竞标附加服务保证书.docx VIP
- 导线连接器应用技术.docx VIP
- 深入学习《中国共产党章程》心得体会【五篇】.doc VIP
- 企业研发中产品质量和成本的平衡点探讨.docx VIP
原创力文档

文档评论(0)