写单片机LCD少量汉字显示代码
时间: 2024-03-09 21:50:58 浏览: 12
好的,以下是一个基于STC单片机和16x2字符LCD的少量汉字显示代码,具体包括显示"你好"两个汉字:
```c
#include <reg51.h>
#define LCD_DATA P0
sbit RS = P2^0;
sbit RW = P2^1;
sbit EN = P2^2;
void delay(unsigned int i)
{
while(i--);
}
void lcd_write_cmd(unsigned char cmd)
{
RS = 0;
RW = 0;
LCD_DATA = cmd;
EN = 1;
delay(100);
EN = 0;
}
void lcd_write_data(unsigned char dat)
{
RS = 1;
RW = 0;
LCD_DATA = dat;
EN = 1;
delay(100);
EN = 0;
}
void lcd_init()
{
lcd_write_cmd(0x38);
lcd_write_cmd(0x08);
lcd_write_cmd(0x01);
lcd_write_cmd(0x06);
lcd_write_cmd(0x0c);
}
void lcd_show_chinese(unsigned char addr, unsigned char *chinese)
{
unsigned char i;
lcd_write_cmd(addr);
for(i=0;i<16;i++)
{
lcd_write_data(chinese[i]);
}
}
void main()
{
unsigned char chinese_hello[16]={0x18,0x18,0x18,0x18,0x18,0x3C,0x66,0x66,0x7E,0x00,0x7E,0x66,0x66,0x7E,0x00,0x00};
lcd_init();
lcd_show_chinese(0x80, chinese_hello);
while(1);
}
```
其中,`lcd_write_cmd`和`lcd_write_data`分别用于向LCD写入指令和数据,`lcd_init`用于初始化LCD,`lcd_show_chinese`用于显示汉字,`chinese_hello`数组存储了"你好"两个汉字的点阵数据。在`main`函数中,先调用`lcd_init`初始化LCD,然后调用`lcd_show_chinese`显示汉字,最后进入死循环。