LCD1602液晶显示屏通过三根信号线和八根数据线和MCU连接
RS和RW控制数据是读取还是写入,是命令还是数据,一般液晶显示屏只写数据,所以RS和RW为0表示写命令,RS为1 RW为0表示写数据
之后对显示屏初始化之后就可以使用LCDE线即可将数据写到显示屏了
示例代码如下
#include <reg52.h>
#define LCD P0
sbit RS = P2^6;
sbit RW = P2^5;
sbit LCDE = P2^7;
unsigned char datas[] = "Hello World";
void writecom(unsigned char i);
void writedata(unsigned char i);
void Delay(unsigned int a);
void main(void){
unsigned char num;
//初始化LCD1602
writecom(0x38);
writecom(0x0c);
writecom(0x06);
writecom(0x01);
writecom(0x80);
for(num = 0;num < 11;num++){
writedata(datas[num]);
}
while(1){
}
}
void writecom(unsigned char i){
RS = 0;
RW = 0;
LCD = i;
Delay(10);
LCDE = 1;
Delay(10);
LCDE = 0;
}
void writedata(unsigned char i){
RS = 1;
RW = 0;
LCD = i;
Delay(10); //这里需要延时时间长一点
LCDE = 1;
Delay(10);
LCDE = 0;
}
void Delay(unsigned int a){
unsigned char b;
for(;a>0;a--)
{
for(b=110;b>0;b--);
}
}