0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

74hc573在應(yīng)用電路作用解析 74hc573驅(qū)動數(shù)碼管動態(tài)掃描

ss ? 作者:工程師譚軍 ? 2018-07-28 10:19 ? 次閱讀

74HC573D是8位三態(tài)鎖存器,一般在實(shí)際應(yīng)用電路中用于地址或數(shù)據(jù)的鎖存。本文主要探討了74HC573D在實(shí)際應(yīng)用電路中的作用以及如何驅(qū)動數(shù)碼管動態(tài)顯示,下面就來一一介紹74HC573D。

大家都知道74HC573D是一種鎖存器,那么鎖存器是干嘛用的呢?

鎖存器辨析

所謂鎖存器,就是輸出端的狀態(tài)不會隨輸入端的狀態(tài)變化而變化,僅在有鎖存信號時輸入的狀態(tài)被保存到輸出,直到下一個鎖存信號到來時才改變。典型的鎖存器邏輯電路是 D 觸發(fā)器電路。 PS:鎖存信號(即對LE賦高電平時Data端的輸入信號)。鎖存,就是把信號暫存以維持某種電平狀態(tài)。

鎖存器的最主要作用

1:緩存、

2:完成高速的控制其與慢速的外設(shè)的不同步問題、

3:是解決驅(qū)動的問題(提供的電流比51IO口輸出電流大)

4:拓展I/O口(可以很猥瑣的用鎖存器冪疊加方法,即鎖存器的Q再接鎖存器~ 實(shí)現(xiàn)IO口的無限拓展···)

鎖存器應(yīng)用實(shí)例:

I/O口復(fù)用:當(dāng)單片機(jī)連接片外存儲器時,要接上鎖存器,這是為了實(shí)現(xiàn)地址的復(fù)用。假設(shè),MCU 端口其中的 8 路的 I/O 管腳既要用于地址信號又要用于數(shù)據(jù)信號,這時就可以用鎖存器先將地址鎖存起來。(具體操作:先送地址信息,由ALE使能鎖存器將地址信息鎖存在外設(shè)的地址端,然后送數(shù)據(jù)信息和讀寫使能信號,在指定的地址進(jìn)行讀寫操作)

如果單片機(jī)的總線接口只作一種用途,不需要接鎖存器;如果單片機(jī)的總線接口要作兩種用途,就要用到鎖存器。例如:一個I/O口要控制兩個 LED,對第一個 LED 送數(shù)據(jù)時,“打開”第一個鎖存器而“鎖住”第二個鎖存器,使第二個 LED 上的數(shù)據(jù)不變。對第二個 LED 送數(shù)據(jù)時,“打開”第二個鎖存器而“鎖住”第一個鎖存器,使第一個 LED 上的數(shù)據(jù)不變。如果單片機(jī)的一個口要做三種用途,則可用三個鎖存器,操作過程相似。就這一種用法而言,可以把鎖存器視為單片機(jī)的 I/O 口的擴(kuò)展器。

74hc573在應(yīng)用電路作用解析 74hc573驅(qū)動數(shù)碼管動態(tài)掃描

74HC573引腳分布圖

數(shù)據(jù)鎖存

當(dāng)輸入的數(shù)據(jù)消失時,在芯片的輸出端,數(shù)據(jù)仍然保持;這個概念在并行數(shù)據(jù)擴(kuò)展中經(jīng)常用到。

74hc573在應(yīng)用電路作用解析 74hc573驅(qū)動數(shù)碼管動態(tài)掃描

由上邊這個真值表可以看出:OE為高時,輸出始終為高阻態(tài),此時芯片處于不可控制狀態(tài),所以在一般應(yīng)用中,我們必須將OE接低電平。

LE則是輸出端狀態(tài)改變使能端,當(dāng)LE為低電平,輸出端Q始終保持上一次存儲的信號(從D端輸入),當(dāng)LE為高電平時,Q緊隨D的狀態(tài)變化,并將D的狀態(tài)鎖存。

也就是說當(dāng)鎖存使能端LE為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。

另外:對鎖存器的輸入是和標(biāo)準(zhǔn) CMOS 輸出兼容的;若再加上上拉電阻,他們能和 LS/ALSTTL 輸出兼容。

鎖存器的電路連接及使用詳解:

