SJMP START ORG 0030H START: MOV SP,#60H MOV DPTR,#0E100H MOV A,#3 MOVX @DPTR,A LOOP:
MOV A,P1 MOV B,#10H DIV AB MOV 20H,B MOV 21H,A MOV R0,#20H MOV R1,#2 MOV R2,#1 ACALL DISPLAY
AJMP LOOP
DISPLAY:MOV A,@R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX @DPTR,A INC R0
DJNZ R1,DISPLAY
RET
P164: MOV DPTR,#TAB MOVC A,@A+DPTR P164_1: RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX @DPTR,A ORL A,#0FEH MOVX @DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8
RET
PBIT: MOV DPTR,#0E101H MOV A,R2 MOVX @DPTR,A
RL A
MOV R2,A
RET
DELAY: MOV R6,#4 DEL: MOV R7,#250 DJNZ R7,$ DJNZ R6,DEL
RET
TAB:DB
0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB
0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH
END
18. 将片内50H单元的值显示在数码管上 ORG 0000H SJMP START ORG 0030H START:
MOV SP,#60H
MOV DPTR,#0E100H MOV A,#3 MOVX @DPTR,A LOOP:
MOV A,P1 MOV B,#10H DIV AB MOV 20H,B MOV 21H,A MOV R0,#20H MOV R1,#2 MOV R2,#1 ACALL DISPLAY
AJMP LOOP
DISPLAY:MOV A,@R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX @DPTR,A INC R0
DJNZ R1,DISPLAY
RET
P164: MOV DPTR,#TAB MOVC A,@A+DPTR P164_1:
RRC A
MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX @DPTR,A ORL A,#0FEH MOVX @DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8
RET
PBIT: MOV DPTR,#0E101H MOV A,R2 MOVX @DPTR,A RL A MOV R2,A
RET
DELAY: MOV R6,#4 DEL: MOV R7,#250 DJNZ R7,$ DJNZ R6,DEL
RET
TAB:DB
0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB
0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH
END
19. 开关K1接P1.0,K2接P1.1,编程实现当按下K1时在数码管上显示50H单元的值,按下K2在数码管上显示51H单元的值 ORG 0000 SJMP START ORG 0030H
START: MOV SP,#60H
MOV DPTR,#0E100H MOV A,#3 MOVX @DPTR,A
MOV 50H,#18H ;50H,51H 随便赋两个值 MOV 51H,#22H LOOP:
JB P1.0,D50
JB P1.1,D51
SJMP LOOP D51: MOV R0,#10H
MOV R1,#2 MOV R2,#1 MOV A,51H MOV B,#10H DIV AB MOV 10H,B MOV 11H,A ACALL DISPLAY SJMP LOOP D50: MOV R0,#10H
MOV R1,#2 MOV R2,#1 MOV A,50H MOV B,#10H DIV AB MOV 10H,B MOV 11H,A ACALL DISPLAY
SJMP LOOP
DISPLAY:MOV A,@R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX @DPTR,A INC R0
DJNZ R1,DISPLAY
RET
P164:MOV DPTR,#TAB MOVC A,@A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX @DPTR,A ORL A,#0FEH MOVX @DPTR,A MOV A,R3 DJNZ 0FH,P164_1
MOV 0FH,#8
RET
PBIT:MOV DPTR,#0E101H MOV A,R2
MOVX @DPTR,A RL A MOV R2,A RET
DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$
DJNZ R6,DEL RET
TAB:DB
0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB
0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH
END