74hc573能夠驅動幾位共陰數碼管取決于你使用幾片74hc573,如果用兩片,一片鎖存段碼,一片鎖存位碼,就可以驅動8位數碼管。在講解74hc573驅動數碼管問題之前我們要清楚,什么是74hc573及什么是數碼管?
數碼管
數碼管是一種半導體發光器件,其基本單元是發光二極管,文章用到的是2位連體共陰數碼管。這種數碼管有8根段碼引腳和2根位碼引腳,段碼決定了顯示的是什么字符,位碼決定了哪位數碼管被點亮。對于共陰數碼管來講,位碼引腳為低電平時,相應的數碼管被點亮。
74hc573鎖存器
74HC573是擁有八路輸出的透明鎖存器,輸出為三態門,是一種高性能硅柵CMOS器件。具有8個數據輸入端、8個數據輸出端和3個控制端。1腳(OE)為輸出使能端,11腳(LE)為鎖存使能端。鎖存器的工作原理:當OE為高時,輸出為高阻態,即鎖存器不能正常工作。當OE為低且LE為高時,輸出Q將隨輸入D而變,此時鎖存器工作在直通模式下。當OE為低且LE為低時,輸出Q將不隨輸入D而變,此時鎖存器工作在鎖存模式下,輸出Q保持上一時刻數值不變。
74hc573可以驅動幾位共陰數碼管?
理論上說只要你74hc573使用得夠多,就能驅動更多的數碼管,下面來分享74hc573驅動數碼管的應用電路及程序分享
74hc573驅動2位數碼管
在程序開頭部分先定義1個數組,數組元素為數碼管的段碼:uchar+code+table[]={0x3f,0x06,0x5b,0x4f,0x66%,0x6d,0x7d,0x07,0x7f,0x6f}關鍵代碼及注釋如下。
數據拆分和顯示函數
該函數在具體實現時,不停地先送顯個位數,然后送顯十位數,即采用了數碼管動態掃描法。掃描間隔不宜太長,文章為1毫秒,用delay(1)實現這個間隔,若掃描間隔太長,會導致掃描刷新不及時,出現個位和十位交替閃爍的現象。
定時計數器的初始化及其中斷函數
結論
本電路采用單片機作為主控制器,設計了0-99循環計數并顯示的電路,采用了鎖存器實現2位數碼管動態掃描顯示。通過測試,電路工作正常
74hc573驅動4位數碼管
用74HC573驅動4位數碼管的段選,
用74HC573驅動4位數碼管的段選,如果數碼管選用共陰的, 這個電路可行。
補充: 74HC573輸出那里串接個小電阻, 再接到數碼管的段碼端。
我的數碼管是共陰的,位選就是接地,那直接接單片機就可以了。
位選接單片機P2.7, P2.6, P2.5, P2.4 。
段選接74HC573 輸出端Q0 ~ Q7 (中間最好是串個300歐左右電阻)。
74HC573 輸入端D0 ~ D7接單片機P0口。
74hc573驅動4位數碼管程序代碼
#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;
}
}
結論:經電路測試,電路工作正常
74hc573驅動6位數碼管
1.共陰數碼管的每一位(WEI1,WEI2,WEI3......)都是公共的陰極,只有輸入低電平的時候才有可能被點亮,所以位選的時候被選中的位必須是低電平。
2,選段的時候只有輸入高電平才能點亮數碼管
3,74hc573-1是控制段選的,74hc573-2是控制位選的,P2.6和P2.7端口是鎖存使能位,置高電平時鎖存器透明(即輸入和輸出相同),置低電平時鎖存
4,控制第一個數碼管顯示數字1,代碼如下:
結論:經測試,電路正常工作,無數據異常
74hc573驅動8位數碼管
程序分享
結論:電路正常工作
總結
74HC573是鎖存器,用于數碼管顯示時通常是采用段選、片選共用同一組并口的驅動方式。
驅動數碼管需要兩個信號,一個是段選信號,一個是片選信號。段選信號是固定的8個(對于普通7段數碼管),而片選信號數量是與數碼管位數相同的。對于8位數碼管的動態掃描來說,片選信號要8根線,這樣僅僅驅動數碼管就占用了2組共16個IO口,非常浪費
使用573鎖存器后,只占用8+2=10個IO口,其中2個用于控制鎖存器使能,另外8個輸出信號。先關閉控制片選信號的573芯片的鎖存功能,然后單片機輸出片選信號,隨后開啟鎖存,此時無論573的輸入端如何變化,輸出端都是不變的,也就是原來輸入的信號被鎖住了。然后,再關閉控制段選的573的鎖存功能,輸出段選信號,再鎖存,這樣就巧妙的實現了數據線的復用,讓一組IO口既輸出段選又輸出片選。
-
74HC573
+關注
關注
4文章
58瀏覽量
22782 -
共陰數碼管
+關注
關注
0文章
11瀏覽量
7892
發布評論請先 登錄
相關推薦
簡單了解一下74HC573鎖存器
74HC573驅動8位數碼管連接圖及程序代碼分享

74hc573芯片是什么類型的芯片?有什么用

74hc573驅動4位數碼管電路連接圖及程序代碼分享

評論