女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>發光二極管>

點陣信息轉化規則 - LED大屏幕異步控制器實現方案

2011年11月14日 17:23 《微計算機信息》 作者:王有乾,佘焱,姜建 用戶評論(0
4.2 點陣信息轉化規則:

  由于窗口大小可以任意設置, 窗口的位置可以任意擺放。

  所以對于單個窗口而言, 它在顯存中的映射可能并非是字(2byte)對齊的。以圖4 為例, 在一個大小為160(寬)×96(高)的屏幕上開設一個左上角坐標為(20,16), 大小為86×47 的窗口, 則此窗口第一行的前4 個像素點在顯存中的映射為地址是0x83000282 和0x83000283 的兩個字節的低4 位, 所以這個窗口在顯存中的映射并不是字對齊的。由于MCU 只能以字(2byte)為單位對顯存進行操作, 所以PC 軟件在對該窗口進行點陣信息轉換時, 如果直接對區域1 (窗口的實際大小)進行轉換存儲,則在對該窗口進行特技處理時會存在大量的位運算, 這樣會大大降低運算效率, 從而影響特技效果的顯示, 這樣就很難滿足用戶對特技顯示效果的要求。

  

?

  為了解決上述問題, 可以將區域1 橫向擴展成起點坐標為(16,16), 大小為96×47 的區域2。易知, 區域2 在顯存中的映射是字對齊的。為了避免運算時的位操作, PC 軟件在對區域1 進行點陣信息轉換時, 可按區域2 來進行, 只是需將區域1 的擴展部分的數據全填為1。這樣處理會犧牲掉一小部分FLASH 存儲器空間, 但卻可避免特技處理時大量的位運算, 從而大大提高運算效率, 因此這樣做是值得的。

  4.3 緩存數據的組織方案:

  由于MCU 只能對顯存進行寫操作, 而在進行特技運算時,往往需要前一幀信息才能得到下一幀的信息。所以, 首先, 需要在緩存中劃分出一塊和顯存大小相等, 地址一一對應的區域screen 用于保存整屏幕的前一幀信息。

  

?

  又由于MCU 對顯存只能進行字操作, 并且多個窗口之間可能會出現區域重疊, 所以如果各窗口的特技運算都直接在screen 區域上進行, 則窗口重疊部分信息可能會發生混亂。因此如圖5 所示, 也需要在緩存中為每個窗口劃分出一塊存儲器空間(area 1, area 2, ..., area n), 用于保存本窗口顯示的前一幀信息。這樣在特技運算時, 首先要在area 區域中對各窗口數據進行運算得到各窗口的下一幀信息, 然后將area 區域中數據寫入該窗口在screen 區域中的相應地址以保存整屏幕最新一幀信息, 最后把screen 中相應數據寫入顯存從而完成顯示。

  4.4 軟件設計:

  基于上述方案, MCU 程序的設計變得非常簡潔。程序結構如圖6 所示, 控制器上電后, 首先進行系統初始化, 然后從FLASH 中讀取屏參數, 進行參數初始化。接著建立任務TaskCONtrol, TaskControl 擁有比各窗口顯示任務都要高的優先級, 它主要用于對各窗口顯示任務進行實時管理。每隔一段時間TaskControl 就要對reset 標志進行一次查詢, 如果reset=1, 它會刪除原先建立的各窗口顯示任務, 然后從FLASH 中讀取新的窗口個數, 依此建立新任務, 將每個窗口的顯示交由單個窗口顯示任務來控制。

  

?

  

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發表人:小蘭 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?