200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 单片机数码管显示按键矩阵

单片机数码管显示按键矩阵

时间:2021-08-11 21:31:15

相关推荐

单片机数码管显示按键矩阵

单片机数码管显示按键矩阵

效果视频如下:

单片机按键数码管显示

芯片型号:STC89C52RC

代码如下:

ORG 0000HLJMP MAINMAIN:MOV P3,#0FH;行接高电平,列接低电平;检查所有行,若出现低电平则跳转JNB P3.0,H1JNB P3.1,H2JNB P3.2,H3JNB P3.3,H4LJMP MAINH1:MOV R0,#1D;R0记下行LJMP CHECKL;列接高电平,行接低电平;检查所有列H2:MOV R0,#2DLJMP CHECKLH3:MOV R0,#3DLJMP CHECKLH4:MOV R0,#4DLJMP CHECKLCHECKL:MOV P3,#0F0HJNB P3.4,L1JNB P3.5,L2JNB P3.6,L3JNB P3.7,L4LJMP MAINL1:MOV R1,#1D;R1记下列LJMP COUNTL2:MOV R1,#2DLJMP COUNTL3:MOV R1,#3DLJMP COUNTL4:MOV R1,#4DLJMP COUNTCOUNT:MOV A,R0;计算所在按键DEC AMOV B,#4DMUL ABADD A,R1MOV R3,AXRL A,#1DJZ D1MOV A,R3XRL A,#2DJZ D2MOV A,R3XRL A,#3DJZ DD3MOV A,R3XRL A,#4DJZ DD4MOV A,R3XRL A,#5DJZ DD5MOV A,R3XRL A,#6DJZ DD6MOV A,R3XRL A,#7DJZ DD7MOV A,R3XRL A,#8DJZ DD8MOV A,R3XRL A,#9DJZ DD9MOV A,R3XRL A,#10DJZ DD10MOV A,R3XRL A,#11DJZ DD11MOV A,R3XRL A,#12DJZ DD12MOV A,R3XRL A,#13DJZ DD13MOV A,R3XRL A,#14DJZ DD14MOV A,R3XRL A,#15DJZ DD15MOV A,R3XRL A,#16DJZ DD16DD3:LJMP D3DD4:LJMP D4DD5:LJMP D5DD6:LJMP D6DD7:LJMP D7DD8:LJMP D8DD9:LJMP D9DD10:LJMP D10DD11:LJMP D11DD12:LJMP D12DD13:LJMP D13DD14:LJMP D14DD15:LJMP D15DD16:LJMP D16D1: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HLJMP DELAYD2: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#5BHLJMP DELAYD3: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#4FHLJMP DELAYD4: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#66HLJMP DELAYD5: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#6DHLJMP DELAYD6: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#7DHLJMP DELAYD7: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#07HLJMP DELAYD8: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#7FHLJMP DELAYD9: SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#6FHLJMP DELAYD10:MOV R7,#0FFHK0:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#3FHACALL DEL2MOV P0,#00H;DJNZ R7,K0 MOV P0,#00HLJMP MAIND11:MOV R7,#0FFHK1:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;DJNZ R7,K1 MOV P0,#00HLJMP MAIND12:MOV R7,#0FFHK2:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#5BHACALL DEL2MOV P0,#00H;DJNZ R7,K2 MOV P0,#00HLJMP MAIND13:MOV R7,#0FFHK3:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#4FHACALL DEL2MOV P0,#00H;DJNZ R7,K3 MOV P0,#00HLJMP MAIND14:MOV R7,#0FFHK4:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#66HACALL DEL2MOV P0,#00H;DJNZ R7,K4 MOV P0,#00HLJMP MAIND15:MOV R7,#0FFHK5:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#6DHACALL DEL2MOV P0,#00H;DJNZ R7,K5 MOV P0,#00HLJMP MAIND16:MOV R7,#0FFHK6:SETB P2.7MOV P0,#00111101B CLR P2.7SETB P2.6MOV P0,#06HACALL DEL2MOV P0,#00H;SETB P2.7MOV P0,#00111011BCLR P2.7SETB P2.6MOV P0,#7DHACALL DEL2MOV P0,#00H;DJNZ R7,K6 MOV P0,#00HLJMP MAINDELAY:MOV R5,#04H ;将立即数传给寄存器R5F3:MOV R6,#0FFHF2:MOV R7,#0FFHF1:DJNZ R7,F1 ;若为0程序向下执行,若不为0程序跳转到DJNZ R6,F2DJNZ R5,F3MOV P0,#00HLJMP MAINDEL2:MOV R4,#0FFHDJNZ R4,$MOV R4,#0FFHDJNZ R4,$RETIEND

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。