1.
如图13所示,使用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。在数码管上循环显现0-9数字,时刻距离0.2秒。
2.
把“单片机体系”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显现模块”区域中的任一个数码管的a-h端口上;要求:P0.0/AD0与a相连,P0.1/AD1与b相连,P0.2/AD2与c相连,……,P0.7/AD7与h相连。
4.
(1.LED数码显现原理
七段LED显现器内部由七个条形发光二极管和一个小圆点发光二极管组成,依据各管的极管的接线方法,可分红共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能构成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表2
“0”
3FH
“8”
7FH
“1”
06H
“9”
6FH
“2”
5BH
“A”
77H
“3”
4FH
“b”
7CH
“4”
66H
“C”
39H
“5”
6DH
“d”
5EH
“6”
7DH
“E”
79H
“7”
07H
“F”
71H
(2.因为显现的数字0-9的字形码没有规则可循,只能选用查表的方法来完结咱们所需的要求了。这样咱们按着数字0-9的次序,把每个数字的笔段代码按次序排好!树立的表格如下所示:TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
ORG0
START:MOVR1,#00H
NEXT:MOVA,R1
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
INCR1
CJNER1,#10,NEXT
LJMPSTART
DELAY:MOVR5,#20
D2:MOVR6,#20
D1:MOVR7,#248
DJNZR7,$
DJNZR6,D1
DJNZR5,D2
RET
TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
7.
#include
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsignedchardispcount;
voiddelay02s(void)
{
unsignedchari,j,k;
for(i=20;i>0;i–)
for(j=20;j>0;j–)
for(k=248;k>0;k–);
}
voidmain(void)
{
while(1)
{
for(dispcount=0;dispcount<10;dispcount++)
{
P0=table[dispcount];
delay02s();
}
}
}