新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 跟我學51單片機(七)——LCD1602液晶顯示模塊

        跟我學51單片機(七)——LCD1602液晶顯示模塊

        作者: 時間:2013-01-26 來源:網絡 收藏
        要使1602 液晶能正常工作和操作方便,除了寫數據和命令函數外,還需要進行初始化等操作,先將本講中所用到的操作1602 液晶的主要函數設計如下。

          液晶初始化函數:設置液晶的工作方式

          void LCD_init(void)

          {

          delaylcd_nms(5);

          LCD_en_com_nobusy(DATA_MODE);

          // 延時5ms, 寫指令,不檢測忙信號

          delaylcd_nms(5);

          LCD_en_com_nobusy(DATA_MODE);

          // 延時5ms, 寫指令,不檢測忙信號

          delaylcd_nms(5);

          LCD_en_com_nobusy(DATA_MODE);

          // 延時5ms, 寫指令,不檢測忙信號

          LCD_en_com(DATA_MODE);

          // 設置為8位數據傳送模式

          delaylcd_nms(5);

          LCD_en_com(OPEN_SCREEN); // 開顯示

          LCD_en_com(DISPLAY_ADDRESS); // 設置顯示地址

          CLEARSCREEN; // 清屏

          }

          設置顯示坐標函數:設置字符的顯示位置,行、列坐標

          參數: x -列坐標,y -行坐標

          void LCD_set_xy( unsigned char x, unsigned char y )

          {

          unsigned char address;

          if (y == LINE1) // 判斷行

          address = LINE1_HEAD + x; // 設置列坐標

          else

          address = LINE2_HEAD + x;

          LCD_en_command(address); // 將地址寫入寄存器

          }

          寫字符函數:向液晶寫一個字符

          參數:x -列坐標,y -行坐標,dat -將要顯示的字符數據

          void LCD_write_char( unsigned x,unsigned char y,unsigned char dat)

          {

          LCD_set_xy( x, y ); // 首先設置顯示坐標

          LCD_en_dat(dat); // 寫數據

          }

          寫字符串函數:向液晶寫入字符串

          參數:x -列坐標,y -行坐標,*s -將要顯示的字符串數據

          void LCD_write_string(unsigned char x,unsigned char y,unsigned

          char *s)

          {

          LCD_set_xy( x, y ); // 首先設置顯示坐標

          while (*s) // 判斷是否結束

          {

          LCDIO=*s;// 循環調用寫數據函數

          LCD_en_dat(*s);

          s ++;

          }

          }

          四、調試要點與實驗現象

          接好硬件(特別是連接好1602 液晶),通過冷啟動方式將程序所生成的。hex 文件下載到單片機運行后,復位單片機,然后可在學習板上看到液晶的顯示的字符(如圖5 所示)。

        跟我學51單片機(七)——LCD1602液晶顯示模塊

        圖5 1602界面

          調試時應注意的是,因為液晶的內部顯示操作需要一定的時間,因此如果單片機在對1602 液晶寫操作時不進行讀忙操作,就應該延時足夠的時間(可用延時函數)以讓液晶內部能夠接收命令或數據,否則會讓液晶無法工作或者工作不正常。此外對于V0 管腳,作為器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,因此可通過一個電位器實現對其的電壓調整,前文提到,將其調節到0.3~0.4V 時對比度效果最好。

          五、總結

          本講介紹了字符型液晶1602 的工作原理并給出了實例,通過該講,讀者可以了解和掌握51 單片機驅動1602 液晶的方法。下講將講述單片機驅動帶字庫的128X64 液晶,敬請期待。

        紅外遙控器相關文章:紅外遙控器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中阳县| 青冈县| 宁晋县| 濮阳县| 天镇县| 栾川县| 叶城县| 新建县| 张家界市| 太湖县| 大丰市| 滨州市| 青阳县| 晋江市| 岢岚县| 山阴县| 扶风县| 固原市| 沐川县| 庐江县| 浑源县| 双流县| 烟台市| 张家口市| 中西区| 栖霞市| 延庆县| 广丰县| 南投市| 江阴市| 岳池县| 无极县| 新野县| 永登县| 双鸭山市| 双桥区| 阆中市| 都安| 隆林| 收藏| 蓝田县|