广告

原创 反转扫描实现矩阵按键的键值显示0~f

2009-5-6 09:09 2320 1 1 分类: MCU/ 嵌入式

;====================================
;本程序使用反转扫描实现矩阵按键的键值显示0~f
;QQ 529404547
;2008.12.09
;=====================================
;=========开始处=====================
 
 SC  EQU P2
 PX  EQU P1
 JS  EQU 2AH


 ORG  00H
 AJMP MAIN
 ORG 0030H
;===========初始化================
MAIN: MOV JS, #00H
 MOV R0, #0FFH
 MOV PX, #01H
 MOV SC, #00H
 MOV 30H, #00H
 MOV 31H, #00H
 MOV 32H, #00H
 
 
FF: ACALL KEY
 AJMP FF
;---------------------------------
;按键处理子程序
;输入:P1
;输出:P1
;矩阵键盘扫描
;-----------------------------------
KEY: MOV  P0, #0F0H  ;反转扫描
 MOV A, P0


 ANL A, #0F0H
 MOV 31H, A
 MOV B, A
 MOV P0, #0FH
 MOV  A, P0
 
 ANL A, #0FH
 MOV 32H, A
 ORL A, B
 MOV 30H, A


 CJNE A, #0FFH, FEN ;与0FFH比较,没按键按下返回,有跳转FEN
 AJMP KEYEND 
FEN: CJNE R0, #16, LK
 MOV R0, #0FFH
 AJMP KEYEND
LK: MOV DPTR, #LAB
 MOV A, R0
 MOVC A, @A+DPTR
 INC R0
 CJNE A, 30H, FEN
 MOV A, R0
 ACALL DISPLAY


KEYEND: RET
;=====================================
;显示子程序
;输入JS
;输出:P2
;单个数码管从0到9的显示
;=====================================
DISPLAY:MOV DPTR, #TAB


 MOVC A, @A+DPTR
 MOV SC, A
 MOV PX, #01H
 
 RET
 
TAB: DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H
 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H     ;共阴数码管代码


LAB: DB 77H,7BH,7DH,07EH,0B7H,0BBH,0BDH,0BEH
 DB 0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0ECH,0EEH  ;反转描码表


 END

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
huanglihua0917_191789474 2009-06-03 13:55
ET45M052
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />益统ET45M052<?xml:namespace...
huanglihua0917_191789474 2009-05-12 10:34
PCB布线规则
1 电源、地线的处理 既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能 下降,有时甚至影响到产品的成功率。所以对电、 地线的布线要认真对待,把电、地线...
huanglihua0917_191789474 2009-05-12 10:34
PCB布线规则
1 电源、地线的处理 既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能 下降,有时甚至影响到产品的成功率。所以对电、 地线的布线要认真对待,把电、地线...
huanglihua0917_191789474 2009-05-12 09:27
常见的三极管的封装
常见的三极管的封装 三极管9015管脚图 参数资料、引脚实物图片三极管9015管脚图9015是一种常用的普通三极管。它是一种小电压,小电流,小信号的PNP型硅三极管特性:集电极电流Ic:Max -10...
huanglihua0917_191789474 2009-05-06 09:12
矩阵键盘的扫描4*4显示0~f(行值加列值)
;===================================;实现矩阵键盘的扫描4*4显示0~f;使用行值加列值的方法; QQ 529404547;2008.12.10;=========...
huanglihua0917_191789474 2009-05-06 09:11
矩阵键盘的扫描4*4显示0~f
;===================================;实现矩阵键盘的扫描4*4显示0~f;使用加一法; QQ 529404547;2008.12.10;==============...
我要评论
0
1
广告