2 LED顯示屏系統(tǒng)的組成
2.1 原理框圖和硬件電路結(jié)構(gòu)
顯示屏控制系統(tǒng)由顯示控制器和LED點(diǎn)陣顯示屏組成,??刂葡到y(tǒng)的結(jié)構(gòu)框圖如圖1所示。主要由微處理器,、通信電路,、數(shù)據(jù)存儲(chǔ)器、顯示電路等組成,。
2.2 AT89S51芯片
本顯示系統(tǒng)" title="顯示系統(tǒng)">顯示系統(tǒng)采用ATMEL公司新推出的AT89S51作為主控芯片,,AT89S51擁有與INTEL公司的8051相同的內(nèi)核和引腳排列。表1為AT89S51的內(nèi)部功能表,,AT89S51除了具有8051的全部功能外,,還內(nèi)置了一些比較實(shí)用的功能部件。如AT89S51內(nèi)部的程序存
儲(chǔ)器是4KB可擦寫(xiě)的flashROM,,下載程序代碼整個(gè)過(guò)程僅用幾秒鐘,,使用起來(lái)非常方便。而8051內(nèi)部的程序存儲(chǔ)器是4KB的PROM,,只能一次性寫(xiě)入程序代碼,,以后就無(wú)法修改。另外AT89S51提供了一個(gè)ISP下載接口,。很適合用于單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)或開(kāi)發(fā),。
3 系統(tǒng)硬件電路的介紹
顯示屏控制器的硬件電路部分主要由三個(gè)部分組成:外部存儲(chǔ)器的擴(kuò)展、串行通信接口和LED點(diǎn)陣顯示驅(qū)動(dòng)及接口電路,。
一般來(lái)說(shuō)要顯示的內(nèi)容比較多,,所以必須要擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。靜態(tài)數(shù)據(jù)存儲(chǔ)器成本低,、功耗小,,讀寫(xiě)速度快,我們使用二片靜態(tài)RAM62256數(shù)據(jù)存儲(chǔ)器(共64KB),。把要顯示的內(nèi)容代碼全部存放到62256里面,。
62256與單片機(jī)的接口電路如圖2所示,顯示的內(nèi)容代碼通過(guò)串行接口下載到62256中。串行通信接口電路如圖3所示,,通過(guò)MAX232E跟PC機(jī)的串行口連接,。LED顯示驅(qū)動(dòng)及接口電路如圖4所示,控制信號(hào)通過(guò)緩沖器74LS245后分兩路,,一路由CD4515譯碼后經(jīng)TIP127驅(qū)動(dòng)點(diǎn)陣的行,;另一路由數(shù)據(jù)移位寄存器74HC595驅(qū)動(dòng)點(diǎn)陣的列。當(dāng)多個(gè)顯示單元級(jí)聯(lián)時(shí)只需相應(yīng)地把下一級(jí)輸入接到上一級(jí)的輸出即可,。
[next]
圖3 AT89S51與PC機(jī)的通信電路
4 軟件程序
軟件程序是整個(gè)控制系統(tǒng)的核心部分,。整個(gè)軟件設(shè)計(jì)主要分為兩大部分:顯示部分和通信部分。顯示部分采用動(dòng)態(tài)掃描的方式,,實(shí)現(xiàn)對(duì)顯示屏要顯示的漢字,、圖像、字符等數(shù)據(jù)信息進(jìn)行傳輸控制以及顯示等功能,。程序中將數(shù)據(jù)存儲(chǔ)器分為三個(gè)區(qū):顯示緩沖區(qū),、數(shù)據(jù)存儲(chǔ)區(qū)和接收緩沖區(qū)。單片機(jī)通過(guò)串口中斷接收PC機(jī)傳來(lái)的數(shù)據(jù),,暫時(shí)存放在接收緩沖區(qū),,經(jīng)分析處理后按一定的規(guī)律放入數(shù)據(jù)存儲(chǔ)區(qū)保存起來(lái),然后再根據(jù)顯示方式依次從數(shù)據(jù)存儲(chǔ)器中取出數(shù)據(jù)放入顯示緩沖區(qū)中用于顯示,。顯示采用逐行掃描的方式,,圖5是顯示一屏字符的程序流程圖。與PC機(jī)的實(shí)時(shí)通信部分主要是利用單片機(jī)串口中斷接收數(shù)據(jù)信息,,實(shí)現(xiàn)與計(jì)算機(jī)的數(shù)據(jù)信息傳輸,。其程序流程圖如圖6所示。
[next]
通信部分的上位機(jī)軟件采用Visual Basic(簡(jiǎn)稱VB)編程,,使用VB提供具有強(qiáng)大功能的通信控件MSCOMM,,該控件可對(duì)串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置,直接利用PC機(jī)的串口發(fā)送數(shù)據(jù),。為實(shí)現(xiàn)單片機(jī)與PC機(jī)的可靠通信,,須保證雙方具有相同的數(shù)據(jù)格式和波特率。該軟件的使用比較簡(jiǎn)單,,如圖7所示,。使用時(shí)可以先用Microsoft Word處理好需要顯示的內(nèi)容(注意頁(yè)面設(shè)置的寬度跟LED顯示屏的寬度應(yīng)該相同),然后選擇編輯菜單里面的全選命令和復(fù)制命令,,然后運(yùn)行LED顯示下載軟件V1.1,。在界面中選擇“來(lái)自剪貼板”按鈕,需要下載顯示的內(nèi)容即可在右邊的預(yù)覽框中顯示,,檢查無(wú)誤后選擇合適的波特率和連接的串行通信口,按下“下載”按鈕,即可下載到顯示屏上顯示,。需要修改或要顯示新的內(nèi)容時(shí)重復(fù)上述操作即可完成,。使用起來(lái)非常方便。
5 結(jié)束語(yǔ)
本文設(shè)計(jì)的點(diǎn)陣LED顯示屏控制系統(tǒng)以AT89S51單片機(jī)" title="51單片機(jī)">51單片機(jī)為基礎(chǔ),,采用靜態(tài)RAM作為數(shù)據(jù)存儲(chǔ)器,,利用串行接口實(shí)現(xiàn)與PC機(jī)的數(shù)據(jù)傳輸。在系統(tǒng)設(shè)計(jì)中還兼顧了單片機(jī)的抗干擾能力,,有效地提高了系統(tǒng)運(yùn)行的可靠性,。可直接運(yùn)用于實(shí)際場(chǎng)合,??蓪?shí)現(xiàn)漢字、字符及數(shù)字等內(nèi)容的顯示,??梢噪S時(shí)更新顯示的內(nèi)容。使用起來(lái)非常方便,。