海迅51lcd1602测试程序
时间: 2023-08-01 08:06:37 浏览: 91
lcdtest.rar_lcd1602测试程序
以下是海迅51单片机使用LCD1602进行测试的代码:
```c
#include <reg52.h>
#define LCD P0
sbit RS = P2^0; // 指令/数据选择信号
sbit RW = P2^1; // 读/写选择信号
sbit EN = P2^2; // 使能信号
void delay(unsigned int); // 延时函数
void write_com(unsigned char); // 写指令函数
void write_data(unsigned char); // 写数据函数
void main()
{
write_com(0x38); // 8位数据总线,双行显示,5x7点阵字符
write_com(0x0c); // 开显示,关光标,不闪烁
write_com(0x06); // 光标右移,字符不移动
write_com(0x01); // 清屏
while(1) {
write_com(0x80); // 第1行第1列
write_data('H'); // 写入字符
write_data('e');
write_data('l');
write_data('l');
write_data('o');
write_data(',');
write_data('W');
write_data('o');
write_data('r');
write_data('l');
write_data('d');
delay(1000); // 延时1秒
write_com(0x01); // 清屏
write_com(0x80); // 第1行第1列
write_data('I'); // 写入字符
write_data(' ');
write_data('a');
write_data('m');
write_data(' ');
write_data('C');
write_data('S');
write_data('D');
write_data('N');
write_delay(1000); // 延时1秒
}
}
void delay(unsigned int time)
{
while(time--);
}
void write_com(unsigned char command)
{
RS = 0; // 选择指令
RW = 0; // 写入模式
LCD = command;
EN = 1; // 使能
delay(1); // 延时一段时间
EN = 0; // 禁止
}
void write_data(unsigned char data)
{
RS = 1; // 选择数据
RW = 0; // 写入模式
LCD = data;
EN = 1; // 使能
delay(1); // 延时一段时间
EN = 0; // 禁止
}
```
注意,这份代码需要在51单片机上进行编译和烧录才能执行。
阅读全文