一种低功耗的便携式人机界面系统
对于GBK字库和GB2312字库,他们的解码部分部分略有不同,这个区别主要是由于他们的编码方式不同引起的,对于GBK字库,解码的方式如下:

其中qh、ql分别代表GBK的第一个字节和第二个字节(也就是高位和低位),size代表汉字字体的大小(比如16字体,12字体等),foffset则为对应汉字点阵数据在字库里面的起始地址。
系统启动以后,首先完成时钟的初始化,采用外部8 MHz的晶振作为输入时钟,内部锁相环将时钟倍频到72 MHz作为系统时钟,完成GPIO的初始化,作为LCD驱动IO的通用IO口的时钟设置为50 MHz的推挽模式,接着完成硬件SPI1的初始化,SPI时钟频率设置为18 MHz,接着完成液晶的初始化,此过程是通过发送特定的命令序列来实现的,然后刷新显示背景颜色,设置字体颜色,通过上面的程序完成字库中汉字点阵序列的查询,将汉字点阵送液晶屏显示。
系统软件设计的流程图如图4所示。

采用方法还不但可以实现标准字体的显示,还可以根据系统要求,采用专用软件生成各种需要的字体,为设计多样性的人机界面系统提供了一种可行的方案。
4 结论
采用SPI Flash来存储汉字字库,通过彩色TFT液晶屏显示,有效地扩展了应用的范围,经过实验验证,本系统的设计方法完全达到设计要求。
评论