#include<reg52.h>//1602液晶显示
//#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={"i like mcu"};
sbit RS=P3^0;//数据/命令端口
sbit RW=P3^1;//读写端口
sbit E=P3^2; //使能端
void init();//初始化
void delay(uint xms) //xms延时多少就大约多少毫秒
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void write-aa(uchar a);//写数据
void write-bb(uchar b);//写命令
void main()
{
uint m;
init();
while(1)
{
for(m=0;m<=9;m++)
{
write-aa(table[m]);
}
write-bb(0x80);
}
}
void init()//初始化
{
write-bb(0x01);//显示清屏1:数据指针清0 2:所有显示清0;
write-bb(0x02);//显示回车:数据指针清0;
write-bb(0x38);//
write-bb(0x80);// 数据指针设置;
write-bb(0x0f);
write-bb(0x06);
}
void write-aa(uchar a)//写数据
{
E=0;
RS=1;
RW=0;
P0=a;
delay(1);
E=1;
delay(2);
}
void write-bb(uchar b)//写命令
{
E=0;
RS=0;
RW=0;
P0=b;
delay(1);
E=1;
delay(2);
} |