當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]在學(xué)習(xí)51單片機(jī)控制LED點(diǎn)陣的時(shí)候碰到74HC595芯片,大學(xué)學(xué)的數(shù)電知識(shí)忘了差不多了,就在網(wǎng)上搜了一些資料,看到這篇寫的不錯(cuò),把大部分文章轉(zhuǎn)過(guò)來(lái),最后面是我的開(kāi)發(fā)板里的程序資料。下面是正文:這個(gè)夏季學(xué)習(xí)semiok

在學(xué)習(xí)51單片機(jī)控制LED點(diǎn)陣的時(shí)候碰到74HC595芯片,大學(xué)學(xué)的數(shù)電知識(shí)忘了差不多了,就在網(wǎng)上搜了一些資料,看到這篇寫的不錯(cuò),把大部分文章轉(zhuǎn)過(guò)來(lái),最后面是我的開(kāi)發(fā)板里的程序資料。

下面是正文:

這個(gè)夏季學(xué)習(xí)semiok同學(xué)自己動(dòng)手焊接了一個(gè)LED顯示屏,MCU用的是ATmega16,實(shí)現(xiàn)字幕的滾動(dòng)顯示,由于成本問(wèn)題,只做了16*64大小的,也就只能顯示4個(gè)中文漢字,這是研究顯示驅(qū)動(dòng)的時(shí)候找到的關(guān)于74HC595的資料,有時(shí)間就把所有制作過(guò)程放上來(lái)。

正面樣子還行

背面慘不忍睹

74HC595同數(shù)據(jù)相關(guān)的引腳可以分為三類:

SDI:串行數(shù)據(jù)輸入,接單片機(jī)的某個(gè)I/O引腳。

Q0~Q7:8位并行數(shù)據(jù)輸出,可以直接控制8個(gè)LED,或者是七段數(shù)碼管的8個(gè)引腳。

SDO:級(jí)聯(lián)輸出端,與下一個(gè)74HC595的DS相連,實(shí)現(xiàn)多個(gè)芯片之間的級(jí)聯(lián)。

74HC595同控制相關(guān)的引腳一共有四個(gè):

SHCP:移位寄存器的時(shí)鐘輸入。上升沿時(shí)移位寄存器中的數(shù)據(jù)依次移動(dòng)一位,即Q0中的數(shù)據(jù)移到Q1中,Q1中的數(shù)據(jù)移到Q2中,依次類推;下降沿時(shí)移位寄存器中的數(shù)據(jù)保持不變。

STCP:存儲(chǔ)寄存器的時(shí)鐘輸入。上升沿時(shí)移位寄存器中的數(shù)據(jù)進(jìn)入存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器中的數(shù)據(jù)保持不變。應(yīng)用時(shí)通常STCP置為低電平,移位結(jié)束后再在ST_CP端產(chǎn)生一個(gè)正脈沖更新顯示數(shù)據(jù)。

RST:重置(RESET),低電平時(shí)將移位寄存器中的數(shù)據(jù)清零,應(yīng)用時(shí)通常將它直接連高電平(VCC)。

OE:輸出允許,高電平時(shí)禁止輸出(高阻態(tài))。引腳不緊張的情況下可以用Arduino的一個(gè)引腳來(lái)控制它,這樣可以很方便地產(chǎn)生閃爍和熄滅的效果。實(shí)際應(yīng)用時(shí)可以將它直接連低電平(GND)。

對(duì)于一個(gè)最簡(jiǎn)單的74HC595應(yīng)用來(lái)講,可以用89c51的三個(gè)I/O端口分別控制SDI、SHCP和STCP,然后將RST和OE分別接VCC和地。

單片機(jī)與74HC595(8位輸出鎖存移位寄存器)的使用方法

74HC595的數(shù)據(jù)端:

QA--QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段。

QH': 級(jí)聯(lián)輸出端。我將它接下一個(gè)595的SI端。

SI: 串行數(shù)據(jù)輸入端。

74HC595的控制端說(shuō)明:

SCLR(10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。

SCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí))

RCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖(5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí)),更新顯示數(shù)據(jù)。

G(13腳): 高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過(guò)數(shù)據(jù)端移位控制要省時(shí)省力。

注:

1)74164和74595功能相仿,都是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164的驅(qū)動(dòng)電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。

2)74595的主要優(yōu)點(diǎn)是具有數(shù)據(jù)存儲(chǔ)寄存器,在移位的過(guò)程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場(chǎng)合很有用處,數(shù)碼管沒(méi)有閃爍感。

3)595是串入并出帶有鎖存功能移位寄存器,它的使用方法很簡(jiǎn)單,在正常使用時(shí)SCLR為高電平, G為低電平。從SER每輸入一位數(shù)據(jù),串行輸595是串入并出帶有鎖存功能移位寄存器,它的使用方法很簡(jiǎn)單,如下面的真值表,在正常使用時(shí)SCLR為高電平, G為低電平。從SER每輸入一位數(shù)據(jù),串行輸入時(shí)鐘SCK上升沿有效一次,直到八位數(shù)據(jù)輸入完畢,輸出時(shí)鐘上升沿有效一次,此時(shí),輸入的數(shù)據(jù)就被送到了輸出端。入時(shí)鐘SCK上升沿有效一次,直到八位數(shù)據(jù)輸入完畢,輸出時(shí)鐘上升沿有效一次,此時(shí),輸入的數(shù)據(jù)就被送到了輸出端。

其實(shí),看了這么多595的資料,覺(jué)得沒(méi)什么難的,關(guān)鍵是看懂其時(shí)序圖,說(shuō)到底,就是下面三步(引用):

第一步:將要準(zhǔn)備輸入的位數(shù)據(jù)移入74HC595數(shù)據(jù)輸入端上。

第二步:將位數(shù)據(jù)逐位移入74HC595。

第三步:并行輸出數(shù)據(jù)。

(以上內(nèi)容轉(zhuǎn)自http://www.cnblogs.com/semiok/archive/2010/07/13/1776397.html稍作部分修改)

下面是向74HC595傳送一個(gè)數(shù)據(jù)的c函數(shù)

/***************************************************************

** 函數(shù)名稱: send_595(unsigned char data)

** 功能描述: 595數(shù)據(jù)發(fā)送子程序,給595發(fā)一字節(jié)數(shù)據(jù)

** 輸  入: data 要發(fā)送到74HC595的數(shù)據(jù)

** 輸  出: 無(wú)

** 全局變量: 無(wú)

** 調(diào)用模塊: 無(wú)

***************************************************************/

#define SHCPP37// 74HC595移位寄存器時(shí)鐘輸入

#define STCPP35// 74HC595存儲(chǔ)寄存器時(shí)鐘輸入

#define SDIP36 // 74HC595串行數(shù)據(jù)輸入

void send_595(unsignchar data)

{

unsigned char i;

for(i = 8; i > 0; i--)//判斷位八次

{

if(data & 0x01)

{

SDI=1;//是1 DS發(fā)送1

}

SHCP = 0;//送入移位寄存器,不送入并口

SHCP = 1;

SDI = 0;//清零

data = data >> 1;//移位

}

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