#include <reg52.h>
#include "./delay/delay.h"
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
#define LCDPORT P0
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
void lcd_write(unsigned char byte,unsigned char flag)//在lcd上写字符
{
if(flag)
{
RS = 1;
}
else
{
RS = 0; //选择输入数据为数据
}
RW = 0;//写
E = 1; //选中lcd
LCDPORT = byte;
delay_us(5);
E = 0;//失能
}
void lcd_init()
{
delay_ms(15);
lcd_write(0x38,LCD_WRITE_COM);//设置八位数据接口,两行显示,5x7显示
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>
delay_ms(5);
lcd_write(0x08,LCD_WRITE_COM);//关闭显示,关闭光标,关闭闪烁
delay_ms(5);
lcd_write(0x01,LCD_WRITE_COM);//清屏
delay_ms(5);
lcd_write(0x06,LCD_WRITE_COM);//设置指针方式,画面不平移
delay_ms(5);
lcd_write(0x0c,LCD_WRITE_COM);//打开<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">显示,关闭光标,关闭闪烁</span>
delay_ms(5);
}
void lcd_write1(unsigned char x, unsigned char y, unsigned char byte) //lcd上写字符串
{
if(1 == y)
{
lcd_write(0x80 ,LCD_WRITE_COM);
}
else
{
lcd_write(0x80 + 0x40 + x,LCD_WRITE_COM);
}
lcd_write(0x80 + 0x40 + x,LCD_WRITE_DATA);
}