讓LCD1602顯示字元前要輸入字元所在的地址,這也是每顯示一個字元地址要加一的原因,在下面的一段程式碼裡你會明白怎麼設定地址,怎麼讓地址自動加一,怎麼清屏,怎麼顯示字元,希望你能看懂哦
sbit LCD_E=P2^0; //lcd1602控制置位
sbit LCD_RW=P2^1; //lcd1602控制置位
sbit LCD_RS=P2^2; //lcd1602控制置位
void LCD_command(unsigned char com)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=0;
P1=com;
delay_us(100);
LCD_E=1;
}
void LCD_date(unsigned char dat)
LCD_RS=1;
P1=dat;
LCD_command(0x38); //設定LCD為16*2顯示,5*7點陣,8位資料介面
LCD_command(0x0c); //設定LCD顯示開,游標顯示關
LCD_command(0x06); //寫一個數據後地址加1
LCD_command(0x01); //顯示清屏
LCD_command(0x80); //資料指標設定為第一行第一位
LCD_date("pi");
LCD_date("l");
LCD_date("e");
LCD_date("a");
LCD_date("s");
LCD_date(" ");
LCD_date("c");
LCD_date("h");
LCD_date("k");
LCD_date("t");
LCD_command(0x80+0x40); //LCD地址指標指向第二行第一個位置
LCD_date("o");
LCD_date("n");
LCD_date("i");
LCD_date("!");
讓LCD1602顯示字元前要輸入字元所在的地址,這也是每顯示一個字元地址要加一的原因,在下面的一段程式碼裡你會明白怎麼設定地址,怎麼讓地址自動加一,怎麼清屏,怎麼顯示字元,希望你能看懂哦
sbit LCD_E=P2^0; //lcd1602控制置位
sbit LCD_RW=P2^1; //lcd1602控制置位
sbit LCD_RS=P2^2; //lcd1602控制置位
void LCD_command(unsigned char com)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=0;
P1=com;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
void LCD_date(unsigned char dat)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=1;
P1=dat;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
LCD_command(0x38); //設定LCD為16*2顯示,5*7點陣,8位資料介面
LCD_command(0x0c); //設定LCD顯示開,游標顯示關
LCD_command(0x06); //寫一個數據後地址加1
LCD_command(0x01); //顯示清屏
LCD_command(0x80); //資料指標設定為第一行第一位
LCD_date("pi");
LCD_date("l");
LCD_date("e");
LCD_date("a");
LCD_date("s");
LCD_date("e");
LCD_date(" ");
LCD_date("c");
LCD_date("h");
LCD_date("e");
LCD_date("c");
LCD_date("k");
LCD_date(" ");
LCD_date("t");
LCD_date("h");
LCD_date("e");
LCD_command(0x80+0x40); //LCD地址指標指向第二行第一個位置
LCD_date("c");
LCD_date("o");
LCD_date("n");
LCD_date("n");
LCD_date("e");
LCD_date("c");
LCD_date("t");
LCD_date("i");
LCD_date("o");
LCD_date("n");
LCD_date("!");
LCD_date("!");