//发送LCD数据
void send_lcd_data(uchar _data)
{
check_lcd_status();
LCD_DI = 1;
LCD_RW = 0;
LCD_DATA = _data;
delay_nop();
LCD_EN = 1;
delay_nop();
LCD_EN = 0;
}
uchar read_lcd_data()
{
uchar dat;
check_lcd_status();
LCD_DATA =0xff;
LCD_DI = 1;
LCD_RW = 1;
LCD_EN = 1;
delay_nop();
dat = LCD_DATA;
LCD_EN = 0;
return(dat);
}
先显示一个汉字,用下面的程序,读出来显示到下一行,列的位置右移了一列。
请问大侠怎么回事?谢谢
for(i=0;i<16;i++)
{
set_lcd_xy(0,i);
k = read_lcd_data(); //读取显示的数据
set_lcd_xy(2,i);
send_lcd_data(k);
} |