<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 大屏幕LED 點(diǎn)陣顯示系統(tǒng)

          大屏幕LED 點(diǎn)陣顯示系統(tǒng)

          作者: 時(shí)間:2008-06-24 來(lái)源:網(wǎng)絡(luò) 收藏

          作者:陳君霞 黃躍華 甘 文

          本文引用地址:http://www.ex-cimer.com/article/258672.htm

          關(guān)鍵詞: ,

          摘要:本文設(shè)計(jì)的點(diǎn)陣 控制系統(tǒng)以 單片機(jī)為基礎(chǔ),采用靜態(tài)RAM 作為數(shù)據(jù)存儲(chǔ)器,利用串行接口實(shí)現(xiàn)與PC 機(jī)的數(shù)據(jù)傳輸??蓪?shí)現(xiàn)漢字、字符及數(shù)字等內(nèi)容的顯示??梢噪S時(shí)更新顯示的內(nèi)容。

          1 引言

          本文所設(shè)計(jì)的是一個(gè)同等灰度的單色 控制系統(tǒng),該控制系統(tǒng)以 為控制器,采用RS-232 通信標(biāo)準(zhǔn),可顯示漢字、字符、數(shù)字或單色圖片。系統(tǒng)采用ATMEL 公司新推出的AT89S51 作為主控芯片,由單片機(jī)完成與PC 機(jī)的通訊,同時(shí)完成數(shù)據(jù)存儲(chǔ)、循環(huán)顯示等。系統(tǒng)能脫機(jī)運(yùn)行,具有結(jié)構(gòu)簡(jiǎn)單、維護(hù)方便、顯示刷新速度快、成本低等特點(diǎn)。配合在線下載程序,隨時(shí)更新顯示的內(nèi)容,通過(guò)級(jí)連更改顯示屏面積的大小,使用起來(lái)非常方便。

          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 芯片

          采用ATMEL 公司新推出的AT89S51 作為主控芯片,AT89S51 擁有與INTEL 公司的8051 相同的內(nèi)核和引腳排列。表1 為AT89S51 的內(nèi)部功能表,AT89S51 除了具有8051 的全部功能外,還內(nèi)置了一些比較實(shí)用的功能部件。如AT89S51 內(nèi)部的程序存儲(chǔ)器是4KB 可擦寫的flashROM,下載程序代碼整個(gè)過(guò)程僅用幾秒鐘,使用起來(lái)非常方便。而8051 內(nèi)部的程序存儲(chǔ)器是4KB 的PROM,只能一次性寫入程序代碼,以后就無(wú)法修改。另外AT89S51 提供了一個(gè)ISP 下載接口。很適合用于單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)或開發(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ǔ)器成本低、功耗小,讀寫速度快,我們使用二片靜態(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í)的輸出即可。

          圖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 所示。

          通信部分的上位機(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ī)為基礎(chǔ),采用靜態(tài)RAM 作為數(shù)據(jù)存儲(chǔ)器,利用串行接口實(shí)現(xiàn)與PC 機(jī)的數(shù)據(jù)傳輸??蓪?shí)現(xiàn)漢字、字符及數(shù)字等內(nèi)容的顯示??梢噪S時(shí)更新顯示的內(nèi)容。使用起來(lái)非常方便。在系統(tǒng)設(shè)計(jì)中還兼顧了單片機(jī)的抗干擾能力,有效地提高了系統(tǒng)運(yùn)行的可靠性。可直接運(yùn)用于實(shí)際場(chǎng)合。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();