本設(shè)計(jì)使用了一個(gè)4位的數(shù)碼管,為共陽(yáng)型,為了節(jié)省單片機(jī)的IO口,使用了兩片74HC595作為數(shù)碼管的驅(qū)動(dòng)芯片,共占用3個(gè)IO口。74HC595部分電路圖如下:
與單片機(jī)相連接的三個(gè)腳分別為:HC_DAT,HC_RCK,HC_CLK。兩片595采用級(jí)聯(lián)方式,即U2的第9腳接到U3的第14引腳。
74HC595是8位的移位寄存器,串入并出,并具有鎖存功能,被廣泛的用于數(shù)碼管、點(diǎn)陣的驅(qū)動(dòng)電路中。其管腳介紹如下:
15:數(shù)據(jù)輸出A-接數(shù)碼管數(shù)據(jù)A段;
? 1:數(shù)據(jù)輸出B-接數(shù)碼管數(shù)據(jù)B段;
? 2:數(shù)據(jù)輸出C-接數(shù)碼管數(shù)據(jù)C段;
? 3:數(shù)據(jù)輸出D-接數(shù)碼管數(shù)據(jù)D段;
? 4:數(shù)據(jù)輸出E-接數(shù)碼管數(shù)據(jù)E段;
? 5:數(shù)據(jù)輸出F-接數(shù)碼管數(shù)據(jù)F段;
? 6:數(shù)據(jù)輸出G-接數(shù)碼管數(shù)據(jù)G段;
? 7:數(shù)據(jù)輸出H-接數(shù)碼管數(shù)據(jù)H段;
14:數(shù)據(jù)輸入腳-接單片機(jī)管腳;
12:數(shù)據(jù)鎖存時(shí)鐘-接單片機(jī)管腳;
11:數(shù)據(jù)輸入時(shí)鐘-接單片機(jī)管腳;
10:數(shù)據(jù)清零-不清零,接高電平;
? 9:數(shù)據(jù)級(jí)聯(lián)輸出-接下一片595的數(shù)據(jù)輸入腳;
知道了74HC595的引腳定義和真值表,那該如何編程呢?下面重點(diǎn)來(lái)了,通過(guò)時(shí)序圖來(lái)編程??粗攸c(diǎn)!??!
我是重點(diǎn)!我是重點(diǎn)!我是重點(diǎn)!
-
SCK是上升沿的時(shí)候要把數(shù)據(jù)寫(xiě)入;
-
RCK是上升沿的時(shí)候數(shù)據(jù)才能鎖存顯示;
-
有數(shù)據(jù)操作的過(guò)程中RESET必須是高電平;
-
知道了以上4點(diǎn)就可以寫(xiě)程序了。其中3、4條是硬件連接上的事情(也可以用單片機(jī)的IO口來(lái)連接,這樣的話可以隨時(shí)控制74HC595的工作與否情況)。寫(xiě)程序主要靠1、2條。下面具體操作。
HC595_CLK(0)是讓CLK處于低電平,即上升沿還沒(méi)有來(lái)到;
HC595_DAT(1)就是要把寫(xiě)入的數(shù)據(jù)準(zhǔn)備好;
temp<<1是將數(shù)據(jù)移位,即一個(gè)字節(jié)分八次寫(xiě)入;
HC595_CLK(1)是讓CLK處于高電平,即上升沿來(lái)了;
在CLK時(shí)鐘上升沿來(lái)臨之前把要寫(xiě)入的數(shù)據(jù)準(zhǔn)備好,等上升沿來(lái)了就把準(zhǔn)備好的數(shù)據(jù)寫(xiě)入。這就是對(duì)時(shí)序圖的解釋。
記住,這僅僅是把數(shù)據(jù)寫(xiě)入到了74HC595中,但是還沒(méi)有讓74HC595鎖存,即沒(méi)有讓數(shù)據(jù)顯示出來(lái),如果讓數(shù)據(jù)顯示的話,必須要給RCK一個(gè)上升沿(即時(shí)序圖中的第2條),操作如下:
單片機(jī)執(zhí)行完這個(gè)程序后,數(shù)據(jù)才會(huì)在數(shù)碼管上顯示出來(lái)。
這一節(jié)內(nèi)容的難度較大,主要是因?yàn)闀r(shí)序圖這個(gè)東西是很模糊的一個(gè)內(nèi)容,大家可以慢慢理解體會(huì)。
關(guān)注微信公眾號(hào)『玩轉(zhuǎn)嵌入式』,后臺(tái)回復(fù)“128”獲取干貨資料匯總,回復(fù)“256”加入技術(shù)交流群。
|曾經(jīng)震撼世界的25顆經(jīng)典芯片,555在列
|
|什么是牛屎芯片?一坨“牛屎”,拆一臺(tái)萬(wàn)用表看牛屎芯片
|
|
|
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!