多谢!我的程序如下,可以看到实现不了,请教 dai_weis 了!
ORG 00H START: DIR1: MOV DPTR,#TABLE2
DIR: MOV R0,#00H;R0是数的代码寄存器 MOV R1,#0fdH;R1是数码管选择位10111111,P21亮 NEXT: mov p0,#0ffh;清除显示 MOV P2,#0FFH;清除显示 MOV A,R0 MOVC A,@A+DPTR;取代码 MOV P0,A;送显示 MOV A,R1 MOV P2,#0FFH CALL DELAY MOV P2,A;数码管选择 INC R0;取下一个码 RL A;右移一位 MOV R1,A;取下一个数码管端口 CJNE R1,#7fh,NEXT;如果6个数送完重新开始 SJMP START;重新开始
DELAY: mov r5,#20 ;延时200MS d1:mov r6,#20 d2: mov r7,#250 djnz r7,$ djnz r6,d2 djnz r5,d1 ret
TABLE2: DB 0C0h,0F9h,0A4h,0B0h,099h,092h;显示012345 END |