(結(jié)合上面的鎖存器引腳說明)

0:vcc gnd 供電不用多說吧?

1:OE接地

2:D0-D7接我們的信號發(fā)射端 (一般為單片機(jī)用來傳輸數(shù)據(jù)的I/O口)

3:Q0-Q7接我們要接受信息的終端(數(shù)碼管,液晶,or anyother device)

4:LE接一個I/O口(此I/O腳可視為鎖存器 鎖存功能 的開關(guān),高電平為更新Q端信號(要更新的信號從D輸入)低電平則不更新)

74hc573在電路中的實(shí)際應(yīng)用

74hc573在應(yīng)用電路作用解析 74hc573驅(qū)動數(shù)碼管動態(tài)掃描

在這里就以脈沖數(shù)據(jù)采集電路為例,如上圖所示,采用AT89S52與兩個74HC573鎖存器傳輸信息使用,AT89S52具有低功耗、高性能、8K字節(jié)的Flash及32位I/O口線、全雙工串行通信口等優(yōu)點(diǎn)。其中U10鎖存器做位選功能,U9鎖存器做段選功能,這樣就可以有效擴(kuò)展AT89S52單片機(jī)P2的I/O端口,使程序控制信息與脈沖數(shù)據(jù)信息在傳輸過程中能夠非常有效的控制,這為多路脈沖數(shù)據(jù)的采集提供了重要的基礎(chǔ)。

74hc573驅(qū)動數(shù)碼管動態(tài)掃描

數(shù)碼管由于發(fā)光亮度強(qiáng),指示效果好,非常適合于電梯樓層等數(shù)值顯示應(yīng)用中。對于一位數(shù)碼管,可以采用靜態(tài)顯示,但實(shí)際應(yīng)用中都是需要顯示多位數(shù)值,數(shù)碼管模塊也只能動態(tài)顯示。在實(shí)際應(yīng)用電路中,74hc573驅(qū)動數(shù)碼管中都不是簡單的直連就可以的,這個需要分具體應(yīng)用場景。具體情形則要看是仿真,還是實(shí)物。仿真,74HC573是可以直接連接數(shù)碼管的。實(shí)物,是不可以的,數(shù)碼管的每一段,都必須串聯(lián)一個限流電阻。在這里我們僅僅討論74hc573在數(shù)碼管動態(tài)顯示中的連接。

數(shù)碼管

數(shù)碼管由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只引出它們的各個筆劃,公共電極。數(shù)碼管實(shí)際上是由七個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。數(shù)碼管根據(jù)內(nèi)部接法又可分成共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管(如下圖SM*10501),共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管如下圖(SM*20501)。以共陽數(shù)碼管為例,要想顯示數(shù)字2,需把A、B、G、E、D段點(diǎn)亮,即公共端接上正電源,ABGED段陰極拉低,其余段拉高即可顯示數(shù)字2。

74hc573在電路中應(yīng)用設(shè)計

此處以四位一體共陽數(shù)碼管顯示為例講解其大概設(shè)計。

微控制器的IO口均不能流過過大的電流,LED點(diǎn)亮?xí)r有約10ms的電流,因此數(shù)碼管的段碼輸出不要直接接單片機(jī)IO口,應(yīng)先經(jīng)過一個緩沖器74HC573。單片機(jī)IO口只需很小的電流控制74HC573即可間接的控制數(shù)碼管段的顯示,而74HC573輸出也能負(fù)載約10ms的電流。設(shè)置數(shù)碼管段的驅(qū)動電流為ID=15ma,這個電流點(diǎn)亮度好,并且有一定的裕度,即使電源輸出電壓偏高也不會燒毀LED,限流電阻值

R = (VCC- VCE– VOL– VLED) / ID

VCC為5v供電,VCE為三極管C、E間飽和電壓,估為0.2v, VOL為74hc573輸出低電平時電壓,不同灌電流,此值不一樣,估為0.2v,具體查看規(guī)格書,VLED為紅光驅(qū)動電壓,估為1.7v,根據(jù)上式可算出限流電阻為R = 200R。

數(shù)碼管需接收逐個掃描信號,掃描到相應(yīng)數(shù)碼管時,對應(yīng)的段碼數(shù)據(jù)有效,即顯示這個數(shù)碼管的數(shù)值。筆者采用三線八線譯碼器74HC138來產(chǎn)生對應(yīng)的掃描線信號。

