表2图形显示LCD模块ACM19264ASB的DDRAM地址表
CS1=1
CS2=1
CS3=1
Y=
0
1
…
63
0
1
…
63
0
1
…
63
行号
X=0
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
0↓7
…
…
…
…
…
…
…
…
…
…
…
…
…
X=7
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
DB0↓DB7
DB0↓DB7
…
DB0↓DB7
56↓63
5汉字库到LCD的调整与转换
从表1和表2可以看出,汉字库点阵需要经过调整和转换才能显示在LCD上。具体地讲,需要先从行点阵转换到列点阵,再翻转180°。相应程序如下:
先将#include加到头文件中,然后设置数组:
unsignedintfarHzLib[16*1000];转换前的汉字库点阵数组,
双字节写入
unsignedintfarHzXLib[8*2000];转换后的汉字库点阵数组,
单字节写入
这里,转换前的汉字库数组每次按双字节写入16位点阵数据,快捷方便,转换后的汉字库数组按单字节写入。
最后把转换子程序函数加到主程序后面即可。转换子程序如下:
voidHZ_TZH()
{
inti,j,k,GetBit;
for(k=0;k{
for(i=0;i<16;i++);先转换低16字节
{
for(j=7;j>=0;j--)
{
GetBit=(HzLib[16*k+j]>>(15-i))-(HzLib
[16*k+j]>>(16-i))*2;
取每个字节的相同位,实现行到列的转换
HzXLib[i+32*k]+=GetBit<时,高低位顺序倒转180°