教你一招如何用LCD1602显示汉字

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LCD1602 可以显示简单的汉字了,我想一些初学者还不了解吧? LCD1602不同于LCD12864,LCD1602中的CGRAM与GDRAM

在LCD1602中的自定义CGRAM里面可以存8个字符的信息。

我们这就从这个自动义的CGRAM中,通过绘图的方式,绘制出我们需要的简单汉字。

我绘制的汉字是“一、二、三、年、月、日、中、工”这八个汉字。

#include

#define uint unsigned int

#define uchar unsigned char

sbit RS=P2^0;

sbit RW=P2^1;

sbit EN=P2^2;

uchar i,j;

uchar code table1[]={

0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0x00,

0x00,0x00,0x00,0x0e,0x00,0x1f,0x00,0x00,

0x00,0x0e,0x00,0x0e,0x00,0x1f,0x00,0x00,

0x08,0x1f,0x12,0x0f,0x0a,0x1f,0x02,0x00,

0x0f,0x09,0x0f,0x09,0x0f,0x09,0x13,0x00,

0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,

0x1f,0x04,0x04,0x04,0x04,0x04,0x1f,0x00,

0x04,0x04,0x1f,0x15,0x1f,0x04,0x04,0x00,

};

uchar code table2[]=" QQ:1093027367";

uchar code tab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}; void delayms(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void write_com(uchar date,uchar b)

{

RS=b;

P0=date;

delayms(5);

EN=1;

delayms(5);

EN=0;

}

void init(void)

{

RW=0;

EN=0;

write_com(0x38,0);

write_com(0x0c,0);

write_com(0x06,0);

write_com(0x01,0); }

void main()

{

init();

write_com(0x40,0);

for(i=0;i<64;i++)

{

write_com(table1[i],1);

delayms(5);

}

write_com(0x80,0);

write_com(tab[0],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[1],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[2],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[3],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[4],1);

delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[5],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[6],1); delayms(100);

write_com(' ',1); delayms(100);

write_com(tab[7],1); delayms(100);

write_com(0x80+40,0); delayms(100);

for(j=0;j<143;j++)

{

write_com(table2[j],1);

delayms(5);

}

while(1);

}

相关文档
最新文档