新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機的LED顯示屏應用設計

        基于AVR單片機的LED顯示屏應用設計

        作者: 時間:2012-04-15 來源:網絡 收藏

        4 系統軟件

        本文引用地址:http://www.104case.com/article/171618.htm

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

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

          4.1 上位機軟件設計

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

          4.2 主機板ATmega32程序設計

          主機部分軟件主要分為按鍵響應處理,顯示數據分割和分割后的數據發送3部分。其中顯示數據的分割占最主要的地位,同時顯示內容的滾屏移動也包括在這部分中。按鍵響應使用外中斷響應,配合定時器TO進行去抖處理后置位按鍵有效標志,在主程序中檢查該按鍵有效標志并進行響應處理。


          4.3 顯示子模塊程序設計

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

        5 結 語

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 罗山县| 阿瓦提县| 安远县| 衡水市| 龙江县| 北安市| 勃利县| 中卫市| 盐津县| 邯郸县| 绵阳市| 比如县| 原平市| 阿拉善左旗| 尤溪县| 陆丰市| 潮州市| 彭山县| 祁东县| 冷水江市| 平武县| 日喀则市| 田阳县| 漳浦县| 平罗县| 麻栗坡县| 陆良县| 攀枝花市| 阜南县| 晋城| 伊川县| 宁晋县| 上饶县| 南投县| 黄浦区| 榆林市| 荃湾区| 定州市| 沿河| 游戏| 东港市|