51驱动lcd1602代码
时间: 2024-06-17 10:05:24 浏览: 151
51驱动LCD1602代码主要是指基于51单片机控制的LCD1602液晶显示模块的驱动代码。常见的51单片机包括STC89C52、AT89C52等,而LCD1602则是一款常用的16x2字符型液晶显示器。
下面是一份简单的51驱动LCD1602代码,仅供参考:
```
#include<reg52.h> //头文件
sbit RS=P2^0; //寄存器选择端口
sbit RW=P2^1; //读写选择端口
sbit EN=P2^2; //使能端口
void delay_ms(unsigned int); //延时函数声明
void write_com(unsigned char); //写入命令函数声明
void write_data(unsigned char); //写入数据函数声明
void main()
{
write_com(0x38); //设置显示模式为2行,5x7点阵
write_com(0x0c); //开启显示,不显示光标
write_com(0x06); //文字不动,光标右移
write_com(0x01); //清屏
write_data('H'); //显示字符'H'
write_data('e'); //显示字符'e'
write_data('l'); //显示字符'l'
write_data('l'); //显示字符'l'
write_data('o'); //显示字符'o'
while(1); //循环等待
}
void delay_ms(unsigned int ms) //延时函数实现
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<120;j++);
}
void write_com(unsigned char com) //写入命令函数实现
{
RS=0; //选择命令寄存器
RW=0; //选择写入模式
P0=com; //将命令写入P0口
EN=1; //使能LCD
delay_ms(5); //延时5ms
EN=0; //关闭LCD
}
void write_data(unsigned char dat) //写入数据函数实现
{
RS=1; //选择数据寄存器
RW=0; //选择写入模式
P0=dat; //将数据写入P0口
EN=1; //使能LCD
delay_ms(5); //延时5ms
EN=0; //关闭LCD
}
```
该代码实现了在LCD1602显示屏上输出"Hello"的功能。在main函数中,首先通过调用write_com函数设置显示模式、开启显示、不显示光标,并清屏。然后通过调用write_data函数将字符'H''e''l''l''o'依次输出到屏幕上。最后通过一个无限循环让程序一直停留在屏幕上。
阅读全文