lcd1602库函数详细代码
时间: 2023-05-27 09:03:22 浏览: 64
以下是液晶显示屏模块(LCD1602)的基本函数库函数的详细代码:
液晶清屏函数:
void lcd_clear()
{
lcd_write_cmd(0x01); // 发送清屏命令
}
液晶写命令函数:
void lcd_write_cmd(unsigned char cmd)
{
digitalWrite(LCD_RS, LOW); // RS置低电平,表示发送命令
lcd_write_byte(cmd);
}
液晶写数据函数:
void lcd_write_data(unsigned char data)
{
digitalWrite(LCD_RS, HIGH); // RS置高电平,表示发送数据
lcd_write_byte(data);
}
液晶写字节函数:
void lcd_write_byte(unsigned char byte)
{
digitalWrite(LCD_EN, LOW); // 使能信号置低
lcd_send_nibble(byte >> 4); // 发送高4位数据
lcd_send_nibble(byte); // 发送低4位数据
}
液晶发送半字节:
void lcd_send_nibble(unsigned char nibble)
{
digitalWrite(LCD_D7, nibble & 0x08); // D7位
digitalWrite(LCD_D6, nibble & 0x04); // D6位
digitalWrite(LCD_D5, nibble & 0x02); // D5位
digitalWrite(LCD_D4, nibble & 0x01); // D4位
digitalWrite(LCD_EN, HIGH); // 使能信号置高
delayMicroseconds(1); // 延时1us
digitalWrite(LCD_EN, LOW); // 使能信号置低
delayMicroseconds(1); // 延时1us
}
液晶初始化函数:
void lcd_init()
{
pinMode(LCD_RS, OUTPUT); // 设置RS引脚为输出模式
pinMode(LCD_EN, OUTPUT); // 设置EN引脚为输出模式
pinMode(LCD_D4, OUTPUT); // 设置D4引脚为输出模式
pinMode(LCD_D5, OUTPUT); // 设置D5引脚为输出模式
pinMode(LCD_D6, OUTPUT); // 设置D6引脚为输出模式
pinMode(LCD_D7, OUTPUT); // 设置D7引脚为输出模式
digitalWrite(LCD_RS, LOW); // RS信号置低
digitalWrite(LCD_EN, LOW); // 使能信号置低
digitalWrite(LCD_D4, LOW); // D4信号置低
digitalWrite(LCD_D5, LOW); // D5信号置低
digitalWrite(LCD_D6, LOW); // D6信号置低
digitalWrite(LCD_D7, LOW); // D7信号置低
delayMicroseconds(500); // 延时500us
lcd_send_nibble(0x03); // 发送初始化命令
delayMicroseconds(5000); // 等待5ms
lcd_send_nibble(0x03); // 发送初始化命令
delayMicroseconds(150); // 等待150us
lcd_send_nibble(0x03); // 发送初始化命令
delayMicroseconds(150); // 等待150us
lcd_send_nibble(0x02); // 发送4位数据总线命令
delayMicroseconds(150); // 等待150us
lcd_write_cmd(0x28); // 设置显示模式
lcd_write_cmd(0x08); // 关闭显示器
lcd_clear(); // 清屏
lcd_write_cmd(0x06); // 设置输入方式
lcd_write_cmd(0x0C); // 开启显示器
}
液晶写字符串函数:
void lcd_write_string(char *string)
{
while (*string)
{
lcd_write_data(*string++);
}
}