當(dāng)各個段碼均點(diǎn)亮?xí)r,電流約15max8=90ma流過數(shù)碼管公共端,74HC138無法直接驅(qū)動這個電流,需加三極管驅(qū)動,由于74HC138輸出低電平有效,此處只有PNP三極管適合作為驅(qū)動。三極管基極電流設(shè)為2ma即可讓三極管飽和,最大驅(qū)動電流遠(yuǎn)大于90ma?;鶚O偏置電阻阻值

Rb=(VCC- VEB– VOL) / IB

VCC為5v供電,VEB為三極管E、B間的導(dǎo)通電壓0.7v,VOL為74hc138輸出低電平時電壓,可根據(jù)規(guī)格書估為0.3v,故Rb= 2k即可。

74hc573在應(yīng)用電路作用解析 74hc573驅(qū)動數(shù)碼管動態(tài)掃描

四位一體數(shù)碼管原理圖

74hc573驅(qū)動實(shí)現(xiàn)

數(shù)碼管段碼接P0口,位碼接P2口第0~2位。對于LED顯示器都是有一個刷新頻率的,同樣對于數(shù)碼碼動態(tài)掃描也需要一個掃描頻率。掃描頻率下限為50HZ,低于一定的掃描頻率,顯示會閃爍。頻率過高,則亮度較差且占用cpu資源。一般整個數(shù)碼管掃描一遍時間為約10ms較合適(即掃描頻率100HZ),我們用的是四位數(shù)碼管,每個數(shù)碼管點(diǎn)亮?xí)r間為2ms,掃描一遍時間為8ms。為保證這個刷新頻率,通過是通過定時器來周期性進(jìn)行數(shù)碼管刷新。筆者在此以四位一體數(shù)碼管實(shí)現(xiàn)秒表計數(shù)顯示為例來作代碼開發(fā)。

數(shù)碼管動態(tài)顯示功能實(shí)現(xiàn)模塊文件DigitalTubeTable.c內(nèi)容如下:

#include "reg52.h"

#include"DigitalTube.h"

// 數(shù)值相對應(yīng)的段碼,共陽極

static unsigned char codeDigitalTubeTable[12]= { // 共陽LED段碼表

0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90, 0xff, 0xbf

//"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-"

};

// 每個數(shù)碼管需一個字節(jié)的內(nèi)存保存對應(yīng)數(shù)碼管數(shù)據(jù)

static unsigned charFrameBuffer[DigitalTubeNumber];

unsigned char*DigitalTube_GetBuffer()

{

return FrameBuffer;

}

void DigitalTube_Scan()

{

static unsigned char Select = 0; // 記錄掃描的選擇線

unsigned char Code;

// 從對應(yīng)選擇線中找到顯存數(shù)據(jù),并得到相應(yīng)的段碼

Code = DigitalTubeTable[FrameBuffer[Select]];

// 段碼實(shí)際輸出到數(shù)碼管接口

DigitalTube_Data(Code);

// 位選實(shí)際輸出到數(shù)碼管接口

DigitalTube_Select(Select);

Select++; // 進(jìn)入到下一位選掃描

if (Select >= DigitalTubeNumber) {

Select = 0; // 所有數(shù)碼管已掃描,從第一個數(shù)碼管再次開始掃描

}

}

我們在數(shù)碼管模塊頭文件DigitalTube.h中實(shí)現(xiàn)模塊的接口訪問宏實(shí)現(xiàn),使之方便移植及修改接口配置。模塊頭文件同時也引出模塊的接口函數(shù),void DigitalTube_Scan(void)為數(shù)碼管刷新函數(shù),需周期性調(diào)用刷新數(shù)碼管顯示。unsigned char *DigitalTube_GetBuffer(void)用來獲得數(shù)碼管顯存,從而更新數(shù)碼管顯存數(shù)據(jù)。其內(nèi)容如下:

#ifndef __DigitalTube_H__

#define __DigitalTube_H__

#ifdef __cplusplus

