基于ATmega32單片機(jī)的LED顯示屏的灰度設(shè)計(jì)與實(shí)現(xiàn)
1 AVR單片機(jī)簡(jiǎn)介
AVR單片機(jī)是增強(qiáng)型內(nèi)置FLASH的RISC(ReducedInstruction Set CPU)精簡(jiǎn)指令集高速8位單片機(jī),硬件采用哈佛(Harward)結(jié)構(gòu),達(dá)到一個(gè)時(shí)鐘周期可以執(zhí)行一條指令,絕大部分指令都為單周期指令。支持在系統(tǒng)編程ISP,其中MEGA系列還支持在應(yīng)用編程IAP。內(nèi)置的FLASH程序存儲(chǔ)器可擦寫1 000次以上,給用戶的開(kāi)發(fā)生產(chǎn)和維護(hù)帶來(lái)方便。可擦寫10萬(wàn)次的E2PROM,為掉電后數(shù)據(jù)的保存帶來(lái)方便。AVR單片機(jī)有豐富的片內(nèi)資源,如RTC,WATCHDOG,AD轉(zhuǎn)換器,PWM,USART,SPI,TWI接口等,I/O口功能強(qiáng)、驅(qū)動(dòng)能力強(qiáng)。
2 系統(tǒng)整體設(shè)計(jì)方案
LED顯示系統(tǒng)主要由3部分構(gòu)成:PC上位機(jī)圖像文字轉(zhuǎn)換與數(shù)據(jù)發(fā)送單元、主控單元以及顯示子模塊。
4.3 顯示子模塊程序設(shè)計(jì)
顯示子模塊的軟件分為數(shù)據(jù)接收和動(dòng)態(tài)刷新顯示2部分。由于子模塊要實(shí)現(xiàn)16階灰度的表現(xiàn),而且還需要實(shí)現(xiàn)足夠高的刷新速率以避免產(chǎn)生閃爍現(xiàn)象,所以對(duì)刷新顯示部分的速度要求較高。本設(shè)計(jì)采用的方案為:全屏(每個(gè)子模塊為16行×16點(diǎn)/行)刷新分為16份時(shí)間片,每份時(shí)間片實(shí)現(xiàn)一行的掃描。而每行的時(shí)間片又分為15個(gè)子時(shí)間片,其中灰度為最暗的點(diǎn)點(diǎn)亮0個(gè)子時(shí)間片,灰度為最亮的點(diǎn)點(diǎn)亮15個(gè)時(shí)間片,由此實(shí)現(xiàn)占空比為0/15~15/15共16個(gè)級(jí)別的平均電流控制,從而實(shí)現(xiàn)16階的灰度顯示。通過(guò):MEGA8片內(nèi)定時(shí)器T2,每個(gè)子時(shí)間片取得52μs的掃描時(shí)間,15個(gè)子時(shí)間片構(gòu)成一個(gè)單行掃描的時(shí)間片(52 μs×15=780μs),16個(gè)單行掃描時(shí)間片又構(gòu)成一次全屏的掃描(780 μs×16=12.48 ms),則刷新頻率約為80 Hz,在最高亮度下也可以保證不出現(xiàn)行閃的現(xiàn)象。
5 結(jié) 語(yǔ)
本文提出的基于AVR單片機(jī)的LED顯示屏已應(yīng)用于現(xiàn)場(chǎng),AVR單片機(jī)的看門狗功能使得系統(tǒng)穩(wěn)定可靠。由于本設(shè)計(jì)是主從式的解決方案,具有可擴(kuò)展性,并且采用ISP功能給電路板的調(diào)試和系統(tǒng)的維護(hù)帶來(lái)了很大的方便。實(shí)踐證明,本系統(tǒng)可以方便地顯示各種字體的文字信息及16階灰度的圖像,畫面清晰、性能穩(wěn)定、操作簡(jiǎn)便,具有很好的應(yīng)用價(jià)值。
評(píng)論