ORG 0000H AJMP START ORG 0020H Table: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,07FH,0FFH ORG 0040H START: MOV DPH,#00H ;设置 7段 码表格首址 MOV DPL,#20H MOV P2,#0FFH MOV P0,#0FFH ;关闭所有共阳7段LED LCALL DL1ms MOV P0,#00H ;锁存8个74LS373 LCALL DL1ms Again: NOP;; 循环第1,2,3三只 7段LED, 内容位各自的序号,其它LED关闭 MOV R2,#05H MOV R1,#04H MOV R0,#10H ;P0只作输出用,为避免读P0口,复位时用R0代表选通哪一位7段数码管 LuuP: MOV A,R2 MOVC A,@A+DPTR ; 查表得显示内容 MOV P2,A MOV A,R0 MOV P0,A ;将内容(1~3)送到对应序号的7段LED,其它LED保持各自先前的内容 LCALL DL1ms MOV P0,#00H LCALL DL1ms MOV A,R0 RL A ;;调整/设置下一个LED的序号 MOV R0,A INC R2 ;;将下一个LED显示内容调整为自己在1~3个LED中所对应的序号 DJNZ R1,LuuP SJMP Again ;;************************************ DL1ms: MOV R6, #250 DL1ms1: DJNZ R6, DL1ms1 RET DL10ms: MOV R7,#10 DL10ms2: MOV R6, #250 DL10ms1: DJNZ R6, DL10ms1 RET end