extern "C" {

#endif

// 數(shù)碼管模塊中的個數(shù),最大為8

#define DigitalTubeNumber 4

// 輸出數(shù)碼管位選

#defineDigitalTube_Select(Select) {P2 = (P2&0xf8) + (Select);}

// 輸出數(shù)碼管段碼

#define DigitalTube_Data(Dat) {P0 =(Dat);}

// 數(shù)碼管刷新函數(shù),必須保證以一定周期調(diào)用刷新

void DigitalTube_Scan(void);

// 獲得數(shù)碼管顯存,以作顯示的數(shù)據(jù)更新

unsigned char*DigitalTube_GetBuffer(void);

#ifdef __cplusplus

}

#endif

#endif /*__DigitalTube_H__*/

外部模塊通過引入數(shù)碼管的模塊頭文件DigitalTube.h來實(shí)現(xiàn)調(diào)用數(shù)碼管驅(qū)動函數(shù),簡單測試調(diào)用(秒表數(shù)碼管顯示計數(shù))實(shí)現(xiàn)如下:

#include"reg52.h"

#include"DigitalTube.h"

// 以定時器時間為計時標(biāo)準(zhǔn),記錄時間間隔

static volatile unsignedint SystemTick = 0;

// 定時器2ms中斷處理進(jìn)行數(shù)碼管刷新

void T0_Interrupt()interrupt 1

{

TH0 = (65536-2000) / 256;

TL0 = (65536-2000) % 256;

SystemTick++; // 記錄時間間隔

DigitalTube_Scan(); //刷新數(shù)碼管

}

void T0_Init()

{

TMOD = 0x01; // 定時器0工作方式1

// 2ms計時中斷(12M)

TH0 = (65536-2000) / 256;

TL0 = (65536-2000) % 256;

ET0 = 1; // 定時器T0中斷允許

EA = 1; // 總中斷允許

}

void main()

