在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

74hc573在應用電路作用解析 74hc573驅動數碼管動態掃描

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

74HC573D是8位三態鎖存器,一般在實際應用電路中用于地址或數據的鎖存。本文主要探討了74HC573D在實際應用電路中的作用以及如何驅動數碼管動態顯示,下面就來一一介紹74HC573D。

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

鎖存器辨析

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

鎖存器的最主要作用

1:緩存、

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

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

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

鎖存器應用實例:

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

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

74hc573在應用電路作用解析 74hc573驅動數碼管動態掃描

74HC573引腳分布圖

數據鎖存

當輸入的數據消失時,在芯片的輸出端,數據仍然保持;這個概念在并行數據擴展中經常用到。

74hc573在應用電路作用解析 74hc573驅動數碼管動態掃描

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

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

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

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

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

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

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

1:OE接地

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

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

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

74hc573在電路中的實際應用

74hc573在應用電路作用解析 74hc573驅動數碼管動態掃描

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

74hc573驅動數碼管動態掃描

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

數碼管

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

74hc573在電路中應用設計

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

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

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

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

數碼管需接收逐個掃描信號,掃描到相應數碼管時,對應的段碼數據有效,即顯示這個數碼管的數值。筆者采用三線八線譯碼器74HC138來產生對應的掃描線信號。

當各個段碼均點亮時,電流約15max8=90ma流過數碼管公共端,74HC138無法直接驅動這個電流,需加三極管驅動,由于74HC138輸出低電平有效,此處只有PNP三極管適合作為驅動。三極管基極電流設為2ma即可讓三極管飽和,最大驅動電流遠大于90ma。基極偏置電阻阻值

Rb=(VCC- VEB– VOL) / IB

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

74hc573在應用電路作用解析 74hc573驅動數碼管動態掃描

四位一體數碼管原理圖

74hc573驅動實現

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

數碼管動態顯示功能實現模塊文件DigitalTubeTable.c內容如下:

#include "reg52.h"

#include"DigitalTube.h"

// 數值相對應的段碼,共陽極

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" "不亮" "-"

};

// 每個數碼管需一個字節的內存保存對應數碼管數據

static unsigned charFrameBuffer[DigitalTubeNumber];

unsigned char*DigitalTube_GetBuffer()

{

return FrameBuffer;

}

void DigitalTube_Scan()

{

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

unsigned char Code;

// 從對應選擇線中找到顯存數據,并得到相應的段碼

Code = DigitalTubeTable[FrameBuffer[Select]];

// 段碼實際輸出到數碼管接口

DigitalTube_Data(Code);

// 位選實際輸出到數碼管接口

DigitalTube_Select(Select);

Select++; // 進入到下一位選掃描

if (Select >= DigitalTubeNumber) {

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

}

}

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

#ifndef __DigitalTube_H__

#define __DigitalTube_H__

#ifdef __cplusplus

extern "C" {

#endif

// 數碼管模塊中的個數,最大為8

#define DigitalTubeNumber 4

// 輸出數碼管位選

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

// 輸出數碼管段碼

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

// 數碼管刷新函數,必須保證以一定周期調用刷新

void DigitalTube_Scan(void);

// 獲得數碼管顯存,以作顯示的數據更新

unsigned char*DigitalTube_GetBuffer(void);

#ifdef __cplusplus

}

#endif

#endif /*__DigitalTube_H__*/

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

#include"reg52.h"

#include"DigitalTube.h"

// 以定時器時間為計時標準,記錄時間間隔

static volatile unsignedint SystemTick = 0;

// 定時器2ms中斷處理進行數碼管刷新

void T0_Interrupt()interrupt 1

{

TH0 = (65536-2000) / 256;

TL0 = (65536-2000) % 256;

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

DigitalTube_Scan(); //刷新數碼管

}

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();

// 獲得數碼管顯存,以作更新數據顯示

pBuffer = DigitalTube_GetBuffer();

// 數據管顯存初始化顯示0

for (i=0; i

pBuffer[i] = 0;

}

// 開啟定時器進行計時以及數碼管刷新

TR0 = 1;

