单片机lcd1602液晶显示写出C语言代码
时间: 2023-08-24 15:09:57 浏览: 105
lcd1602的显示程序
好的,以下是单片机LCD1602液晶显示的C语言代码:
```
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0; //定义1602的三个控制接口
sbit RW=P2^1;
sbit E=P2^2;
void delay(uint z) //自定义延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com) //写命令函数
{
E=0;
RS=0;
RW=0;
P0=com;
delay(5);
E=1;
delay(5);
E=0;
}
void write_data(uchar date) //写数据函数
{
E=0;
RS=1;
RW=0;
P0=date;
delay(5);
E=1;
delay(5);
E=0;
}
void init_1602() //初始化函数
{
write_com(0x38); //16*2显示,5*7点阵,8位数据接口
write_com(0x0c); //显示开,光标关,光标不闪烁
write_com(0x06); //右移,不带移位
write_com(0x01); //清屏
}
void display(uchar x,uchar y,uchar *string) //显示函数
{
uchar i=0;
if(x<16)
{
if(y==0)
write_com(0x80+x); //第一行的光标位置
else
write_com(0xc0+x); //第二行的光标位置
while(string[i]!='\0') //循环显示字符串
{
write_data(string[i]);
i++;
}
}
}
void main() //主函数
{
uchar temp1[]="Hello World!"; //显示的字符串
uchar temp2[]="LCD1602";
init_1602(); //初始化
display(0,0,temp1); //第一行显示"Hello World!"
display(6,1,temp2); //第二行显示"LCD1602"
while(1); //死循环等待
}
```
阅读全文