汇编语言51单片机怎么用KEY 1控制数码管上显示的数字加1 KEY2控制数码管上显示数字减1?

汇编语言51单片机怎么实现用KEY 1控制数码管上显示的数字加1, KEY2控制数码管上显示数字减1?把加法程序改成加减法的程序。整体要求如下图所示。protues用的8.6。

给你个参考;

1)起始部分,R5用于控制取七段码的方向,是从头起还是从尾起;

2)显示部分;

这个是按你取七段码的思路,递增时是以 0 为结束,那么为了让递减时也以 0 为结束;

因此就在前面加 0;

TAB:DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H;

所以递增时 R5=1,指向 3FH,递减时 R5=10H,指向 71H,

3)按键部分,当判断是 P3.4 按下时,就执行 MOV R5,#01H;

当判断是 P3.5 按下时,就执行 MOV R5,#10H;

温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言51单片机怎么用KEY 1控制数码管上显示的数字加1 KEY2控制数码...
1)起始部分,R5用于控制取七段码的方向,是从头起还是从尾起;2)显示部分;这个是按你取七段码的思路,递增时是以 0 为结束,那么为了让递减时也以 0 为结束;因此就在前面加 0;TAB:DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H;所以递增...

51单片机按键加减清零汇编语言编程
#00HMAIN1:CALL CONVTCALL PLAYCALL KEY_PROGJMP MAIN1KEY_PROG:CALL K_SCAN ;键扫描MOV A,K_NEWCJNE A,K_OLD,KEY_P1JMP KEY_P_ENDKEY_P1:MOV K_OLD,ACJNE A,#1, NEXT_K1AJMP LOOP1NEXT_K1:CJNE A,#2, NEXT_K2AJMP LOOP2NEXT_K2:CJNE A,#3, KEY_P_ENDAJMP L...

51单片机为基础用汇编语言编写用数码管显示一个同时有"加""减""乘...
KEYI:ACALL KS1 CJNE A,#0F0H,LK1 ACALL DIR AJMP KEYI LK1:ACALL DIR ACALL DIR ACALL KS1 CJNE A, #0F0H,LK2 ACALL DIR AJMP KEYI LK2: ACALL KS1 MOV R2,A ORL A,#0FH MOV P0,A ANL A,#0FH ADD A,R2 ;键特征值 CJNE A,#0EEH,JZHI1 MOV A,#00H PUSH ACC JZHI...

51单片机怎么让数码管显示学号?用汇编语言
数码管显示方式为动态扫描方式,当P0口送第一个数0的码型到锁存器时,P2送位选地址01H,即Y0=0,只有第一个数码管亮,显示0,其他数码管不显示。当P0口送第二个数1的码型到锁存器时,P2送位选地址02H,即Y1=0,只有第二个数码管亮,显示1,其他数码管不显示。即每次只有一个数码管点亮,8个...

51单片机汇编语言?
;P0接数码管 ;由外部中断输入三个按键。;按下1号按键,显示数码1;;按下2号按键,显示数码2;;按下3号按键,显示数码3。电路与程序,如下所示:

51单片机用键盘输入并用动态数码管显示
S3 BIT P2.6 S4 BIT P2.7 ORG 0000H MAIN:CLR 20H.0 MOV R0,#0FFH ;11111111 MOV R1,#04H ;00000100 LOOP:MOV C,20H.0 LOOP1: MOV A,R0 RRC A ;01111111-c(0)- MOV R0,A ;01111111 MOV P2,A ;01111111 MOV A,P2 ;01111101 CPL A ;10000010 ANL A,#0FH ;00000010 JNZ ...

51单片机汇编语言按键控制数码管加一加到999
对于汇编:可以定义三个存储区,如30H、31H、32H,都是十进制的,按键按下时30H加1,当加到10时,31H加1,当31H加到10时,32H加1,即可 而显示函数可以放在主函数中,将三个存储区分别扫描送出去即可 对于C语言:定义char 型最大256不行,那就定义unsigned int 就够用了,按键按下就让它++,...

51单片机按键控制数码管?
TMOD = 0x20; \/\/TMOD: timer 1, mode 2, 8-bit reload PCON = 0x80; \/\/ 数据位8、停止位1。效验位无 (11.0592M)TH1 = 0xF4; \/\/TH1: reload value for 2400@11.0592MHz TR1 = 1; \/\/启动定时器1 ES = 1; \/\/允许串口中断位 EA = 1; \/\/允许总中断位 c=...

51单片机汇编语言按键控制数码管加1加到999
思路是对的,细节描述有问题,算法描述要严谨。为什么要99时清零啊,这可能就是错误的地方了。系统初始化时,清除使用到的寄存器!!然后,当需要加1时做如下动作 寄存器a = a+1 如果寄存器a == 100,{寄存器b=b+1;寄存器a = 0} 这样就可以了,b中的1代表100,a中的1就是1 ...

单片机两位数码管显示两位数
数码管控制数据准备从哪2个口输出? 按键对应哪个口输入? 追问 追答 你的图片分辨率较低,看不清楚啊!以下是汇编程序,你自己根据管脚重新定义一下应该就行了。key1 bit p2.0key2 bit p2.1led1 bit p2.2led2 bit p2.3leddata equ p1org 0000hljmp mainorg 0030hmain:jb key1,next1setb 00hclr 01hnext...

相似回答