#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";// 要显示的字符
uchar code table1[]="wo de ni!!!";
sbit RS = P2^4; // 液晶基本设置,端口 不同的可以做改动 要随机应变
sbit RW = P2^5;
sbit EN = P2^6;
uchar num;
void delay(uint x) //延时1ms 所有的延时 为了让显示跟稳定 时间 不宜太长 太长 影响写入的速率, 也不宜太短 太短 影响接受的稳定性
{
uint i,j;
for(i=x;i>=0;i--)
for(j=100;j>=0;j--);
}
void write_com(uchar com)//写入命令字操作
{
RS=0;
RW=0;
P0=com;
delay(5);
EN=1;
delay(5);
EN=0;
}
void write_data(uchar date)//写入数据字操作
{
RS=1;
RW=0;
P0=date;
delay(5);
EN=1;
delay(5);
EN=0;
}
void init()//1602显示屏初始化
{
write_com(0x38);// 1602 调至为显示模式
write_com(0x0c);//设置开显示 且 不显示光标
write_com(0x06);// 写一个字符后地址指针加一
write_com(0x01);// 显示清0 数据指针清0
}
void main()
{
init();
write_com(0x80); //数据指针定位到第一行第一个字
for(num=0;num<11;num++)
{
write_data(table[num]);
delay(10);
}
write_com(0x80+0x40);// 数据指针定位到第一行第二个字
for(num=0;num<11;num++)
{
write_data(table1[num]);
delay(10);
}
while(1);
}
|