在proteus8.9 的仿真电路如下
开发板数码管模块的原理图,如下
开发板实际效果图
由于仿真软件中的八位数码管第一位是在左边,而开发板的第一位在最右边 所以就照成了数码值的逆序,实际使用仅需需修改代码的位选即可。
多位数码管显示的步骤
1. 位选 。 P2.2 P2.3 P2.4 连接在译码器上,通过译码器进行位选
2. 段选,参照共阴数码管的段码表
3 .消影
;数码管显示三个步骤 ;1 位选P2.2 P2.3 P2.4 连接在译码器上 ;2 段选,参照共阴数码管的段码表 ;3 消影 MAIN: MOV P2,#00000000B ;位选 MOV P0,#06H ;段选.显示数码1 LCALL DELAY2MS ;延时消影 MOV P0,#00H ;延时消影 MOV P2,#00000100B ;位2 MOV P0,#5BH ;显示2 LCALL DELAY2MS MOV P0,#00H MOV P2,#00001000B ;3 MOV P0,#4FH LCALL DELAY2MS MOV P0,#00H MOV P2,#00001100B ;4 MOV P0,#66H LCALL DELAY2MS MOV P0,#00H MOV P2,#00010000B ;5 MOV P0,#6DH LCALL DELAY2MS MOV P0,#00H MOV P2,#00010100B ;6 MOV P0,#7DH LCALL DELAY2MS MOV P0,#00H MOV P2,#00011000B ;7 MOV P0,#07H LCALL DELAY2MS MOV P0,#00H MOV P2,#00011100B ;8 MOV P0,#7FH LCALL DELAY2MS MOV P0,#00H SJMP MAIN DELAY2MS: ;@11.0592MHz NOP PUSH 30H PUSH 31H MOV 30H,#4 MOV 31H,#141 NEXT: DJNZ 31H,NEXT DJNZ 30H,NEXT POP 31H POP 30H RET END