void LCD_write_data(uchar dat)
{
LCD_DB=dat;
LCD_RS=1;//数据寄存器
LCD_RW=0;//写入数据
LCD_E=1;
LCD_E=0;
delay_lcd(1);//等待程序执行完毕
}
//初始化函数
void LCD_init(void)
{
delay_lcd(200);
LCD_write_command(0x38);//设置8位格式,2行,5*7
delay_lcd(200);
LCD_write_command(0x38);//设置8位格式,2行,5*7
delay_lcd(200);
LCD_write_command(0x38);//设置8位格式,2行,5*7
delay_lcd(200);
LCD_write_command(0x0F);//整体显示,关光标,不闪烁
delay_lcd(200);
LCD_write_command(0x06);//设定输入方式,增量不移位
delay_lcd(200);
LCD_write_command(0x01);//清屏显示
delay_lcd(200);
}
//光标定位
void gotoxy(uchar x,uchar y)
{uchar address;
if(y==1)
address=0x80+x;
else
address=0xc0+x;
LCD_write_command(address);
}
//显示一个字符串
void LCD_display(uchar *dat)
{
while(*dat!='\0')
{
LCD_write_data(*dat);
dat++;
}
}
//指定位置显示字符串
void LCD_display_char(uchar x,uchar y,uchar *dat)
{
gotoxy(x,y);
LCD_display(dat);
} |