基于單片機的LED數字大屏幕顯示系統
1 引言
本文引用地址:http://www.104case.com/article/172556.htmLED顯示屏是八十年代后期在全球迅速發展起來的新型信息顯示媒體,應用越來越廣泛。ATMEGA16L單片機是一款基于AVRRISC的、低功耗CMOS8位單片機,具有16K字節的自編程FLASH,512字節的EEPROM,1K字節的SRAM,通過AVR單片機來控制LED的顯示,結構簡單,應用靈活,并且易于擴展。
2 系統設計原理
2.1 編碼設計
編碼設計有兩個過程:字庫提取以及字模編碼轉換。字庫的提取涉及到的兩個字庫文件,一個為ASC16,專門存放ASCII編碼;另一個為HZK16,專門存放漢字字庫編碼。要提取字庫,首先要對它進行初始化,即打開字庫。然后根據一個字符提取它相應的編碼。首先取出字符的內碼后(注意區分單字節和雙字節的內碼),接著通過內碼得到該字符對應的字模的編碼在ASCII或HZK16內的偏移量,最后就可以根據這個地址在文件中的偏移位置找到相應的字模編碼,我們可以通過這個公式來計算:
在ASCII中,偏移量=(內碼的低地址)*16,
在HZK16中,偏移量=((內碼的高地址-161)*94+(內碼的低地址-161))*32。
此時得到的字模編碼不是最終所要的編碼(單字節數據如英文是按8*16點陣來顯示,而雙字節數據時如漢字是按16*16點陣來顯示的)。這里統一使用8*16點陣,這就需要對其轉換。下圖左表格表示的是漢字編碼在字庫內存放順序,右表格表示的是經過轉換過后的編碼存放順序。編碼轉換過程如圖1所示:
評論