74ls164簡介
74ls164、74lsT164是高速硅門CMOS器件,與低功耗肖特基型TTL(LSTTL)器件的引腳兼容。
74HC164、74HCT164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA或DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。
時鐘 (CP) 每次由低變高時,數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個數(shù)據(jù)輸入端(DSA和 DSB)的邏輯與,它將上升時鐘沿之前保持一個建立時間的長度。
主復(fù)位 (MR) 輸入端上的一個低電平將使其它所有輸入端都無效,非同步地清除寄存器,強制所有的輸出為低電平。
功能圖
AT89C2051 是一種高性能低價位單片機 ,但因其引腳少 ,給系統(tǒng)設(shè)計尤其是 L ED 顯示接口電路的設(shè)計帶來一定難度。筆者采用串入并出移位寄存器 74LS164 圓滿地解決了這一問題 ,文中詳細(xì)介紹了該接口電路的構(gòu)成原理與軟件。實際運行表明 ,該顯示電路可以成功地應(yīng)用到以AT89C2051 單片機為核心的智能儀表中 ,而且 L ED 顯示清晰穩(wěn)定可在線調(diào)整發(fā)光亮度。
AT89系列單片機[1]是美國ATMEL公司近年來推出的一種新型高性能低價位、低電壓低功耗的8位CMOS微型計算機。它的顯著優(yōu)點是:①內(nèi)含F(xiàn)lash存儲器,這在系統(tǒng)的開發(fā)過程中,可隨意進行程序修改,既便錯誤編程之后仍可以重新編程,故不存在廢品且大大縮短了程序的開發(fā)周期;同時在系統(tǒng)工作過程中能有效地保存數(shù)據(jù)信息。②采用靜態(tài)時鐘方式,節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有利。③由于它是以8031核構(gòu)成的,所以它與MCS251系列單片機是兼容的,這對于熟悉MCS251系列的廣大用戶來說,用AT89系列單片機取代51系列進行系統(tǒng)設(shè)計是輕而易舉的。
而AT89C2051又是AT89系列中一種更為廉價的單片機,作為一種小型測控系統(tǒng)或便攜式智能儀器儀表的核心器件,其性能價格比優(yōu)于MCS251系列。所不同的是它的引腳只有20根,比標(biāo)準(zhǔn)型的40根少得多,也即并行I/O端口較少。如何利用這較少的幾根口線,連接成穩(wěn)定可靠的L ED顯示電路,就是以AT89C2051單片機為核心的應(yīng)用電路所要解決的瓶頸問題。
本文采用了74LS164這個串入并出的移位寄存器,很好地解決了2051與L ED的顯示接口電路。
硬件電路
2051余下的并行I/O口線不足8根,數(shù)據(jù)的并行輸出已不可能,但可以考慮串行輸出方法,圖1給出串行口擴展的4位L ED顯示接口電路。
該電路只使用2051的3個端口,配接4片串入并出移位寄存器74LS164與1片三端可調(diào)穩(wěn)壓器LM317T。其中74LS164的引腳Q0~Q7為8位并行輸出端;引腳A、B為串性輸入端;引腳CL K為時鐘脈沖輸入端,在CL K脈沖的上升沿作用下實現(xiàn)移位,在CL K=0、清除端M R=1時,74LS164保持原來數(shù)據(jù)狀態(tài);M R=0時,74LS164輸出清零。
其工作過程如下:2051的串行口設(shè)定在方式0移位寄存器狀態(tài)下,串行數(shù)據(jù)由P3.0發(fā)送,移位時鐘由P3.1送出。在移位時鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位地移入74LS164中。4片74LS164串級擴展為4個8位并行輸出口,分別連接到4個L ED顯示器的段選端作靜態(tài)顯示。需要指出的是,由于74LS164無并行輸出控制端,因而在串行輸入過程中,其輸出端的狀態(tài)會不斷變化,造成不應(yīng)顯示的字段仍有較暗的亮度,影響了顯示的效果。
以往的做法是在74LS164的輸出端加接4片鎖存器或三態(tài)門,使移位寄存器串行輸入數(shù)據(jù)時其輸出端的變化不反映到L ED上,待串行輸入結(jié)束后再打開鎖存器或三態(tài)門,將穩(wěn)定的顯示數(shù)據(jù)送給L ED。
本文電路的獨特之處在于僅采用了1片三端可調(diào)穩(wěn)壓器LM317T,317T的3、2腳分別是電壓輸入、輸出端,317T的1腳是電壓調(diào)整端,腳2輸出電壓隨腳1電壓而變化。腳1與接地電阻之間并一個NPN三極管,它的基極受P1.7口線控制,串行輸入時P1.7口線為高電平,三極管飽和導(dǎo)通使317T的腳1約為0.3 V,腳2輸出電壓隨之下降到1.5 V不足以使共陽極L ED發(fā)光,故此時串行輸入的影響不會反映到L ED上;串行輸入結(jié)束后,使P1.7口線為低電平,三極管截止,腳2輸出電壓因腳1電壓增高便上升到2.0 V使L ED正常發(fā)光。因此,1片三端可調(diào)穩(wěn)壓器LM317T起到了4片鎖存器的作用使L ED顯示不會閃爍。本電路的另一優(yōu)點是通過可調(diào)電位器P1可在線調(diào)整腳2的輸出電壓,使L ED的顯示亮度均勻可調(diào),而且省掉了大量的L ED限流電阻。
軟件編程
上述分析表明,移位寄存器74LS164僅有串入并出作用沒有譯碼功能。因此,在編寫顯示驅(qū)動程序之前,首先需要計算列寫出與本電路對應(yīng)的LED段選碼,然后由2051的P3.0口送入164的串行輸入端,再并行輸出到LED的段選端。
需要指出的是,本電路采用TOS28106BHK型號的共陽極LED顯示器,根據(jù)PCB印制線路板的連線方便,其LED的8個段選端與164的并行輸出口即8根段選線的連接沒有遵照通常的規(guī)律,而是如圖1所示的段排列為7、6、4、2、1、9、10、5,相應(yīng)的段選碼也要重新計算,如顯示字符0的段選碼為11H,顯示字符1的段選碼為D7H等。
另外,這種穩(wěn)定的靜態(tài)顯示方式也省去了CPU的動態(tài)掃描過程,此為本電路的又一特點。
電路中設(shè)計了4位L ED顯示器,其功能為:左首位為百位數(shù)或標(biāo)志位,左二位為十位數(shù),左三位為個位數(shù),左四位為小數(shù)點后的十分位數(shù)。據(jù)此,給出如圖2所示的顯示子程序框圖。
顯示子程序清單如下 :
DISI:
SETB P1. 7 ;滅顯示
MOV R0 , # SBCD
MOV A , @R0 ;取出要顯示的數(shù)
ADD A , # 2DH ;加上偏移量
MOVC A , @A + PC ;查表取出段選碼
MOV SBUF ,A ;送出顯示
DL1 : JNB TI ,DL1 ;輸出完否 ?
CLR TI ;完 ,清中斷標(biāo)志
INC R0
MOV A , @R0
ADD A , # 21H
MOVC A , @A + PC
ANL A , # OEFH ;個位加小數(shù)點
MOV SBUF ,A
DL2 : JNB TI ,DL2
CLR TI
INC R0
MOV A , @R0
ADD A , # 13H
MOVC A , @A + PC
MOV SBUF ,A
DL3 : JNB TI ,DL3
CLR TI
MOV A , # 0FFH
MOV SBUF ,A
DL4 : JNB TI ,DL4
CLR TI
CLR P1. 7 ;亮顯示
RET
SEGTAB : DB 11H ,0D7H ,32H
DB 92H ,0D4H ,98H
DB 18H ,0D3H ,10H ,0D0H
本串行口擴展的 L ED 顯示接口電路已被筆者成功地應(yīng)用到以 AT89C2051 單片機為核心的智能儀表中 ,如單片機濕度測量儀、單片機溫度測量儀等?,F(xiàn)場運行表明 ,L ED 顯示清晰穩(wěn)定不閃爍 ,特別是在現(xiàn)場環(huán)境如光照強弱不同的情況下 ,可以在線調(diào)整 L ED 發(fā)光的亮度 ,獲得視覺與功耗的最佳效果。
評論