<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 滾動(dòng)文字與圖像兼得的AVR單片機LED顯示屏設計

滾動(dòng)文字與圖像兼得的AVR單片機LED顯示屏設計

作者: 時(shí)間:2014-01-16 來(lái)源:網(wǎng)絡(luò ) 收藏
d-wrap: break-word; text-indent: 2em; line-height: 24px; color: rgb(62, 62, 62); font-family: Tahoma, Arial, sans-serif; font-size: 14px; text-align: justify; ">在需要從PC上位機下載數據到FLASH ROM時(shí),通過(guò)MAX232芯片實(shí)現ATmega32和PC機的通信。

本文引用地址:http://dyxdggzs.com/article/226922.htm

3.2 子模塊顯示驅動(dòng)電路

子模塊顯示驅動(dòng)電路由RS 485轉換電路、子模塊地址標識電路和點(diǎn)陣驅動(dòng)電路組成。RS 485轉換電路和主機板中一樣,同樣采用MAX485作電平轉換。

由于采用單片機的異步串行口進(jìn)行多機通信進(jìn)行數據傳輸,每個(gè)子模塊應該有和其位置相對應的地址標識。地址標識電路采用8位并進(jìn)串出芯片74HCl65和8位撥碼開(kāi)關(guān)組成,因此本系統最多可以容納255個(gè)子模塊(地址OxFF作為更新子模塊顯示的控制字)。如果簡(jiǎn)單地通過(guò)軟件內部的設定來(lái)決定各個(gè)子模塊的地址,每個(gè)AT-mega8所對應的程序會(huì )有差別,這樣會(huì )給程序的燒寫(xiě)帶來(lái)不便,因此采用外部硬件電路對子模塊的地址進(jìn)行標識。采用74HC165作串并行轉換是為了節省單片機的引腳資源。點(diǎn)陣采用動(dòng)態(tài)掃描法進(jìn)行驅動(dòng),并且實(shí)現16階灰度顯示,為了節省單片機程序中掃描程序的時(shí)間消耗,提高掃描速度,顯示數據采用并行輸出的方法。驅動(dòng)電路采用4-16譯碼器74HC154譯碼后驅動(dòng)16個(gè)中功率三極管8550作為行選,2個(gè)8位數據鎖存器74LS373作為行數據鎖存。

4 系統軟件設計

系統軟件設計包括上位機軟件的設計、主機板AT-mega32程序設計、顯示子模塊ATmega8程序設計3部分。

上位機軟件完成圖像和文字的編輯,通過(guò)計算機串行接口把顯示數據傳送到主機板上。主機板接收上位機的數據并通過(guò)內部Boot Loader區的程序進(jìn)行FLASH ROM內顯示數據的自更新。主機板把顯示數據進(jìn)行分割處理后發(fā)送給每個(gè)子模塊,并且完成顯示數據的上下、左右滾屏處理。子模塊通過(guò)軟件調制脈沖占空比的方法,實(shí)現16階灰度圖像顯示。

4.1 上位機軟件設計

上位機軟件使用VB開(kāi)發(fā),主要完成圖像的取點(diǎn)、線(xiàn)性補償和點(diǎn)陣數據生成。首先將圖像文件轉換為96×64分辨率、256階色深的單色灰度圖像,由于使用占空比驅動(dòng)的其占空比/亮度為對數特性,所以需加入指數特性調整為線(xiàn)性之后才能交付顯示系統進(jìn)行顯示。其計算公式為Dout=15×(Din/255)n。n為比例系數,經(jīng)實(shí)際顯示校對后確定為1.35,同時(shí)通過(guò)該公式完成從256階灰度到16階灰度的轉換。通過(guò)MSComm控件實(shí)現PC機與主機板的通信。

4.2 主機板ATmega32程序設計

主機部分軟件主要分為按鍵響應處理,顯示數據分割和分割后的數據發(fā)送3部分。其中顯示數據的分割占最主要的地位,同時(shí)顯示內容的滾屏移動(dòng)也包括在這部分中。按鍵響應使用外中斷響應,配合定時(shí)器TO進(jìn)行去抖處理后置位按鍵有效標志,在主程序中檢查該按鍵有效標志并進(jìn)行響應處理。4.3 顯示子模塊程序設計

滾動(dòng)文字與圖像兼得的AVR單片機LED顯示屏設計

顯示子模塊的軟件分為數據接收和動(dòng)態(tài)刷新顯示2部分。由于子模塊要實(shí)現16階灰度的表現,而且還需要實(shí)現足夠高的刷新速率以避免產(chǎn)生閃爍現象,所以對刷新顯示部分的速度要求較高。本設計采用的方案為:全屏(每個(gè)子模塊為16行×16點(diǎn)/行)刷新分為16份時(shí)間片,每份時(shí)間片實(shí)現一行的掃描。而每行的時(shí)間片又分為15個(gè)子時(shí)間片,其中灰度為最暗的點(diǎn)點(diǎn)亮0個(gè)子時(shí)間片,灰度為最亮的點(diǎn)點(diǎn)亮15個(gè)時(shí)間片,由此實(shí)現占空比為0/15~15/15共16個(gè)級別的平均電流控制,從而實(shí)現16階的灰度顯示。通過(guò):MEGA8片內定時(shí)器T2,每個(gè)子時(shí)間片取得52μs的掃描時(shí)間,15個(gè)子時(shí)間片構成一個(gè)單行掃描的時(shí)間片(52 μs×15=780μs),16個(gè)單行掃描時(shí)間片又構成一次全屏的掃描(780 μs×16=12.48 ms),則刷新頻率約為80 Hz,在最高亮度下也可以保證不出現行閃的現象。

5 結語(yǔ)

本文提出的基于顯示屏已應用于現場(chǎng),的看門(mén)狗功能使得系統穩定可靠。由于本設計是主從式的解決方案,具有可擴展性,并且采用ISP功能給電路板的調試和系統的維護帶來(lái)了很大的方便。實(shí)踐證明,本系統可以方便地顯示各種字體的文字信息及16階灰度的圖像,畫(huà)面清晰、性能穩定、操作簡(jiǎn)便,具有很好的應用價(jià)值。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 滾動(dòng)文字 AVR單片機 LED

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>