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