回覆列表
  • 1 # 使用者1062846289535

    讓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("!");

  • 中秋節和大豐收的關聯?
  • 水泥電線杆生產過程需要注意什麼?