我是靠谱客的博主 现实香烟,这篇文章主要介绍8位数码管矩阵键盘c语言程序,51单片机STC89C52 矩阵键盘数码管显示,现在分享给大家,希望可以做个参考。

WELA BIT P2.7

DULA BIT P2.6

DIOLA BIT P2.5

FM BIT P2.3

ORG 0000H

SETB DIOLA

MOV SP,#0E0H

LOOP0:

LCALL key_Scan

JZ LOOP0

LCALL DELAY20MS

LCALL key_Scan

JZ LOOP0

MOV P1,A

LCALL Smg

HERE0:

LCALL key_Scan ;等待按键释放

JZ LOOP0

LCALL DELAY20MS

SJMP HERE0

key_Scan:

SETB RS1

MOV P3,#0FH

ORL P3,#0FH

MOV A,P3 ;取低4位 行

MOV P3,#0F0H

ORL P3,#0F0H

MOV R0,P3 ;取高4位 列

ANL A,#0FH

MOV R1,A

MOV A,R0

ANL A,#0F0H

ORL A,R1

CPL A

JZ EXIT ;为0说明无键,退出

MOV R0,A ; 暂存完整键状态

ANL A,#0FH

CJNE A,#01H,NEXT0

MOV R1,#1

SJMP NEXT4

NEXT0:

CJNE A,#02H,NEXT1

MOV R1,#2

SJMP NEXT4

NEXT1:

CJNE A,#04H,NEXT2

MOV R1,#3

SJMP NEXT4

NEXT2:

CJNE A,#08H,NEXT3

MOV R1,#4

SJMP NEXT4

NEXT3:

MOV R1,#0 ;R1保存行号 无键为0,有键1-4

CLR A ;退出前,清零累加器

SJMP EXIT

NEXT4:

MOV A,R0 ;开始算列

ANL A,#0F0H

CJNE A,#10H,NEXT00

MOV R2,#1

SJMP NEXT40

NEXT00:

CJNE A,#20H,NEXT10

MOV R2,#2

SJMP NEXT40

NEXT10:

CJNE A,#40H,NEXT20

MOV R2,#3

SJMP NEXT40

NEXT20:

CJNE A,#80H,NEXT30

MOV R2,#4

SJMP NEXT40

NEXT30:

MOV R2,#0 ;R2保存列号,无键为0,有键1-4

CLR A ;无键退出,并清零累加器

SJMP EXIT

NEXT40:

MOV A,R1

SUBB A,#1

RL A

RL A

ADD A,R2 ;键值 0-15

EXIT:

CLR RS1

RET

DELAY20MS: ;延时

SETB RS0

MOV R1,#20

DELAY1:

MOV R0,#0FAH

DELAY0:

NOP

NOP

DJNZ R0,DELAY0

DJNZ R1,DELAY1

CLR RS0

RET

DELAY4S: ;延时

SETB RS1

MOV R3,#02H

DELAY30:

MOV R2,#04H

DELAY20:

MOV R1,#250

DELAY10:

MOV R0,#250

DELAY00:

NOP

NOP

DJNZ R0,DELAY00

DJNZ R1,DELAY10

DJNZ R2,DELAY20

DJNZ R3,DELAY30

CLR RS1

RET

Smg:

SETB RS1

PUSH ACC

PUSH B

PUSH PSW

CLR DULA

CLR WELA

MOV P0,#00H

SETB DULA

CLR DULA

SETB WELA

CLR WELA

MOV DPTR,#TABLEK

DEC A

MOVC A,@A+DPTR

MOV P0,A

SETB DULA

CLR DULA

POP PSW

POP B

POP ACC

CLR RS1

RET

TABLEK: ;共阴数码管

DB 3FH,06H,5BH,4FH

DB 66H,6DH,7DH,07H

DB 7FH,6FH,77H,7CH

DB 39H,5EH,79H,71H

END

最后

以上就是现实香烟最近收集整理的关于8位数码管矩阵键盘c语言程序,51单片机STC89C52 矩阵键盘数码管显示的全部内容,更多相关8位数码管矩阵键盘c语言程序,51单片机STC89C52内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部