一、LCD显示汉字的经典做法
现在越来越多的智能产品具有汉字显示功能。
如何高效、快速地完成汉字显示的编程呢?经典的做法是将16x16完整的汉字点阵库,(270k),全部装入闪存或EPROM中,单片机根据要显示的汉字的内码,计算出汉字点阵的地址,再读取32个点阵字节,按照LCD显示的特性,重新排列点阵的次序后送显示。这种方法成本高、使用芯片多、功耗大,不适合非总线单片机(不扩展总线)系统的产品开发。另外,由于所有的计算、控制工作全部由单片机来完成,增加了编程的难度,延长了开发时间。
用VB6.0编制的一个汉字处理程序(Hz_Make),可以自动生成LCD点阵屏显示汉字的单片机汇编程序(MCS-51系列)。使用简单,可以随时修改要显示的汉字,而不必人工干预。
二、VB6.0编制的汉字处理程序的功能
Hz_Make可以完成以下的功能:1.扫描要显示的汉字,删除重复的汉字。2.对汉字重新编码。3.提取汉字相对应的点阵,按LCD显示要求,纵向排列(见附图)。4.自动生成:1).点阵表(Zm_Hz.asm);2)散转程序(Zc_Hz.asm);3)跳转程序(jmp_Hz.asm)。
Hz_Make内部可以处理7000个不同的汉字,处理速度快,减少单片机程序的编制,提高了工作效率。
当显示的汉字多、点阵表无法全部装入单片机的闪存中时,可以将点阵表放入E2PROM24xx中,采用间接寻址的方法读取。
三、LCD显示汉字举例
以“银行排队主机”汉字显示的编程为例。LCD的控制芯片是KS0107、KS0108;128x64点阵纵向排列。
1.用记事本生成一个Hz.TXT文件。
每行必须有一个标号(如:shuzi:),每行的汉字个数与LCD点阵屏每行的汉字个数相同,不足的添加空格。所有符号、数字必须全角输入。
2.运行Hz_Make,生成Zm_Hz.asm、Zc_Hz.asm、jmp_Hz.asm三个单片机汇编程序。
3.在单片机汇编主程序中蕴涵上述三个文件:
四、总结
按照上述的方法,也可以提取ASCII的点阵。在实际应用中,还可以将单片机要处理的复杂运算,生成数据表格,使单片机不工作在高主频,以查表方式快速完成计算。这对手持产品降低功耗、延长工作时间,都非常有意义。
上一篇:用VB实现16点阵汉字字形码的源程序
下一篇:C语言main函数的标准定义
- 热门资源推荐
- 热门放大器推荐