{

unsigned char *pBuffer;

unsigned char i;

// 定時器初始化

T0_Init();

// 獲得數(shù)碼管顯存,以作更新數(shù)據(jù)顯示

pBuffer = DigitalTube_GetBuffer();

// 數(shù)據(jù)管顯存初始化顯示0

for (i=0; i

pBuffer[i] = 0;

}

// 開啟定時器進(jìn)行計時以及數(shù)碼管刷新

TR0 = 1;

while(1) {

// SystemTick讀數(shù)到500時為1s間隔到

if (SystemTick > 500) {

SystemTick =0; // 重新計秒

// 更新數(shù)碼管秒表計數(shù)顯存

for (i=0; i

pBuffer[DigitalTubeNumber-1-i]++;

if (pBuffer[DigitalTubeNumber-1-i] <10) {

break; // 未到10,不用進(jìn)位更新高位顯存,退出

} else {

總結(jié)

對于74hc573鎖存器來說,在實(shí)際的應(yīng)用電路中,如果單片機(jī)的總線接口只作一種用途,不需要接鎖存器;如果單片機(jī)的總線接口要作兩種用途,就要用兩個鎖存器。對于74hc573的介紹就到這里了,希望此文能對你有所幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1889

    瀏覽量

    92259
  • 74HC573
    +關(guān)注

    關(guān)注

    4

    文章

    58

    瀏覽量

    22842
收藏 7人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    74HC573

    74L系列芯片74HC573
    發(fā)表于 08-17 17:00

    關(guān)于74hc573焊接問題

    我用74hc573做個板子,通上電之后,手指放到 上邊數(shù)碼管就亮,挪動就不亮,這是為什么求救
    發(fā)表于 12-03 18:11

    使用2個74hc573加2個74ls138驅(qū)動四個***數(shù)碼管的問題

    使用2個74hc573加2個74ls138驅(qū)動四個***數(shù)碼管的問題
    發(fā)表于 11-13 11:41

    74HC573鎖存器如何控制數(shù)碼管靜態(tài)顯示?

    74HC573鎖存器如何控制數(shù)碼管靜態(tài)顯示?
    發(fā)表于 09-29 08:30

    74HC573功能說明

    74HC573功能說明。
    發(fā)表于 03-23 17:05 ?0次下載

    74HC573

    74HC573。
    發(fā)表于 05-10 15:12 ?32次下載

    74HC573驅(qū)動8位數(shù)碼管連接圖及程序代碼分享

    74HC573包含八路3態(tài)輸出的非反轉(zhuǎn)透明鎖存器,筆者介紹了74hc573內(nèi)部結(jié)構(gòu)圖及其原理,主要給出了74HC573驅(qū)動8位數(shù)碼管連接圖和
    發(fā)表于 10-23 11:01 ?5.4w次閱讀
    <b class='flag-5'>74HC573</b><b class='flag-5'>驅(qū)動</b>8位<b class='flag-5'>數(shù)碼管</b>連接圖及程序代碼分享

    74hc573驅(qū)動4位數(shù)碼管電路連接圖及程序代碼分享

    74HC573是擁有八路輸出的透明鎖存器,輸出為三態(tài)門,是一種高性能硅柵CMOS器件。用74HC573驅(qū)動4位數(shù)碼管的段選,用74HC573
    發(fā)表于 11-17 09:18 ?4.4w次閱讀
    <b class='flag-5'>74hc573</b><b class='flag-5'>驅(qū)動</b>4位<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>電路</b>連接圖及程序代碼分享

    74hc573是什么_74hc573封裝

    /ALSTTL輸出兼容。 74HC573的八個鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時,Q 輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時, 新的數(shù)據(jù)也可以置入。這種電路
    發(fā)表于 11-27 12:24 ?1.5w次閱讀

    基于74HC573為架構(gòu)的LED數(shù)碼管應(yīng)用

    基于74HC573為架構(gòu)的LED數(shù)碼管應(yīng)用,本文介紹了數(shù)碼管的結(jié)構(gòu)及工作原理;鎖存器的作用及原理;at89c52單片機(jī)驅(qū)動led
    發(fā)表于 12-08 16:42 ?4982次閱讀

    74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應(yīng)用電路

    本文介紹了74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應(yīng)用電路),74HC573的八個鎖存器都是透明的D型鎖存器,當(dāng)使能(G)為高時,Q輸出將隨數(shù)據(jù)(D)輸
    發(fā)表于 12-08 17:10 ?32.8w次閱讀
    <b class='flag-5'>74hc573</b>使用方法(<b class='flag-5'>74hc573</b>引腳圖及功能_工作原理_封裝尺寸及應(yīng)<b class='flag-5'>用電路</b>)

    74hc573怎么使用 74hc573可以仿真嗎

    本文主要探討了關(guān)于74hc573的使用方法以及74hc573能否仿真的問題。
    的頭像 發(fā)表于 07-26 15:48 ?1.7w次閱讀
    <b class='flag-5'>74hc573</b>怎么使用 <b class='flag-5'>74hc573</b>可以仿真嗎

    74hc57374hc595有什么不同?該怎樣區(qū)分74hc57374hc595

    實(shí)際應(yīng)用電路74hc57374hc595都可用,都可實(shí)現(xiàn)行掃描,看你電路怎么連接,程序如何
    的頭像 發(fā)表于 07-27 14:27 ?2.8w次閱讀
    <b class='flag-5'>74hc573</b>和<b class='flag-5'>74hc</b>595有什么不同?該怎樣區(qū)分<b class='flag-5'>74hc573</b>和<b class='flag-5'>74hc</b>595

    74hc573怎么連接數(shù)碼管?74hc573連接數(shù)碼管的應(yīng)用解析

    事實(shí)上實(shí)際應(yīng)用電路中,74hc573連接數(shù)碼管都不是簡單的直連就可以的,這個需要分具體應(yīng)用場景。
    的頭像 發(fā)表于 07-27 16:48 ?2.4w次閱讀
    <b class='flag-5'>74hc573</b>怎么連接<b class='flag-5'>數(shù)碼管</b>?<b class='flag-5'>74hc573</b>連接<b class='flag-5'>數(shù)碼管</b>的應(yīng)用<b class='flag-5'>解析</b>

    51單片機(jī)匯編學(xué)習(xí)例程(6)——74HC573數(shù)碼管

    6.ASM6_Seg_57374HC573鎖存器控制數(shù)碼管靜態(tài)顯示
    發(fā)表于 11-16 20:06 ?20次下載
    51單片機(jī)匯編學(xué)習(xí)例程(6)——<b class='flag-5'>74HC573</b><b class='flag-5'>數(shù)碼管</b>篇

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品