《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于STC89C55RD+單片機(jī)的LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)
基于STC89C55RD+單片機(jī)的LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)
微計(jì)算機(jī)信息
劉鑫 張慶順 陳麗霞 王虹
摘要: 基于 STC89C55RD+單片機(jī)的在應(yīng)用可編程功能,設(shè)計(jì)了一個(gè) LED點(diǎn)陣顯示系統(tǒng)。該系統(tǒng)采用了上—下位機(jī)的 ...
Abstract:
Key words :
</a></a>單片機(jī)" title="單片機(jī)">單片機(jī)" title="單片機(jī)">單片機(jī)的在應(yīng)用可編程功能,設(shè)計(jì)了一個(gè) LED點(diǎn)陣顯示系統(tǒng)。該系統(tǒng)采用了上—下位機(jī)的結(jié)構(gòu)構(gòu)建,上位機(jī) PC可通過串行通信接口實(shí)現(xiàn)對(duì)下位機(jī) LED點(diǎn)陣系統(tǒng)顯示內(nèi)容的控制。下位機(jī)以 LED屏的顯示電路和單片機(jī)控制電路為核心,在沒有外擴(kuò)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的情況下,直接利用該單片機(jī)大容量的數(shù)據(jù) flash區(qū),通過在應(yīng)用可編程功能實(shí)現(xiàn)多條信息的實(shí)時(shí)發(fā)布、擦除和修改。

1 引言

  在車站、商場(chǎng)、學(xué)校等一些需要發(fā)布多變的實(shí)時(shí)信息或進(jìn)行廣告宣傳的場(chǎng)所,黑板、紙張或是霓虹燈廣告牌這些傳統(tǒng)的媒介手段,不論是在顯示效果還是可修改性上都已無法滿足當(dāng)前的需求。而 LED點(diǎn)陣顯示屏具有耗電省、成本低、壽命長(zhǎng)、占用空間小以及能夠?qū)崟r(shí)顯示等特點(diǎn),而且顯示內(nèi)容的信息量大,用戶可隨時(shí)任意自行編輯修改顯示內(nèi)容,因此,近年來已得到了廣泛應(yīng)用。

2 總體設(shè)計(jì)

  系統(tǒng)采用了上位機(jī)——下位機(jī)的結(jié)構(gòu)構(gòu)建,上位機(jī)為 PC機(jī),通過串行通信接口與下位機(jī)顯示系統(tǒng)進(jìn)行通信[1],以實(shí)現(xiàn)對(duì)顯示內(nèi)容的實(shí)時(shí)擦除、更新等操作;下位機(jī)系統(tǒng)主要包括單片機(jī)控制電路和顯示電路兩部分,漢字顯示采用 16x16點(diǎn)陣模式,通過單片機(jī)的控制,實(shí)現(xiàn)字符從右往左滾動(dòng)的動(dòng)態(tài)顯示效果?;究驁D如圖 1所示。

