日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LCD1602简易驱动程序

發(fā)布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LCD1602简易驱动程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

LCD1602驅(qū)動程序

簡單幾步配置即可驅(qū)動LCD1602
LCD1602的幾個可編程的引腳為RS RW E DB0-DB7
MCU的引腳配置輸入輸出參考自己使用的規(guī)格書

只需要了解如下規(guī)則就行

  • RW — 讀寫控制,RW = 0時,對DB0-DB7寫數(shù)據(jù),RW = 1時,可讀DB0-DB7的數(shù)據(jù),一般是寫數(shù)據(jù)并顯示,RW=0。
  • RS — 此位表明寫的數(shù)據(jù)是 指令(0)或者數(shù)據(jù)(1)(兩者作用不同),寫指令時候,LCD1602內(nèi)部的IC會進行配置,寫數(shù)據(jù)時,會顯示數(shù)據(jù)。
  • E — Enable 腳,上升沿表示開始傳輸數(shù)據(jù),下降沿表示傳輸結(jié)束
  • BD0-DB7 — 并行傳輸數(shù)據(jù)口
  • //=========寫數(shù)據(jù)部分 //指令一般在配置時使用 void LcdWriteCmd(unsigned char Data) //寫命令 {#if 1//LcdReady(); //可等待lcd準(zhǔn)備好再傳輸數(shù)據(jù),簡化代碼先不添加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) //寫數(shù)據(jù) {#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); //顯示開,光標(biāo)設(shè)置LcdWriteCmd(0X06); //光標(biāo)移動設(shè)置 } //========設(shè)置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++); }

    最后調(diào)用

    void main() {unsigned char *str = "hello";Lcd1602Init();LcdShowStr(str,3,0);LcdShowStr("hahahaha",2,1);while(1); }

    總結(jié)

    以上是生活随笔為你收集整理的LCD1602简易驱动程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。