使用仿真軟件Proteus可以實(shí)現(xiàn)單片機(jī)控制數(shù)碼管顯示的仿真。該仿真電路包括單片機(jī)的最小系統(tǒng)電路、數(shù)碼管驅(qū)動(dòng)電路,還需要進(jìn)行編程。Proteus是支持程序聯(lián)調(diào)的,運(yùn)行后可以看到最終的仿真效果。
所謂單片機(jī)的最小系統(tǒng)電路是指單片機(jī)在工作時(shí)所需要的最基本的電路,一般包括電源電路、復(fù)位電路、晶振電路和下載電路。由于是軟件仿真,只需要設(shè)計(jì)電源電路、復(fù)位電路和晶振電路就可以。甚至,只放一顆單片機(jī)都可以,軟件是默認(rèn)具有最小系統(tǒng)的。單片機(jī)的最小系統(tǒng)如下圖所示。
2 數(shù)碼管驅(qū)動(dòng)電路
單片機(jī)驅(qū)動(dòng)數(shù)碼管具有多種方案,但是一般不會(huì)通過(guò)GPIO口直接驅(qū)動(dòng)的方式,一般都會(huì)通過(guò)驅(qū)動(dòng)芯片來(lái)實(shí)現(xiàn)控制,一方面可以解決單片機(jī)驅(qū)動(dòng)能力小的問(wèn)題;另一方面可以實(shí)現(xiàn)以較少的GPIO實(shí)現(xiàn)多位數(shù)碼管驅(qū)動(dòng)的目的??梢允褂?73/573一類(lèi)的鎖存器來(lái)控制數(shù)碼管,也可以使用595一類(lèi)的移位寄存器來(lái)控制,還可以使用數(shù)碼管專(zhuān)用的芯片如TM160等來(lái)實(shí)現(xiàn)控制。
我比較喜歡使用74HC595來(lái)驅(qū)動(dòng)數(shù)碼管。這是一顆移位寄存器,可以級(jí)聯(lián),只需要三個(gè)GPIO口就可以實(shí)現(xiàn)多片數(shù)碼管驅(qū)動(dòng)的目的。驅(qū)動(dòng)一顆數(shù)碼管的電路如下圖。
只需要三個(gè)GPIO就能實(shí)現(xiàn)一顆數(shù)碼管的控制,如果要驅(qū)動(dòng)多個(gè)數(shù)碼管的話(huà),可以使用多片595級(jí)聯(lián),如下圖所示:
3 數(shù)碼管驅(qū)動(dòng)程序的設(shè)計(jì)
使用74HC595來(lái)驅(qū)動(dòng)數(shù)碼管,其程序設(shè)計(jì)也非常簡(jiǎn)單。595是八位的移位寄存器,需要將數(shù)據(jù)循環(huán)八次寫(xiě)入,需要特別注意的是,74HC595具有鎖存功能,將數(shù)據(jù)寫(xiě)入后,需要給CP一個(gè)脈沖后,數(shù)據(jù)才會(huì)被輸出,如下所示。
單片機(jī)驅(qū)動(dòng)數(shù)碼管是非常簡(jiǎn)單的設(shè)計(jì),是初學(xué)單片機(jī)必經(jīng)的小設(shè)計(jì),通過(guò)該設(shè)計(jì)可以聯(lián)系GPIO口的配置、時(shí)序圖的理解。
免責(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)系我們,謝謝!