摘 要:設(shè)計(jì)了一種實(shí)用的單片機(jī)系統(tǒng)顯示電路,該電路結(jié)構(gòu)簡(jiǎn)單,使用可靠,而且可以大大地降低硬件成本,具有一定的應(yīng)用價(jià)值。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);顯示電路;可靠性;低成本
顯示電路是智能儀表的重要功能電路之一,為簡(jiǎn)化電路、降低成本,通常采用動(dòng)態(tài)顯示方式來(lái)實(shí)現(xiàn),使用的集成電路有8279,8155,8255,Max7219等,但這些集成電路存在體積大、價(jià)格貴的缺點(diǎn),若在一些功能不是太復(fù)雜的系統(tǒng)中選用這些集成電路是不可取的。隨著智能儀表技術(shù)的不斷發(fā)展,如何有效地設(shè)計(jì)低成本、小體積的顯示電路成為電路設(shè)計(jì)者必須考慮的問(wèn)題。本文提出了一種實(shí)用的低成本多位數(shù)碼顯示電路的設(shè)計(jì)方法。
1 電路的硬件連接和工作原理
圖1所示為單片機(jī)系統(tǒng)構(gòu)成的8位LED動(dòng)態(tài)顯示電路,該電路以AT89C2051單片機(jī)為例。電路使用器件少,僅用到了2片中規(guī)模集成電路74LS164和74LS138,占用CPU的I/O線少,特別適合于I/O線不是很多的單片機(jī)如AT89C2051/1051,97C2051/1051,PIC16Cxx等系統(tǒng)中使用。
74LS164為串-并轉(zhuǎn)換移位寄存器,數(shù)據(jù)端A,B(第1,2腳)接單片機(jī)RXD引腳,時(shí)鐘端CLK接單片機(jī)TXD,并行8位數(shù)據(jù)輸出端分別接8個(gè)數(shù)碼管的A,B,C,D,E,F(xiàn),G,H;74LS138為3線~8線譯碼器,譯碼器輸入端A,B,C分別接AT89C2051的P1.0,P1.1,P1.2,譯碼器輸出端Y0~Y7接8個(gè)數(shù)碼管從低位到高位的共陰極端。
若所用的單片機(jī)不是AT89C2051,而選用了其他沒有串行口的單片機(jī)如AT89C1051,則74LS164的數(shù)據(jù)輸入端A,B可連接到P1.3,CLK端可連接到P1.4,這樣設(shè)計(jì)不會(huì)影響系統(tǒng)的功能,僅僅在編寫程序時(shí)略有差別。若系統(tǒng)只需至多4位數(shù)碼管顯示,則74LS138可用74LS139(2線~4線譯碼器)代替。
電路中,要顯示的數(shù)字所對(duì)應(yīng)的字形碼通過(guò)串行口送到74LS164,74LS138在同一時(shí)刻只有1位輸出端為低電平,其他7位輸出全為高電平,為低電平的對(duì)應(yīng)的數(shù)碼管選中,因此作為數(shù)碼管顯示時(shí)的位選信號(hào)。系統(tǒng)在工作時(shí),通過(guò)74LS164每次輸出一個(gè)字形碼,同時(shí)控制74LS138的譯碼器輸入端A,B,C的電平狀態(tài),即從P1.0,P1.1,P1.2送出相應(yīng)的電平,譯碼后使得要顯示的對(duì)應(yīng)位數(shù)碼管共陰極端依次為低電平,即依次選中要顯示的位,完成整個(gè)顯示電路的動(dòng)態(tài)掃描,依此掃描8次,完成8位數(shù)據(jù)的顯示。
2 軟件編寫
以AT89C2051單片機(jī)系統(tǒng)構(gòu)成的8位LED動(dòng)態(tài)顯示電路的顯示子程序流程如圖2所示。
設(shè)待顯示的數(shù)據(jù)放在顯示緩沖區(qū)中,顯示緩沖區(qū)的地址為70H,71H,…,77H,依次存放從低位到高位待顯示的數(shù)據(jù)。則顯示子程序清單如下:
編寫該程序時(shí)要注意程序中的延時(shí)時(shí)間的大小,延時(shí)過(guò)長(zhǎng)會(huì)造成顯示不連續(xù),延時(shí)過(guò)短,又會(huì)出現(xiàn)閃爍現(xiàn)象,經(jīng)多次調(diào)試在該設(shè)計(jì)中最佳延時(shí)為4 ms。
3 結(jié) 語(yǔ)
本顯示電路硬件結(jié)構(gòu)簡(jiǎn)單,軟件實(shí)現(xiàn)也很容易,而且性能穩(wěn)定、成本低。經(jīng)過(guò)反復(fù)測(cè)試,效果很好,在一般的單片機(jī)控制系統(tǒng)中都可以使用該顯示電路,具有一定的通用性。因此,本顯示電路具有一定的參考價(jià)值。在實(shí)際使用中,根據(jù)需要,可以在74LS164和74LS138的輸出端增加驅(qū)動(dòng)電路如74LS07等,以增加LED數(shù)碼管的亮度。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);顯示電路;可靠性;低成本
顯示電路是智能儀表的重要功能電路之一,為簡(jiǎn)化電路、降低成本,通常采用動(dòng)態(tài)顯示方式來(lái)實(shí)現(xiàn),使用的集成電路有8279,8155,8255,Max7219等,但這些集成電路存在體積大、價(jià)格貴的缺點(diǎn),若在一些功能不是太復(fù)雜的系統(tǒng)中選用這些集成電路是不可取的。隨著智能儀表技術(shù)的不斷發(fā)展,如何有效地設(shè)計(jì)低成本、小體積的顯示電路成為電路設(shè)計(jì)者必須考慮的問(wèn)題。本文提出了一種實(shí)用的低成本多位數(shù)碼顯示電路的設(shè)計(jì)方法。
1 電路的硬件連接和工作原理
圖1所示為單片機(jī)系統(tǒng)構(gòu)成的8位LED動(dòng)態(tài)顯示電路,該電路以AT89C2051單片機(jī)為例。電路使用器件少,僅用到了2片中規(guī)模集成電路74LS164和74LS138,占用CPU的I/O線少,特別適合于I/O線不是很多的單片機(jī)如AT89C2051/1051,97C2051/1051,PIC16Cxx等系統(tǒng)中使用。
74LS164為串-并轉(zhuǎn)換移位寄存器,數(shù)據(jù)端A,B(第1,2腳)接單片機(jī)RXD引腳,時(shí)鐘端CLK接單片機(jī)TXD,并行8位數(shù)據(jù)輸出端分別接8個(gè)數(shù)碼管的A,B,C,D,E,F(xiàn),G,H;74LS138為3線~8線譯碼器,譯碼器輸入端A,B,C分別接AT89C2051的P1.0,P1.1,P1.2,譯碼器輸出端Y0~Y7接8個(gè)數(shù)碼管從低位到高位的共陰極端。
若所用的單片機(jī)不是AT89C2051,而選用了其他沒有串行口的單片機(jī)如AT89C1051,則74LS164的數(shù)據(jù)輸入端A,B可連接到P1.3,CLK端可連接到P1.4,這樣設(shè)計(jì)不會(huì)影響系統(tǒng)的功能,僅僅在編寫程序時(shí)略有差別。若系統(tǒng)只需至多4位數(shù)碼管顯示,則74LS138可用74LS139(2線~4線譯碼器)代替。
電路中,要顯示的數(shù)字所對(duì)應(yīng)的字形碼通過(guò)串行口送到74LS164,74LS138在同一時(shí)刻只有1位輸出端為低電平,其他7位輸出全為高電平,為低電平的對(duì)應(yīng)的數(shù)碼管選中,因此作為數(shù)碼管顯示時(shí)的位選信號(hào)。系統(tǒng)在工作時(shí),通過(guò)74LS164每次輸出一個(gè)字形碼,同時(shí)控制74LS138的譯碼器輸入端A,B,C的電平狀態(tài),即從P1.0,P1.1,P1.2送出相應(yīng)的電平,譯碼后使得要顯示的對(duì)應(yīng)位數(shù)碼管共陰極端依次為低電平,即依次選中要顯示的位,完成整個(gè)顯示電路的動(dòng)態(tài)掃描,依此掃描8次,完成8位數(shù)據(jù)的顯示。
2 軟件編寫
以AT89C2051單片機(jī)系統(tǒng)構(gòu)成的8位LED動(dòng)態(tài)顯示電路的顯示子程序流程如圖2所示。
設(shè)待顯示的數(shù)據(jù)放在顯示緩沖區(qū)中,顯示緩沖區(qū)的地址為70H,71H,…,77H,依次存放從低位到高位待顯示的數(shù)據(jù)。則顯示子程序清單如下:
編寫該程序時(shí)要注意程序中的延時(shí)時(shí)間的大小,延時(shí)過(guò)長(zhǎng)會(huì)造成顯示不連續(xù),延時(shí)過(guò)短,又會(huì)出現(xiàn)閃爍現(xiàn)象,經(jīng)多次調(diào)試在該設(shè)計(jì)中最佳延時(shí)為4 ms。
3 結(jié) 語(yǔ)
本顯示電路硬件結(jié)構(gòu)簡(jiǎn)單,軟件實(shí)現(xiàn)也很容易,而且性能穩(wěn)定、成本低。經(jīng)過(guò)反復(fù)測(cè)試,效果很好,在一般的單片機(jī)控制系統(tǒng)中都可以使用該顯示電路,具有一定的通用性。因此,本顯示電路具有一定的參考價(jià)值。在實(shí)際使用中,根據(jù)需要,可以在74LS164和74LS138的輸出端增加驅(qū)動(dòng)電路如74LS07等,以增加LED數(shù)碼管的亮度。