用单片机怎么控制二位共阳数码管?我这个两边都是一样的,怎么控制二位共阳数码管呀,我这个两边都是一样的,求指导
,难道老师连这个也未教?,程序在哪里?
第一:好好看看你的数码管的管脚,共十脚,为什么呢?每个数码管的八个LED的阴极——八个脚,另外两脚就是每个数码管的共阳了,电路如图
看清楚了,这两个数码管的阴极是并联在一起的,所以你给段码后,两个数码管显示内容当然是一样的!
这样做对新手是很难的,但节约了单片机的IO口啊——10个IO口控制两个数码管,12个IO口可以控制四个数码管……用的数码管越多,节约的IO口就越多。
第二:这样的数码管显示方法是:利用视觉暂留现象,开一个数码管,显示一下,就关了,马上开另一个数码管,人眼还没有感觉第一个数码管已经关了,第二个又开了,人就认为——是认为,两个数码管都是亮的,四个、八个数码管都是这样显示的举个例子程序吧:
假设:上面这两个数码管是这样和单片机连接的:ABCDEFG和DP接在P0口,A在最低位,DP在最高位;DIG1、DIG2分别接在P20、P21上,那么,显示子函数应该是这样的:
void XS(void)//显示子函数
{
DIG1=1;//开第一个数码管
P0=0x55;//这个0x55是我随便写的,表示你要显示的第一个内容
void Delay10ms();//软件延时
DIG1=0;//关第一个数码管
DIG2=1;//开第二个数码管
P0=0xaa;//这个0xaa是我随便写的,表示你要显示的第一个内容
void Delay10ms();//软件延时
DIG2=0;//关第二个数码管
}
你试试看
,只要懂得引脚与数码管字面上之间的关系,想用什么电路控制都行,
HC6800-ES-V2.0 发表于 2019-3-9 14:43
程序在哪里?
第一:好好看看你的数码管的管脚,共十脚,为什么呢?每个数码管的八个LED的阴极——八个脚 …
可以了,多谢指点
,把8个引脚分别接上单片机,编程把一个一个引脚的送低电平,就可以试出来了,
字符
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
数值
|
0xC0
|
0xF9
|
0xA4
|
0xB0
|
0x99
|
0x92
|
0x82
|
0xF8
|
字符
|
8
|
9
|
A
|
B
|
C
|
D
|
E
|
F
|
数值
|
0x80
|
0x90
|
0x88
|
0x83
|
0xC6
|
0xA1
|
0x86
|
0x8E
|
共阳com口接5V,abcdefg接Px.0-Px.7(x可以为0,1,2…),利用上面的真值表,配置Px就可以得到不同的显示效果,dp是小数点的效果,要想得到动态的数码管,要用定时器中断,不断刷新数码管显示。
,用电源引线,串电阻,一对对引脚测试,就能找出来,请问 单片机89C51接 这个共阳数码管 的话是不是要在8个端口都接上大约200Ω的电阻,
LTX~LTX 发表于 2019-3-9 18:54
可以了,多谢指点
延时要多少啊?