細說多位數(shù)碼管的驅(qū)動方法(1) 我們在制作項目時,會遇到多位數(shù)碼管的顯示問題.如何盡量減少硬件的使用數(shù)量和加快全部顯示一輪的時間,是需要精心規(guī)劃與安排的. 例如: 做萬年歷,就有年月日,時分,星期等內(nèi)容需要顯示,數(shù)碼管數(shù)量多達 13 位以上.如果再帶上秒,溫度,農(nóng)歷什么的,位數(shù)就更多了.
例如: 做多功能電力儀表,顯示位數(shù)也往往多達十幾位以上.
盡管有專門用于這種多位顯示的專門芯片可供選擇,但是,往往一只這種芯片成本可能比使用的單片機本身還要高!例如市場上的 CH451 等,高達 6~8 元呢! 于是,可以考慮串行到并行的一些芯片,例如 HC164,HC595 等等,驅(qū)動也僅僅就二線制,但是,這么一來,外掛芯片也不少. 還有,可以使用一些 4 線到 7 線的驅(qū)動芯片,例如:CD4511,74LS247,CD4543 等等,它們除了節(jié)省一些源驅(qū)動引腳之外,使用數(shù)量恐怕也讓人頭痛! 類似于 HC373,HC374,HC573,HC574 的芯片,可以減少很多源驅(qū)動引腳,但是,芯片使用數(shù)量仍然太多! 還有一個附帶問題,許多儀器儀表,往往是主印刷版與前面的顯示/按鍵板是分離的,有些商品儀表,主板到前面板的引線就多達幾十根,無論如何,都會讓人感覺又亂又多又不可靠,生產(chǎn)調(diào)試等都增加了困難. 說了那么多,我們就是希望:使用盡量少的硬件芯片,盡量少的過渡引線,盡量短的顯示周期時間,盡量低的元器件費用!----當然,需要保證可靠性不能降低! 我們舉例說明: 一個 2 * 4 位的儀器顯示電路,有 8 位數(shù)碼管,完全依靠單片機本身的端口來驅(qū)動,就有 2 種方案考慮:
圖 1 的方法需要使用 22 個單片機端口.
圖 2 方法需要使用 16 個單片機端口.
圖 2 全部數(shù)碼管顯示一次的時間比圖 1 長一半時間. 從儀器 2 個板子分離的情況來看,圖 1 從主板到前面顯示板的引線就相當多了!圖 2 雖然少了一些,但是,加上供電,按鍵等,數(shù)量也不算少,很可能還會有發(fā)光管指示燈什么的,需要考慮的麻煩事就更多了! 從單片機端口的使用數(shù)量來看,它也大大影響到單片機的封裝選擇,引腳不是越多越好的,對焊接,成本,調(diào)試等都會有影響. 如果芯片帶有 RS232 硬件功能,當然可以考慮使用串行驅(qū)動,雖然不過分影響單片機分時工作的速率,但是,上面提到過,串行芯片的數(shù)量也是相當可觀的. 數(shù)碼管這種顯示還要保證每秒不能少于 50 次以上,否則會有顯示閃爍的感覺! 針對上面提及的問題,這里推薦一種比較好的方法:就是增加一只廉價的單片機,專門負責顯示,主功能單片機與顯示用途單片機僅僅 2 根引線就可以正常傳送信號,這么一來,帶來的后果是利大于弊!
我們這么做,還會最大限度地節(jié)省 2 個分離印刷板的引線,節(jié)省印刷板的布線難度,減少主單片機的引腳數(shù)量,加快系統(tǒng)的運行速率.對顯示用途的單片機的內(nèi)部資源沒有什么要求,完全可以使用最普通功能的單片機來擔任顯示任務(wù)! 這樣就需要解決 2 個單片機之間的通信問題,這完全可以借鑒現(xiàn)成的一些 2 線制串行通信方式方法.也可以根據(jù)自己的情況自定義自己的通信方法. 通常,主單片機只要保證每秒時間給顯示單片機送入 4 次以上的數(shù)據(jù),那么,對數(shù)碼管顯示的實時性來說就已經(jīng)足夠了!----當然,你就是增加一倍二倍的傳送次數(shù),對主單片機來說,也是可以非常輕易做到了!因為,它犯不上去操心每秒顯示 50 次以上的工作量了! 而對于顯示單片機來說,則要求保證每秒時間內(nèi),完成全部數(shù)碼管的 50 次以上的分時掃描顯示..... (未完待續(xù))-------僅供參考! |