[導讀]本設計使用了一個4位的根據數碼管,為共陽型,時序C實為了節省單片機的編程IO口,使用了兩片74HC595作為數碼管的單片動驅動芯片,共占用3個IO口。機驅
本設計使用了一個4位的現數顯示數碼管,為共陽型,碼管為了節省單片機的根據IO口,使用了兩片74HC595作為數碼管的時序C實驅動芯片,共占用3個IO口。編程74HC595部分電路圖如下: 與單片機相連接的單片動三個腳分別為:HC_DAT,HC_RCK,HC_CLK。兩片595采用級聯方式,機驅即U2的現數顯示第9腳接到U3的第14引腳。 74HC595是碼管8位的移位寄存器,串入并出,根據并具有鎖存功能,被廣泛的用于數碼管、點陣的驅動電路中。其管腳介紹如下: ? 9:數據級聯輸出-接下一片595的數據輸入腳;
知道了74HC595的引腳定義和真值表,那該如何編程呢?下面重點來了,通過時序圖來編程。看重點!!!

知道了以上4點就可以寫程序了。其中3、4條是硬件連接上的事情(也可以用單片機的IO口來連接,這樣的話可以隨時控制74HC595的工作與否情況)。寫程序主要靠1、2條。下面具體操作。 HC595_CLK(0)是讓CLK處于低電平,即上升沿還沒有來到; HC595_DAT(1)就是要把寫入的數據準備好; temp<<1是將數據移位,即一個字節分八次寫入; HC595_CLK(1)是讓CLK處于高電平,即上升沿來了; 在CLK時鐘上升沿來臨之前把要寫入的數據準備好,等上升沿來了就把準備好的數據寫入。這就是對時序圖的解釋。 記住,這僅僅是把數據寫入到了74HC595中,但是還沒有讓74HC595鎖存,即沒有讓數據顯示出來,如果讓數據顯示的話,必須要給RCK一個上升沿(即時序圖中的第2條),操作如下:
單片機執行完這個程序后,數據才會在數碼管上顯示出來。
這一節內容的難度較大,主要是因為時序圖這個東西是很模糊的一個內容,大家可以慢慢理解體會。 關注微信公眾號『玩轉嵌入式』,后臺回復“128”獲取干貨資料匯總,回復“256”加入技術交流群。 |
|什么是牛屎芯片?一坨“牛屎”,拆一臺萬用表看牛屎芯片 |
|
|
免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!