AT89系列單片機(jī)是近年來(lái)推出的一種新型高性能低價(jià)位、低電壓低功耗的8位CMOS微型計(jì)算機(jī)。它的顯著優(yōu)點(diǎn)是:①內(nèi)含F(xiàn)1ash存儲(chǔ)器,這在系統(tǒng)的開(kāi)發(fā)過(guò)程中,可隨意進(jìn)行程序修改,既便錯(cuò)誤編程之后仍可以重新編程,故不存在廢品且大大縮短了程序的開(kāi)發(fā)周期,同時(shí)在系統(tǒng)工作過(guò)程中能有效地保存數(shù)據(jù)信息。②采用靜態(tài)時(shí)鐘方式,節(jié)省電能,這對(duì)于降低便攜式產(chǎn)品的功耗十分有利。③由于它是以8031核構(gòu)成的,所以它與MCS一51系列單片機(jī)是兼容的。這對(duì)于熟悉MCS一51系列的廣大用戶來(lái)說(shuō),用AT89系列單片機(jī)取代51系列進(jìn)行系統(tǒng)設(shè)計(jì)是輕而易舉的。
而AT89C2051又是AT89系列中一種更為廉價(jià)的單片機(jī),作為一種小型測(cè)控系統(tǒng)或便攜式智能儀器儀表的核心器件,其性能價(jià)格比憂于MCS一51系列。所不同的是它的引腳只有20根,比標(biāo)準(zhǔn)型的40根少得多,也即并行I/O端口較少。如何利用這較少的幾根口線,連接成穩(wěn)定可靠的LED顯示電路,就是以AT89C2051單片機(jī)為核心的應(yīng)用電路所要解決的瓶頸問(wèn)題。本文采用了74LS164這個(gè)串人并出的移位寄存器,很好地解決了2051與LED的顯示接口電路。
1.硬件電路
2051余下的并行I/O口線不足8根,數(shù)據(jù)的并行輸出已不可能,但可以考慮串行輸出方法,圖1給出串行口擴(kuò)展的4位LED顯示接口電路。
圖1 串行口擴(kuò)展的4位LED顯示電路
該電路只使用2051的3個(gè)端口,配接4片串入并出移位寄存器74LS164與1片三端可調(diào)穩(wěn)壓器LM317T。其中74LS164的引腳Q0~Q7為8位并行輸出端;引腳A、B為串性輸入端;引腳CLK為時(shí)鐘脈沖輸入端,在CLK脈沖的上升沿作用下實(shí)現(xiàn)移位,在CLK=0、清除端MR=1時(shí),74LS164保持原來(lái)數(shù)據(jù)狀態(tài);MR=0時(shí),74LS164輸出清零。
其工作過(guò)程如下:2051的串行口設(shè)定在方式0移位寄存器狀態(tài)下,串行數(shù)據(jù)由P3.0發(fā)送,移位時(shí)鐘由P3.1送出。在移位時(shí)鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位地移入74LS164中。4片74LS164串級(jí)擴(kuò)展為4個(gè)8位并行輸出口,分別連接到4個(gè)LED顯示器的段選端作靜態(tài)顯示。需要指出的是,由于74LS164無(wú)并行輸出控制端,因而在串行輸入過(guò)程中,其輸出端的狀態(tài)會(huì)不斷變化,造成不應(yīng)顯示的字段仍有較暗的亮度,影響了顯示的效果。
以往的做法是在74LS164的輸出端加接4片鎖存器或三態(tài)門(mén)。使移位寄存器串行輸入數(shù)據(jù)時(shí)其輸出端的變化不反映到LED上,待串行輸入結(jié)束后再打開(kāi)鎖存器或三態(tài)門(mén),將穩(wěn)定的顯示數(shù)據(jù)送給LED。
本文電路的獨(dú)特之處在于僅采用了1片三端可調(diào)穩(wěn)壓器LM317T,317T的3、2腳分別是電壓輸入、輸出端,317T的1腳是電壓調(diào)整端,腳2輸出電壓隨腳1電壓而變化。腳1與接地電阻之間并一個(gè)NPN三極管。它的基極受P1.7口線控制。串行輸入時(shí)P1.7口線為高電平,三極管飽和導(dǎo)通使317T的腳1約為0.3V,腳2輸出電壓隨之下降到1.5V不足以使共陽(yáng)極LED發(fā)光,故此時(shí)串行輸入的影響不會(huì)反映到LED上;串行輸入結(jié)束后,使P1.7口線為低電平。三極管截止,腳2輸出電壓因腳1電壓增高便上升到2.0V使LED正常發(fā)光。因此。1片三端可調(diào)穩(wěn)壓器LM317T起到了4片鎖存器的作用使LED顯示不會(huì)閃爍本電路的另一優(yōu)點(diǎn)是通過(guò)可調(diào)電位器P1可在線調(diào)整腳2的輸出電壓,使LED的顯示亮度均勻可調(diào),而且省掉了大量的LED限流電阻。
2.軟件編程
上述分析表明,移位寄存器74LS164僅有串入并出作用沒(méi)有譯碼功能。因此。在編寫(xiě)顯示驅(qū)動(dòng)程序之前,首先需要計(jì)算列寫(xiě)出與本電路對(duì)應(yīng)的LED段選碼,然后由2051的P3.0口送入164的串行輸入端,再并行輸出到LED的段選端。
需要指出的是,本電路采用TOS-8106BHK型號(hào)的共陽(yáng)極LED顯示器,根據(jù)PCB印制線路板的連線方便,其LED的8個(gè)段選端與164的并行輸出口即8根段選線的連接沒(méi)有遵照通常的規(guī)律,而是如圖1所示的段排列為7、6、4、2、1、9、10、5,相應(yīng)的段選碼也要重新計(jì)算。如顯示字符0的段選碼為11H。顯示字符1的段選碼為D7H等。
另外,這種穩(wěn)定的靜態(tài)顯示方式也省去了CPU的動(dòng)態(tài)掃描過(guò)程,此為本電路的又一特點(diǎn)。
電路中設(shè)計(jì)了4位LED顯示器,其功能為:左首位為百位數(shù)或標(biāo)志位,左二位為十位數(shù),左三位為個(gè)位數(shù),左四位為小數(shù)點(diǎn)后的十分位數(shù)。據(jù)此,給出如圖2所示的顯示子程序框圖。
圖2 顯示子程序框圖
顯示子程序清單如下:
結(jié)束語(yǔ)
本文總結(jié)了基于74LS164的單片機(jī)與LED顯示電路設(shè)計(jì)方案,目前該串行口擴(kuò)展的LED顯示接口電路已成功地應(yīng)用到以AT89C2051單片機(jī)為核心的智能儀表中,如單片機(jī)濕度測(cè)量?jī)x、單片機(jī)溫度測(cè)量?jī)x等。現(xiàn)場(chǎng)運(yùn)行表明,LED顯示清晰穩(wěn)定不閃爍,特別是在現(xiàn)場(chǎng)環(huán)境如光照強(qiáng)弱不同的情況下,可以在線調(diào)整LED發(fā)光的亮度,獲得視覺(jué)與功耗的最佳效果。
電話:18923864027(同微信)
QQ:709211280
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬(wàn)家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號(hào)碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