发布网友 发布时间:2022-03-22 16:19
共3个回答
热心网友 时间:2022-03-22 17:48
下面是我一次回答,直接引用过来了,希望对你有帮助!不懂可以追问哦!参考资料:http://zhidao.baidu.com/question/274962491.html
热心网友 时间:2022-03-22 19:06
这个很好理解的,既然是共阴极,就表明那些数码管的公共段接地,也就是高电平点亮,而数码管就是由7段LED发光二极管组成的,按abcdefgh排列的,排成一个8字形,你点亮那一根,就显示那一跟,只要组合点亮那几根,就可以显示相对的字符,这个你可以用火柴去试下,8根不就可以组成一个8字了吗热心网友 时间:2022-03-22 20:41
常见的数码管都是七段数码显示的,从正面观察的话,上下分别有5个管脚,上面和下面的中间那个管脚,都是公共端,你用2V的电压实验一下就可以判断了。追答8位显示都一个数吗?比如 00000000 11111111?如果是,很简单的。没什么不可外传的。我可帮你。
;11.03.26
;12M晶振 段选接P0,位选接P2,8位共阴数码管
ORG 00H
AJMP MAIN
ORG 0BH
AJMP T0INT
ORG 30H
MAIN:
MOV SP,#64H
MOV TMOD,#01H ;定时器T0工作方式1
MOV TH0,#3CH ;50MS中断一次
MOV TL0,#0B0H
MOV DPTR,#TAB
MOV R0,#20 ;中断20次为1S
MOV R1,#5 ;5S
SETB EA
SETB ET0
SETB TR0
ACALL DISP
AJMP $-2
DISP:
MOV A,30H
MOVC A,@A+DPTR
MOV P0,A ;送段码
CLR P2.0 ;开位选
ACALL D1MS ;延时1MS,消鬼影
SETB P2.0 ;关显示
CLR P2.1 ;下一位
ACALL D1MS
SETB P2.1
CLR P2.2
ACALL D1MS
SETB P2.2
CLR P2.3
ACALL D1MS
SETB P2.3
CLR P2.4
ACALL D1MS
SETB P2.4
CLR P2.5
ACALL D1MS
SETB P2.5
CLR P2.6
ACALL D1MS
SETB P2.6
CLR P2.7
ACALL D1MS
SETB P2.7
RET
T0INT:
MOV TH0,#3CH ;重新加载定时常数
MOV TL0,#0B0H
DJNZ R0,RTI
MOV R0,#20
DJNZ R1,RTI
MOV R1,#5
INC 30H
MOV A,30H
CJNE A,#11,RTI
CLR EA
SETB P2.0
SETB P2.1
SETB P2.2
SETB P2.3
RTI:
RETI
D1MS:
MOV R7,#5
MOV R6,#100
DJNZ R6,$
DJNZ R7,$-4
RET
TAB:
DB 0FFH;全亮
DB 03FH;0
DB 006H;1
DB 05BH;2
DB 04FH;3
DB 066H;4
DB 06DH;5
DB 07DH;6
DB 007H;7
DB 07FH;8
DB 06FH;9
END