我的带字库12864液晶不能显示"听"字

我手上有块带字库12864液晶(蓝色背景光),今天写了个程序玩玩。奇怪的事发生了,就是不能显示“听”字。别的字都可以。以下是程序不知道是怎么回事。请高手看看。谢谢!#in... 我手上有块带字库12864液晶(蓝色背景光),今天写了个程序玩玩。奇怪的事发生了,就是不能显示“听”字。别的字都可以。
以下是程序不知道是怎么回事。请高手看看。谢谢!

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcd_rs=P2^0;
sbit lcd_rw=P2^1;
sbit lcd_e=P2^2;
uchar code ma[]="听";
uchar num;
void delay (uchar z)
{
uchar x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}

void write_com (uchar com) //写指令
{
lcd_rs=0;
lcd_rw=0;
lcd_e=0;
P0=com;
delay(5);
lcd_e=1;
delay(5);
lcd_e=0;
}

void write_data (uchar date) //写数据
{
lcd_rs=1;
lcd_rw=0;
lcd_e=0;
P0=date;
delay(5);
lcd_e=1;
delay(5);
lcd_e=0;
}

void init_lcd ( )
{
write_com(0x30); //8位并口
delay(5);
write_com(0x0f); //开显示
delay(5);
write_com(0x01); //清屏
delay(5);
}

void main ( )
{
init_lcd();
write_com(0x84);

for(num=0;num<2;num++)
{
write_data(ma[num]);

}

//write_com(0x14);

while(1);
}
显示“听”字是效果 。什么都没有
展开
 我来答
lqwfn2angela
2010-07-13 · TA获得超过108个赞
知道答主
回答量:89
采纳率:0%
帮助的人:82.5万
展开全部
这不是 程序问题。以为液晶有些汉字不能直接用数组显示,你可以查液晶数据手册,看看听的编码是多少,一个汉字由2个字节组成的,你先写高字节,然后再写低字节。我现在查到“听”字为 0xccfd,
所以你程序把这段程序
for(num=0;num<2;num++)
{
write_data(ma[num]);

}
改为
write_data(0xcc);
write_data(0xfd);

OK
搞定~~~~~~~~~
参考~
http://hi.baidu.com/lqwfn/blog/item/3559dc136f61b50f5aaf53d4.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式