生活随笔
收集整理的這篇文章主要介紹了
LCD1602简易驱动程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LCD1602驅動程序
簡單幾步配置即可驅動LCD1602
LCD1602的幾個可編程的引腳為RS RW E DB0-DB7
MCU的引腳配置輸入輸出參考自己使用的規格書
只需要了解如下規則就行
RW — 讀寫控制,RW = 0時,對DB0-DB7寫數據,RW = 1時,可讀DB0-DB7的數據,一般是寫數據并顯示,RW=0。RS — 此位表明寫的數據是 指令(0)或者數據(1)(兩者作用不同),寫指令時候,LCD1602內部的IC會進行配置,寫數據時,會顯示數據。E — Enable 腳,上升沿表示開始傳輸數據,下降沿表示傳輸結束BD0-DB7 — 并行傳輸數據口
//=========寫數據部分
//指令一般在配置時使用
void LcdWriteCmd(unsigned char Data) //寫命令
{#if 1//LcdReady(); //可等待lcd準備好再傳輸數據,簡化代碼先不添加LCD_RS = 0;LCD_RW = 0;LCD_DATA = Data;delay_ms(1); //此處需要延時給LCD處理時間LCD_EN = 1;delay_ms(10); LCD_EN = 0;#endif
}void LcdWriteData(unsigned char Data) //寫數據
{#if 1LCD_RS = 1;LCD_RW = 0;LCD_DATA = Data;delay_ms(1); //此處需要延時給LCD處理時間LCD_EN = 1;delay_ms(10);LCD_EN = 0;#endif
}
//=======初始化LCD1602
void Lcd1602Init(void)
{LcdWriteCmd(0X01); //清屏LcdWriteCmd(0X38); //顯示模式LcdWriteCmd(0X0C); //顯示開,光標設置LcdWriteCmd(0X06); //光標移動設置
}
//========設置LCD1602顯示的位置
void LcdSetCursor(unsigned char x,unsigned char y)
{if(y == 0)LcdWriteCmd(x | 0x80);else if(y == 1)LcdWriteCmd(x | 0x80 | 0x40);
}//顯示字符串
void LcdShowStr(unsigned char *Data,unsigned x,unsigned y)
{LcdSetCursor(x,y);while(*Data != '\0')LcdWriteData(*Data++);
}
最后調用
void main()
{unsigned char *str = "hello";Lcd1602Init();LcdShowStr(str,3,0);LcdShowStr("hahahaha",2,1);while(1);
}
總結
以上是生活随笔為你收集整理的LCD1602简易驱动程序的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。