·上一文章:彩色异步LED大屏幕显示屏设计方案
·下一文章:一种24V直流电机驱动器设计
1 引言
LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,应用越来越广泛。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所示: