蓝桥杯单片机lcd1602代码
时间: 2023-10-06 21:08:28 浏览: 113
LCD1602代码
以下是单片机LCD1602的代码:
```c
#include <reg52.h> // 导入STC单片机头文件
#define LCD1602_DB P0 // LCD1602数据线所在的P0口
sbit LCD1602_RS = P2 ^ 0; // LCD1602的RS引脚所在的P2.0口
sbit LCD1602_RW = P2 ^ 1; // LCD1602的RW引脚所在的P2.1口
sbit LCD1602_E = P2 ^ 2; // LCD1602的E引脚所在的P2.2口
void delay(unsigned int i) // 延时函数
{
while (i--)
;
}
void write_com(unsigned char com) // 写指令函数
{
LCD1602_RS = 0; // 将RS引脚置为0,表示写入指令
LCD1602_RW = 0; // 将RW引脚置为0,表示写入模式
LCD1602_DB = com; // 将指令写入数据线
LCD1602_E = 1; // 将E引脚置为1,表示允许写入
delay(100); // 延时一段时间(至少50ns)
LCD1602_E = 0; // 将E引脚置为0,表示禁止写入
}
void write_data(unsigned char dat) // 写数据函数
{
LCD1602_RS = 1; // 将RS引脚置为1,表示写入数据
LCD1602_RW = 0; // 将RW引脚置为0,表示写入模式
LCD1602_DB = dat; // 将数据写入数据线
LCD1602_E = 1; // 将E引脚置为1,表示允许写入
delay(100); // 延时一段时间(至少50ns)
LCD1602_E = 0; // 将E引脚置为0,表示禁止写入
}
void init() // 初始化函数
{
write_com(0x38); // 设置显示模式为2行,5*7点阵
write_com(0x0c); // 设置显示模式为开,光标不显示,不闪烁
write_com(0x06); // 设置输入方式为移动光标,不移动屏幕
write_com(0x01); // 清屏
}
void main()
{
init(); // 执行初始化
write_data('H'); // 写入字符'H'
write_data('e'); // 写入字符'e'
write_data('l'); // 写入字符'l'
write_data('l'); // 写入字符'l'
write_data('o'); // 写入字符'o'
write_data(','); // 写入字符','
write_data('W'); // 写入字符'W'
write_data('o'); // 写入字符'o'
write_data('r'); // 写入字符'r'
write_data('l'); // 写入字符'l'
write_data('d'); // 写入字符'd'
while (1) // 主循环
;
}
```
以上代码使用STC单片机,通过P0口连接1602液晶屏,实现在液晶屏上显示"Hello, World"的功能。其中,`write_com()`函数用于写入指令,`write_data()`函数用于写入数据,`init()`函数用于初始化。在`main()`函数中,先执行初始化,然后逐个写入字符。
阅读全文