色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 跟我學(xué)51單片機(七)——LCD1602液晶顯示模塊

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

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

            液晶初始化函數(shù):設(shè)置液晶的工作方式

            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);

            // 設(shè)置為8位數(shù)據(jù)傳送模式

            delaylcd_nms(5);

            LCD_en_com(OPEN_SCREEN); // 開顯示

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

            CLEARSCREEN; // 清屏

            }

            設(shè)置顯示坐標(biāo)函數(shù):設(shè)置字符的顯示位置,行、列坐標(biāo)

            參數(shù): x -列坐標(biāo),y -行坐標(biāo)

            void LCD_set_xy( unsigned char x, unsigned char y )

            {

            unsigned char address;

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

            address = LINE1_HEAD + x; // 設(shè)置列坐標(biāo)

            else

            address = LINE2_HEAD + x;

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

            }

            寫字符函數(shù):向液晶寫一個字符

            參數(shù):x -列坐標(biāo),y -行坐標(biāo),dat -將要顯示的字符數(shù)據(jù)

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

            {

            LCD_set_xy( x, y ); // 首先設(shè)置顯示坐標(biāo)

            LCD_en_dat(dat); // 寫數(shù)據(jù)

            }

            寫字符串函數(shù):向液晶寫入字符串

            參數(shù):x -列坐標(biāo),y -行坐標(biāo),*s -將要顯示的字符串?dāng)?shù)據(jù)

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

            char *s)

            {

            LCD_set_xy( x, y ); // 首先設(shè)置顯示坐標(biāo)

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

            {

            LCDIO=*s;// 循環(huán)調(diào)用寫數(shù)據(jù)函數(shù)

            LCD_en_dat(*s);

            s ++;

            }

            }

            四、調(diào)試要點與實驗現(xiàn)象

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

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

          圖5 1602界面

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

            五、總結(jié)

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

          紅外遙控器相關(guān)文章:紅外遙控器原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 51單片機 LCD1602 液晶顯示

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