
led指示的二进制数加法显示.doc
6页基于proteus仿真软件任务:按下K1键, LED指示的二进制数加1;按下K2键, LED指示的二进制数加2;按下K3键, LED指示的二进制数加3;按下K4键, LED指示的二进制数加4按键三次k1键后如图显示:K1:代表加1,按了三次后为十进制的3,换位二进制后为0011,由于当引脚输出为零的时候亮,所以为1100代码:K1 BIT P1.4K2 BIT P1.5K3 BIT P1.6K4 BIT P1.7ORG 0000HLJMP START1ORG 0060HSTART1: MOV DPTR,#TAB1 MOV A,#00H PUSH ACC START: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,LOP1 LJMP START;无按下 LOP1:ACALL DELAY;有按下 MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,LOP2 ;有效按键 LJMP START ;无效按键 LOP2:JNB ACC.4,KEY1;判断键号 JNB ACC.5,KEY2 JNB ACC.6,KEY3 JNB ACC.7,KEY4 SJMP STARTKEY1: WT1: JNB K1,WT1 POP ACC ADD A,#1 PUSH ACC MOVC A,@A+DPTR MOV P2,A LJMP STARTKEY2: WT2: JNB K2,WT2 POP ACC ADD A,#2 PUSH ACC MOVC A,@A+DPTR MOV P2,A LJMP STARTKEY3: WT3: JNB K3,WT3 POP ACC ADD A,#3 PUSH ACC MOVC A,@A+DPTR MOV P2,A LJMP STARTKEY4: WT4: JNB K4,WT4 POP ACC ADD A,#4 PUSH ACC MOVC A,@A+DPTR MOV P2,A LJMP STARTDELAY:MOV R0,#255D1:MOV R1,#255 DJNZ R1,$ DJNZ R0,D1 RET TAB1: DB 0FFH,0FEH,0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H,0F5H,0F4H,0F3H,0F2H,0F1H,0F0HEND。












