74hc573能夠驅動幾位共陰數(shù)碼管取決于你使用幾片74hc573,如果用兩片,一片鎖存段碼,一片鎖存位碼,就可以驅動8位數(shù)碼管。在講解74hc573驅動數(shù)碼管問題之前我們要清楚,什么是74hc573及什么是數(shù)碼管?
數(shù)碼管
數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管,文章用到的是2位連體共陰數(shù)碼管。這種數(shù)碼管有8根段碼引腳和2根位碼引腳,段碼決定了顯示的是什么字符,位碼決定了哪位數(shù)碼管被點亮。對于共陰數(shù)碼管來講,位碼引腳為低電平時,相應的數(shù)碼管被點亮。
74hc573鎖存器
74HC573是擁有八路輸出的透明鎖存器,輸出為三態(tài)門,是一種高性能硅柵CMOS器件。具有8個數(shù)據(jù)輸入端、8個數(shù)據(jù)輸出端和3個控制端。1腳(OE)為輸出使能端,11腳(LE)為鎖存使能端。鎖存器的工作原理:當OE為高時,輸出為高阻態(tài),即鎖存器不能正常工作。當OE為低且LE為高時,輸出Q將隨輸入D而變,此時鎖存器工作在直通模式下。當OE為低且LE為低時,輸出Q將不隨輸入D而變,此時鎖存器工作在鎖存模式下,輸出Q保持上一時刻數(shù)值不變。
74hc573可以驅動幾位共陰數(shù)碼管?
理論上說只要你74hc573使用得夠多,就能驅動更多的數(shù)碼管,下面來分享74hc573驅動數(shù)碼管的應用電路及程序分享
74hc573驅動2位數(shù)碼管
在程序開頭部分先定義1個數(shù)組,數(shù)組元素為數(shù)碼管的段碼:uchar+code+table[]={0x3f,0x06,0x5b,0x4f,0x66%,0x6d,0x7d,0x07,0x7f,0x6f}關鍵代碼及注釋如下。
數(shù)據(jù)拆分和顯示函數(shù)
該函數(shù)在具體實現(xiàn)時,不停地先送顯個位數(shù),然后送顯十位數(shù),即采用了數(shù)碼管動態(tài)掃描法。掃描間隔不宜太長,文章為1毫秒,用delay(1)實現(xiàn)這個間隔,若掃描間隔太長,會導致掃描刷新不及時,出現(xiàn)個位和十位交替閃爍的現(xiàn)象。
定時計數(shù)器的初始化及其中斷函數(shù)
結論
本電路采用單片機作為主控制器,設計了0-99循環(huán)計數(shù)并顯示的電路,采用了鎖存器實現(xiàn)2位數(shù)碼管動態(tài)掃描顯示。通過測試,電路工作正常
74hc573驅動4位數(shù)碼管
用74HC573驅動4位數(shù)碼管的段選,
用74HC573驅動4位數(shù)碼管的段選,如果數(shù)碼管選用共陰的, 這個電路可行。
補充: 74HC573輸出那里串接個小電阻, 再接到數(shù)碼管的段碼端。
我的數(shù)碼管是共陰的,位選就是接地,那直接接單片機就可以了。
位選接單片機P2.7, P2.6, P2.5, P2.4 。
段選接74HC573 輸出端Q0 ~ Q7 (中間最好是串個300歐左右電阻)。
74HC573 輸入端D0 ~ D7接單片機P0口。
74hc573驅動4位數(shù)碼管程序代碼
在proteus中用74hc573,做數(shù)碼管顯示的仿真。
#include《reg52.h》
#include《intrins.h》
#define uint unsigned int
#define uchar unsigned char
void delay(uint z);
uchar temp,aa,numdu,numwe,bai,shi,ge;
uint shu;
void init();
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f , 0x06 , 0x5b , 0x4f ,
0x66 , 0x6d , 0x7d ,
0x07, 0x7f , 0x6f ,
0x77, 0x7c , 0x39 ,0x5e ,0x79 ,
0x71 ,0x00
};
void display(uchar bai,uchar shi,uchar ge);
void main()
{
shu=219;
init();
while(1)
{
display(bai,shi,ge);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x》0;x--)
for(y=110;y》0;y--);
}
void display(uchar bai,uchar shi,uchar ge)
{
wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=table[bai];
dula=0;
delay(1);
wela=1;
P0=0xfd;
wela=0;
dula=1;
P0=table[shi];
dula=0;
delay(1);
wela=1;
P0=0xfb;
wela=0;
dula=1;
P0=table[ge];
dula=0;
delay(1);
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
voidTImer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==2)
{
aa=0;
shu--;
if(shu==10)
{
TR0=0;
ET0=0;
}
bai=shu/100;
shi=shu%100/10;
ge=shu%10;
}
}
結論:經(jīng)電路測試,電路工作正常
74hc573驅動6位數(shù)碼管
1.共陰數(shù)碼管的每一位(WEI1,WEI2,WEI3......)都是公共的陰極,只有輸入低電平的時候才有可能被點亮,所以位選的時候被選中的位必須是低電平。
2,選段的時候只有輸入高電平才能點亮數(shù)碼管
3,74hc573-1是控制段選的,74hc573-2是控制位選的,P2.6和P2.7端口是鎖存使能位,置高電平時鎖存器透明(即輸入和輸出相同),置低電平時鎖存
4,控制第一個數(shù)碼管顯示數(shù)字1,代碼如下:
結論:經(jīng)測試,電路正常工作,無數(shù)據(jù)異常
74hc573驅動8位數(shù)碼管
程序分享
結論:電路正常工作
總結
74HC573是鎖存器,用于數(shù)碼管顯示時通常是采用段選、片選共用同一組并口的驅動方式。
驅動數(shù)碼管需要兩個信號,一個是段選信號,一個是片選信號。段選信號是固定的8個(對于普通7段數(shù)碼管),而片選信號數(shù)量是與數(shù)碼管位數(shù)相同的。對于8位數(shù)碼管的動態(tài)掃描來說,片選信號要8根線,這樣僅僅驅動數(shù)碼管就占用了2組共16個IO口,非常浪費
使用573鎖存器后,只占用8+2=10個IO口,其中2個用于控制鎖存器使能,另外8個輸出信號。先關閉控制片選信號的573芯片的鎖存功能,然后單片機輸出片選信號,隨后開啟鎖存,此時無論573的輸入端如何變化,輸出端都是不變的,也就是原來輸入的信號被鎖住了。然后,再關閉控制段選的573的鎖存功能,輸出段選信號,再鎖存,這樣就巧妙的實現(xiàn)了數(shù)據(jù)線的復用,讓一組IO口既輸出段選又輸出片選。
-
74HC573
+關注
關注
4文章
58瀏覽量
22542 -
共陰數(shù)碼管
+關注
關注
0文章
11瀏覽量
7840
發(fā)布評論請先 登錄
相關推薦
評論