lcd显示程序
时间: 2023-09-27 17:06:04 浏览: 34
以下是一个简单的LCD显示程序,仅供参考:
```c
#include <reg51.h>
#define LCD_DATAPORT P1
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
void delay(unsigned int count) {
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<100;j++);
}
void lcd_cmd(unsigned char cmd) {
RS = 0;
RW = 0;
EN = 1;
LCD_DATAPORT = cmd;
delay(5);
EN = 0;
}
void lcd_data(unsigned char dat) {
RS = 1;
RW = 0;
EN = 1;
LCD_DATAPORT = dat;
delay(5);
EN = 0;
}
void lcd_init() {
lcd_cmd(0x38);
lcd_cmd(0x0c);
lcd_cmd(0x06);
lcd_cmd(0x01);
}
void lcd_display(char *str, unsigned char x, unsigned char y) {
unsigned char addr;
if(y == 0) {
addr = 0x80 + x;
} else {
addr = 0xc0 + x;
}
lcd_cmd(addr);
while(*str) {
lcd_data(*str++);
}
}
void main() {
lcd_init();
lcd_display("Hello, World!", 0, 0);
while(1);
}
```
这个程序可以在常见的51单片机上使用,并且假设LCD的控制引脚与单片机的P2口相连。程序中的`lcd_init()`函数用于初始化LCD,`lcd_display()`函数用于在指定的LCD行和列显示给定的字符串。程序中的`delay()`函数可以根据需要调整,以便在不同的单片机时钟频率下正确工作。