while(1) {

// SystemTick讀數到500時為1s間隔到

if (SystemTick > 500) {

SystemTick =0; // 重新計秒

// 更新數碼管秒表計數顯存

for (i=0; i

pBuffer[DigitalTubeNumber-1-i]++;

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

break; // 未到10,不用進位更新高位顯存,退出

} else {

總結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數碼管
    +關注

    關注

    32

    文章

    1882

    瀏覽量

    91125
  • 74HC573
    +關注

    關注

    4

    文章

    58

    瀏覽量

    22510
收藏 人收藏

    評論

    相關推薦

    74HC573

    74L系列芯片74HC573
    發表于 08-17 17:00

    關于74hc573焊接問題

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

    使用2個74hc573加2個74ls138驅動四個***數碼管的問題

    使用2個74hc573加2個74ls138驅動四個***數碼管的問題
    發表于 11-13 11:41

    74HC573鎖存器如何控制數碼管靜態顯示?

    74HC573鎖存器如何控制數碼管靜態顯示?
    發表于 09-29 08:30

    74HC573功能說明

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

    74HC573

    74HC573
    發表于 05-10 15:12 ?32次下載

    74HC573驅動8位數碼管連接圖及程序代碼分享

    74HC573包含八路3態輸出的非反轉透明鎖存器,筆者介紹了74hc573內部結構圖及其原理,主要給出了74HC573驅動8位數碼管連接圖和
    發表于 10-23 11:01 ?5.2w次閱讀
    <b class='flag-5'>74HC573</b><b class='flag-5'>驅動</b>8位<b class='flag-5'>數碼管</b>連接圖及程序代碼分享

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

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

    74hc573是什么_74hc573封裝

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

    基于74HC573為架構的LED數碼管應用

    基于74HC573為架構的LED數碼管應用,本文介紹了數碼管的結構及工作原理;鎖存器的作用及原理;at89c52單片機驅動led
    發表于 12-08 16:42 ?4751次閱讀

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

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

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

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

    74hc57374hc595有什么不同?該怎樣區分74hc57374hc595

    實際應用電路74hc57374hc595都可用,都可實現行掃描,看你電路怎么連接,程序如何
    的頭像 發表于 07-27 14:27 ?2.7w次閱讀
    <b class='flag-5'>74hc573</b>和<b class='flag-5'>74hc</b>595有什么不同?該怎樣區分<b class='flag-5'>74hc573</b>和<b class='flag-5'>74hc</b>595

    74hc573怎么連接數碼管74hc573連接數碼管的應用解析

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

    51單片機匯編學習例程(6)——74HC573數碼管

    6.ASM6_Seg_57374HC573鎖存器控制數碼管靜態顯示
    發表于 11-16 20:06 ?20次下載
    51單片機匯編學習例程(6)——<b class='flag-5'>74HC573</b><b class='flag-5'>數碼管</b>篇
    主站蜘蛛池模板: 亚欧一区| 久久99热精品这里久久精品| 手机看片精品国产福利盒子| 日本特黄视频| 国产成人mv 在线播放| 神马影院午夜dy888| 亚洲一区欧美一区| 高h乱肉辣文辣书阁| 特极毛片| 婷婷亚洲综合一区二区| 七月色婷婷| 小优视频在线| 国产香蕉视频在线观看| aaaaaaa欧美黄色大片| 久久久久久久久综合| 在线a人片免费观看不卡| 免费又爽又黄禁片视频在线播放| 免费aⅴ网站| 久久综合欧美| 午夜精品福利视频| 婷婷国产| 久久精品国产夜色| 五月欧美激激激综合网色播| 午夜久久久久久亚洲国产精品| 欧美一级高清片在线| v天堂网| 女bbbbxxxx另类亚洲| 一级色视频| 欧美一级特黄aa大片| 人人爽人人干| 亚洲国产高清人在线| 久久青草免费免费91线频观看| 九九草在线观看| 国产一区在线mmai| 欧美啪啪小视频| 亚洲三级色| 国产人人澡| 不卡中文字幕在线| 1000又爽又黄禁片| 亚洲jizzjizz妇女| 亚洲成a人片在线看|