[资料分享] LCD液晶的操作

simonprince   2010-3-17 17:22 楼主







1602液晶:2行,每行16个点
34b8cd0004439e181d9583e9.jpg
8e291ff5449a92c7f2d385e9.jpg

主要看“写指令”和“写数据”,因为E=高脉冲,所以在初始化的时候要给E低电平,为高脉冲做准备。
eef19302c9c450f208fa93e9.jpg
1602液晶的屏幕地址,且以0x80为基地址。
在初始化中的指令码对应下表:
e1032b4b44efb63d09f7efe9.jpg
我写的LCD程序如下,在LCD上显示:
Hello World!
Make By xiao Xia

程序运行仿真图如下:

83926b255075292dc9955977.jpg










#include
#define uchar unsigned char
#define uint unsigned int
char code table1[]="Hello World!";
char code table2[]="Make By xiao Xia";
sbit lcden = P3^4;   //使能端连接
sbit lcdrs = P3^5;   
//数据/指令选择端
uint num;


void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
   for(y=110;y>0;y--)
    ;
}

void write_com(uchar com)   //写指令函数
{
lcdrs=0;   //允许写指令
P0=com;    //指令发送到P0口(因为LCD数据接口接在了P0口上)
delay(5);
lcden=1;
delay(5);
lcden=0;   //使能端输入高脉冲有效
}

void write_data(uchar date)   //写数据函数
{
lcdrs=1;   //允许写指令
P0=date;   //数据发送到P0口(因为LCD数据接口接在了P0口上)
delay(5);
lcden=1;
delay(5);
lcden=0;   //使能端输入高脉冲有效
}


void init()   //初始化
{
//在TX-1C实验板中RW接地,始终为低电平,所以是写选择端
lcden=0;   
//使能端初始化低电平,为以后的高脉冲做准备
write_com(0x38);   //设置16*2显示,5*7矩阵,8位数据接口
write_com(0x0e);   //开显示,不显示光标,不闪烁光标
   write_com(0x06);   //自动右移,屏幕不动
write_com(0x01);   //清屏
write_com(0x80+0);   //设定第一行的指针位置
}


void main()
{
init();
for(num=0;num<12;num++)
{
   write_data(table1[num]);
   delay(20);
}
write_com(0x80+0x40);    //定位第二行的地址
for(num=0;num<16;num++)
{
   write_data(table2[num]);
   delay(20);
}

while(1);  
}


/****************循环左移函数******************
void main()
{
init();   //定义第一行地址 0x80+0x10
for(num=0;num<12;num++)
{
   write_data(table1[num]);
   delay(20);
}
write_com(0x80+0x50);    //定位第二行的地址
for(num=0;num<16;num++)
{
   write_data(table2[num]);
   delay(20);
}
for(num=0;num<16;num++)
{
   write_com(0x18); //0x18代表循环左移一位
   delay(200);
   }

while(1);  
}
/****************end******************
要把目标订的实现起来辛苦一点!

回复评论 (3)

这贴居然没人回复
点赞  2010-3-22 19:59
虽然没懂 但是还是学习了。
点赞  2010-3-22 21:00
楼主可以发一个12864的吗?
山在,树在,大地在,岁月在,你们在 我还要怎样更好的世界
点赞  2010-3-24 16:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复