日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 跟我學(xué)51單片機(八)——圖型帶字庫液晶128×64

          跟我學(xué)51單片機(八)——圖型帶字庫液晶128×64

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

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

            void LCD_init(void)

            {

            RST=0;

            //RST管腳置低,復(fù)位液晶

            LCD_delay();

            //延時一段時間,以完全復(fù)位

            RST=1;

            //RST管腳置高,復(fù)位完成

            PSB=1;

            //PSB管腳置高,并行工作模式

            LCD_en_command(0x30);

            //設(shè)置8位并數(shù)據(jù)格式

            LCD_en_command(0x0c);

            //開顯示器

            LCD_en_command(0x80);

            //顯示起始地址

            CLEARSCREEN();

            //對液晶進(jìn)行清屏

            }

            /*設(shè)置顯示地址函數(shù):

            參數(shù):x取值范圍:0~7;y取值范圍:1~4 */

            void LCD_set_xy( uchar x, uchar y )

            {

            switch(y) //判斷是哪一行顯示

            {

            case 1:LCD_en_command(0x80 + x);break;

            //如果是第一行,地址加0x80

            case 2:LCD_en_command(0x90 + x);break;

            //如果是第二行,地址加0x90

            case 3:LCD_en_command(0x88 + x);break;

            //如果是第三行,地址加0x88

            case 4:LCD_en_command(0x98 + x);break;

            //如果是第四行,地址加0x98

            default:break; //否則退出

            }

            }

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

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

            據(jù)*/

            void LCD_write_string(uchar x, uchar y, uchar *s)

            {

            LCD_set_xy( x, y );

            //先設(shè)置要顯示的地址

            while (*s) //如果當(dāng)前字符沒有結(jié)束

            {

            LCD_en_dat(*s); //顯示當(dāng)前字符

            s ++; //指向下一個字符

            }

            }

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

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

            調(diào)試128×64液晶時應(yīng)注意的是,對于液晶的讀忙函數(shù)如果用一段延時代替的話,一定要足夠長,不同128×64液晶的所需要的時間可能稍許不同,這也是導(dǎo)致液晶無顯示,出亂碼等的常見原因。此外,與前講介紹的1602液晶相似,對于128×64液晶上的V0管腳,作為液晶顯示器對比度調(diào)整端,其接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,因此可通過一個電位器實現(xiàn)對其的電壓調(diào)整,前文提到,將其調(diào)節(jié)到3.6~3.7V 時對比度效果最好。

            五、總結(jié)

            本講簡要介紹了帶字庫128×64液晶的工作原理并給出了驅(qū)動實例,在液晶的操作時序一定要嚴(yán)格,需參考其數(shù)據(jù)手冊或規(guī)格書。

            對于128×64液晶,如果在實際應(yīng)用中僅使用并口或串口通信模式,可將PSB(第15腳)接固定電平,并口時接高電平;串口時接低電平,從而節(jié)省控制管腳。

            128×64液晶的內(nèi)部接有上電復(fù)位電路,因此可以將RESET(第17腳)懸空或者接到電源正上,以節(jié)省控制管腳。

            128×64液晶內(nèi)部帶有豐富的DDRAM(文本顯示RAM)和GDRAM(繪圖RAM),本文只是對其驅(qū)動方法經(jīng)行了介紹,但具體如何實現(xiàn)等需要讀者自己實踐。

            液晶的顯示對后續(xù)程序的輔助作業(yè)很大,可以用它來顯示一些調(diào)試信息或者測量數(shù)據(jù)等非常方便,下講就將結(jié)合液晶顯示來實現(xiàn)一個單片機的簡易頻率計,敬請期待。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