3 系統(tǒng)的硬件結(jié)構(gòu)

  3.1 MCU的選擇

  MCU是整個(gè)下位機(jī)系統(tǒng)的核心部件,其性能和片內(nèi)資源很大程度上決定了該系統(tǒng)工作的靈活性、先進(jìn)性和穩(wěn)定性?;诖耍鞠到y(tǒng)選用了 STC公司生產(chǎn)的 STC89C55RD+增強(qiáng)型 51單片機(jī)。

  STC89C55RD+單片機(jī)的指令系統(tǒng)、硬件結(jié)構(gòu)以及片內(nèi)資源與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,采用DIP40封裝形式;支持的最高時(shí)鐘頻率為80M,能最大限度地提高M(jìn)CU的運(yùn)行速度;片內(nèi)包含大容量的20KBFlash程序存儲(chǔ)器和1KB的數(shù)據(jù)存儲(chǔ)器,其內(nèi)部可用Data Flash達(dá)58個(gè)扇區(qū)共29KB;具有在系統(tǒng)可編程(ISP)功能和在應(yīng)用可編程(IAP)功能,可實(shí)現(xiàn)遠(yuǎn)程軟件升級(jí),無需編程器,從而大大縮短開發(fā)復(fù)雜度,同時(shí)可節(jié)省購(gòu)買編程器的額外投入。

  3.2 串行通信

  系統(tǒng)上位機(jī)和下位機(jī)通過串行通信接口進(jìn)行聯(lián)系。 STC89C55RD+單片機(jī)內(nèi)部含有一個(gè)可編程的全雙工串行通信接口,即 RXD(P3.0)和TXD(P3.1),具有 UART的全部功能,該接口電路能同時(shí)進(jìn)行數(shù)據(jù)發(fā)送和接收。一般情況下只要通過RXD、TXD和GND三根線就可以實(shí)現(xiàn)與上位機(jī)PC的串行通信,根據(jù)通信距離的遠(yuǎn)近,可以選擇RS232或RS485通信方式,由于本系統(tǒng)中顯示屏控制電路與上位機(jī)PC的距離較近,故選用了RS-232標(biāo)準(zhǔn)總線接口。具體電路圖如圖2所示。

  3.3 驅(qū)動(dòng)及掃描電路

  LED點(diǎn)陣選用8x8模塊,每 4塊排列成一個(gè)16x16的點(diǎn)陣,用于顯示一個(gè)漢字。點(diǎn)陣每一行的所有LED共陰極,每一列的所有LED共陽極。

  因?yàn)閱纹瑱C(jī)I/O口的驅(qū)動(dòng)能力有限,所以每一行LED陰極通過一個(gè)三極管8550與電源相連,I/O口僅需要提供幾個(gè)毫安的灌入電流即可控制其通斷。考慮到本系統(tǒng)可以同時(shí)顯示六個(gè)漢字,故每一列 LED的陽極都通過一個(gè)限流電阻和一個(gè)三極管8550與電源相連,當(dāng)六個(gè)漢字的同一行漢字字模(即12個(gè)字節(jié))通過鎖存器74HC377并行送出后,由移位寄存器 74HC595輸出行選通信號(hào),來點(diǎn)亮該行的LED,接著再送下一行數(shù)據(jù),再選中下一行有效,直到16行全被掃描過一遍。至此,一幅完整的文字信息就顯現(xiàn)出來,然后按這種方式反復(fù)掃描,借助于程序的控制,即可實(shí)現(xiàn)信息從右至左的動(dòng)態(tài)顯示了。具體電路圖如圖3所示。

 該系統(tǒng)的軟件主要實(shí)現(xiàn)的功能包括:上位機(jī)信息(或命令)的發(fā)送和下位機(jī)點(diǎn)陣顯示內(nèi)容及方式的控制兩部分。

  4.1上位機(jī)軟件

  上位機(jī)信息(或命令)的發(fā)送使用普通的字模提取軟件和串口調(diào)試軟件即可,在與下位機(jī)進(jìn)行通信時(shí),須保證雙方具有相同的數(shù)據(jù)格式和波特率,本設(shè)計(jì)采用 RS232通信,波特率為9600bit/s。同時(shí),制定了上下位機(jī)之間的通信協(xié)議,信息包格式如圖4所示。

  4.2下位機(jī)軟件

  LED點(diǎn)陣的顯示內(nèi)容及方式主要由單片機(jī)的程序進(jìn)行控制。程序采用模塊化結(jié)構(gòu),主要包括有主程序、串口中斷服務(wù)子程序以及掃描顯示子程序等。

  (1)主程序?yàn)轫樞蚪Y(jié)構(gòu),主要完成系統(tǒng)對(duì) I/O口和一些變量的初始化,定時(shí)器初始值、串行通信工作方式、以及波特率的設(shè)置[2],然后循環(huán)調(diào)用掃描顯示子程序,顯示原來Data Flash區(qū)中已存在的漢字信息。

  (2)串口中斷服務(wù)子程序采用接收中斷啟動(dòng)[3],主要負(fù)責(zé)接收來自上位機(jī) PC發(fā)送的信息,包括欲顯示的內(nèi)容以及命令字節(jié),并根據(jù)命令完成相應(yīng)的信息寫入、擦除等操作,最后開中斷返回主程序。其流程圖入圖5所示。

  其中信息的寫入、擦除等操作主要由單片機(jī)的IAP功能來完成。 IAP,即在應(yīng)用可編程,是指在程序運(yùn)行時(shí)程序存儲(chǔ)器可由程序自身進(jìn)行擦寫。通過IAP功能的相關(guān)指令,既可以將 欲顯示的數(shù)據(jù)寫入到程序存儲(chǔ)器指定的扇區(qū)中,也可以根據(jù)需要擦除相應(yīng)扇區(qū)中的數(shù)據(jù)。這樣,數(shù)據(jù)就如同燒入的程序一樣,掉電不會(huì)丟失。當(dāng)然寫入數(shù)據(jù)的區(qū)域與程序存儲(chǔ)區(qū)是分開的,以使程序不會(huì)遭到破壞。

  (3)掃描顯示子程序則負(fù)責(zé)從顯示緩沖區(qū)取出字模,輸出行選通信號(hào)和列掃描信號(hào),進(jìn)行動(dòng)態(tài)掃描顯示。

  5 結(jié)束語

  本點(diǎn)陣顯示系統(tǒng)無需外擴(kuò)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,通過STC89C55RD+單片機(jī)的IAP功能實(shí)現(xiàn)信息的實(shí)時(shí)發(fā)布和更新。該系統(tǒng)外形美觀、工作穩(wěn)定、字符清晰且字體可自由設(shè)定,現(xiàn)已實(shí)際應(yīng)用于我院作為信息發(fā)布的主要平臺(tái)。另外,可對(duì)系統(tǒng)稍加改進(jìn),便可實(shí)現(xiàn)通過一臺(tái)計(jì)算機(jī)來控制多塊顯示屏,以適應(yīng)不同場(chǎng)所、不同時(shí)間顯示不同信息的需要。如果在該系統(tǒng)的基礎(chǔ)上添加無線通訊模塊[4],就可以開發(fā)出基于無線數(shù)據(jù)傳輸?shù)?LED顯示系統(tǒng)。

  本文作者創(chuàng)新點(diǎn):該系統(tǒng)電路結(jié)構(gòu)簡(jiǎn)單,沒有外擴(kuò)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,充分發(fā)揮了STC89C55RD+單片機(jī)的IAP功能,利用軟件實(shí)現(xiàn)了信息的隨時(shí)發(fā)布和更新。

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