资源简介
液晶显示汉字LCM1602 液晶显示汉字LCM1602
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit P_E=P3^5;
sbit P_RW=P3^6;
sbit P_RS=P3^7;
sbit P07=P0^7;
sbit P20=P2^0;
bit check()
{
bit flag;
P0=0xff;
P_RS=0;
P_RW=1;
P_E=1;
if(P07==1)flag=1;
else flag=0;
P_E=0;
return(flag);
}
void imp(uchar comd)
{
P_RS=0;
P_RW=0;
P_E=1;
P0=comd;
P_E=0;
}
void imp_data(uchar data_)
{
P_RS=1;
P_RW=0;
P_E=1;
P0=data_;
P_E=0;
}
void LCD_set()
{
while(check());
imp(0x01);
while(check());
imp(0x38);
while(check());
imp(0x0c);
while(check());
imp(0x06);
}
void main()
{
uchar temp=0x40i;
uchar code p[8]={0x1f0x110x110x1f0x110x110x1f0x00};
//uchar code p[64]={0x000x0f0x020x040x070x000x0f0x00 0x100x1e0x000x100x1c0x100x1e0x10};//最多能写64个
P2=0;
LCD_set();
while(1)
{
while(check());
imp(0x80);
while(check());
imp_data(0x30);
while(check());
imp(0xc0);
while(check());
imp_data(0x30);
for(i=0;i<64;i++)
{
while(check());
imp(temp+i);//把自定义的字模数组写到LCD的CGRAM内,然后从里面读出来
while(check());
imp_data(p[i]);
}
while(check());
imp(0x83);
while(check());
imp_data(0x00);
while(check());
imp_data(0x01);
}
//while(1);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4607 2009-04-06 10:12 1206及汉字显示\1206_New
文件 1451 2009-04-06 10:47 1206及汉字显示\1206_New.c
文件 685 2009-04-06 10:12 1206及汉字显示\1206_New.hex
文件 33 2009-04-06 10:12 1206及汉字显示\1206_New.lnp
文件 4983 2009-04-06 10:12 1206及汉字显示\1206_New.LST
文件 6354 2009-04-06 10:12 1206及汉字显示\1206_New.M51
文件 5156 2009-04-06 10:12 1206及汉字显示\1206_New.OBJ
文件 1219 2009-04-06 10:42 1206及汉字显示\1206_New.Opt
文件 199 2009-04-06 10:42 1206及汉字显示\1206_New.plg
文件 2099 2009-03-31 22:25 1206及汉字显示\1206_New.Uv2
文件 1217 2009-04-06 10:38 1206及汉字显示\1206_New_Opt.Bak
文件 2094 2009-03-31 13:24 1206及汉字显示\1206_New_Uv2.Bak
文件 113574 2009-03-31 13:57 1206及汉字显示\Last Loaded lcd1602.DBK
文件 113574 2009-03-31 13:57 1206及汉字显示\lcd1602.DSN
文件 792 2009-04-06 10:12 1206及汉字显示\lcd1602.PWI
目录 0 2009-04-13 22:15 1206及汉字显示
----------- --------- ---------- ----- ----
258037 16
评论
共有 条评论