多數(shù)人也都知道,51單片機(jī)的入門(mén)第一篇就是led燈的操作,當(dāng)然了,那也是最基本的操作。上次玩完led燈,就相當(dāng)于是入門(mén),今天我們來(lái)看看數(shù)碼管,對(duì)于數(shù)碼管,大家可以是再熟悉不過(guò)了,生活中處處都可以見(jiàn)到各種各樣的數(shù)碼管,但是你知道其內(nèi)部的原理嗎,其實(shí)還是相當(dāng)簡(jiǎn)單的,老樣子,我們要玩什么,當(dāng)然是先看看這個(gè)部分的原理圖了:
由原理圖可知,八個(gè)數(shù)碼管并不是直接接在單片機(jī)的io口上的,而是用了74hc595芯片,那么我們要想驅(qū)動(dòng)數(shù)碼管,就必須了解595芯片到底是個(gè)什么玩意兒,大多數(shù)開(kāi)發(fā)板并沒(méi)有使用這個(gè)芯片。
74hc595
74hc595芯片的作用就是把串行的信號(hào)轉(zhuǎn)為并行的信號(hào)。關(guān)于這個(gè)芯片的詳細(xì)信息以及時(shí)序問(wèn)題,我不在這里詳細(xì)敘述,大家去問(wèn)百度去,百度一大堆資料。
只談?wù)?4hc595芯片的使用步驟
第一步:將要準(zhǔn)備輸入的唯一數(shù)據(jù)移入74hc595數(shù)據(jù)輸入端上。送位數(shù)據(jù)到595芯片。
第二步:將位數(shù)據(jù)逐步移入74hc595,即scl產(chǎn)生一個(gè)上升沿,將si上的數(shù)據(jù)移入74hc595移位寄存器中,先送低位,再送高位。
第三步:并行輸出數(shù)據(jù),即數(shù)據(jù)并出。rck產(chǎn)生一上升沿,將由qa-qh上已移入數(shù)據(jù)寄存器中的數(shù)據(jù)送入輸出鎖存器。
根據(jù)原理圖可以知道,數(shù)碼管驅(qū)動(dòng)設(shè)計(jì)到兩個(gè)74hc595芯片,一個(gè)芯片的輸出用于控制數(shù)碼管的位選,另一個(gè)芯片的輸出控制數(shù)碼管的段選,兩個(gè)芯片的12號(hào)引腳同時(shí)受單片機(jī)的p2.5引腳控制,兩個(gè)芯片的11號(hào)引腳同時(shí)受到單片機(jī)的p2.6引腳控制,段選數(shù)據(jù)和位選數(shù)據(jù)都是通過(guò)單片機(jī)引腳p2.7發(fā)送,在控制時(shí)鐘引腳p2.6的控制下,當(dāng)p2.6出現(xiàn)上升沿時(shí),單片機(jī)通過(guò)p2.7引腳向505芯片內(nèi)部發(fā)送數(shù)據(jù),應(yīng)先發(fā)送位選數(shù)據(jù),當(dāng)八位位選數(shù)
據(jù)在p2.7引腳產(chǎn)生的8個(gè)上升沿的作用下,從高位到低位一次存于q7——q0上。感覺(jué)說(shuō)了這么多,已經(jīng)有人懵逼了,覺(jué)得很煩,算啦,直接上代碼大家瞅瞅吧,我只給大家看看驅(qū)動(dòng)代碼,至于main主函數(shù)里面的,相信大家自己可以完成:
實(shí)驗(yàn)效果