《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于PIC12C508的LED顯示電路
基于PIC12C508的LED顯示電路
摘要: LED顯示以其使用方便,,價格低廉等優(yōu)點而得到廣泛應(yīng)用。它的顯示接口按驅(qū)動方式可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示雖然亮度高,,無閃動,但具有功耗大,,占I/O口多,,成本高等缺點。在I/O口緊張的情況下大多采用動態(tài)顯示方式,。目前,,市場上有許多專用的動態(tài)顯示接口芯片可供選擇。但是,,這些芯片價格普遍較高,,而不適合在廉價系統(tǒng)中應(yīng)用。有些專用芯片(如MC14489)采用硬件譯碼方式,,顯示的信息量有限,,難以滿足各種要求,影響了它的應(yīng)用,。在此介紹一種價格低廉,,效果良好的LED動態(tài)顯示電路,,通過軟件譯碼,串行顯示方式,,節(jié)省大量I/O線,,不僅能顯示數(shù)字,而且可以顯示大部分英文字母,。
關(guān)鍵詞: 51單片機 PIC12C508 LED顯示
Abstract:
Key words :

0 引 言

    LED顯示以其使用方便,,價格低廉等優(yōu)點而得到廣泛應(yīng)用。它的顯示接口按驅(qū)動方式可分為靜態(tài)顯示和動態(tài)顯示兩種,。靜態(tài)顯示雖然亮度高,,無閃動,但具有功耗大,,占I/O口多,,成本高等缺點。在I/O口緊張的情況下大多采用動態(tài)顯示方式,。目前,,市場上有許多專用的動態(tài)顯示接口芯片可供選擇。但是,,這些芯片價格普遍較高,,而不適合在廉價系統(tǒng)中應(yīng)用。有些專用芯片(如MC14489)采用硬件譯碼方式,,顯示的信息量有限,,難以滿足各種要求,影響了它的應(yīng)用,。在此介紹一種價格低廉,,效果良好的LED動態(tài)顯示電路,通過軟件譯碼,,串行顯示方式,,節(jié)省大量I/O線,不僅能顯示數(shù)字,,而且可以顯示大部分英文字母,。

1 硬件說明及工作原理
    主要硬件包括:單片機PIC12C508,2片移位寄存器74HC595,,8個LED數(shù)碼管,,8個220 Ω左右的限流電阻。
1.1 PIC12C508的介紹
    PIC12C508是MICROCHIP公司開發(fā)的具有低價格,、低功耗,、高性能、8位、全靜態(tài)等特點的CMOS單片機,。它采用RISC結(jié)構(gòu),,有著廣泛的應(yīng)用范圍,尤其適用于便攜式電子產(chǎn)品,。
    PIC12C508引腳圖(見圖1)說明如下:
    GP0:雙向輸入/輸出端口/串行編程數(shù)據(jù)端;
    GP1:雙向輸入/輸出端口/串行編程時鐘端,;
    GP2:雙向I/O端口,;
    GP3:輸入端口;
    GP4:雙向I/O端口,;
    GP5:雙向I/O端口,。
1.2 74HC595的介紹
    74HC595具有8位移位寄存器,1個存儲器和三態(tài)輸出功能,。移位寄存器為串行輸入,,8位并行(或串行)輸出。移位寄存器和存儲器分別是時鐘,、數(shù)據(jù)在SR-CLK上升沿的輸入并移位:Q0→Q1→Q2→…→Q7,,在RCLK上升沿進入存儲寄存器。當(dāng)E為低電平時,,存儲寄存器的數(shù)據(jù)輸出到總線,。74HC595引腳圖(見圖2)功能如下:

   Q0~Q7:并行數(shù)據(jù)輸出端;
    Q7':級聯(lián)輸出端,;
    SRCLK:移位寄存器的時鐘脈沖輸入端,;
    RCLK:存儲寄存器的時鐘脈沖輸人端;
    SER:串行數(shù)據(jù)輸入端,;
    E:輸出有效(低電平),;
    SRCLR:主復(fù)位(低電平)。

關(guān)鍵字:PIC12C508 LED顯示電路

 

1.3 硬件電路設(shè)計
    在電路中,,兩片74HC595,,一片作為段碼驅(qū)動A,另一片作為位碼驅(qū)動B,,采用級聯(lián)方式連接,。單片機PIC12C508的GP0,GP1和GP2端口模擬數(shù)據(jù)輸出端和時鐘輸出端,。段碼驅(qū)動A的串行數(shù)據(jù)輸入端(SER)和移位寄存器時鐘端 (SRCLK)分別接12C508的GP0和GP1端口,,存儲寄存器時鐘端(RCLK)接GP2。位碼驅(qū)動B的SER和SRCLK端分別接段碼驅(qū)動A的級聯(lián)輸出端(Q7')和12C508的GP1端口,,RCLK端接GP2,。同時,兩片74HC595的E端接地(見圖3)。

 

    在顯示過程中,,通過譯碼表確定要顯示字符的段碼值,,根據(jù)字符在LED中的顯示位置(假定為最低位)確定其位碼值為FEH(1111 1110)。先將位碼值在SR-CLK脈沖的作用下送入段碼驅(qū)動A,;接著取字符段碼值,,同樣送入段碼驅(qū)動A。此時,,位碼值已通過級聯(lián)端Q7'送入位碼驅(qū)動 B,。然后,讓GP2輸出一上升沿,,使移位寄存器中的值輸出至存儲寄存器,,進而從8個并行輸出端輸出。延時2 ms,,字符就可在預(yù)定位置顯示,。若要求在低二位顯示時,位碼變?yōu)镕DH(1111 1101),,再譯得第二個字符的段碼值,,重復(fù)上述過程即可。這樣,,在主程序中循環(huán)調(diào)用顯示程序,,交替發(fā)送段碼和位碼,就可使LED達到理想的顯示效果,。

關(guān)鍵字:PIC12C508 LED顯示電路

 

2 程序流程及編寫
    主程序流程圖如圖4所示,,以下程序?qū)崿F(xiàn)數(shù)字0~7的顯示:

 

3 結(jié) 語
    在此介紹一種新型LED顯示電路,采用串行方式,,極大地節(jié)省了單片機I/O口,,所用芯片體積小,價格低廉,,軟件譯碼方式增大顯示信息量,,且簡化了硬件電路,故該模塊特別適用于低價格的便攜式系統(tǒng),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。