新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 12864液晶深入學習筆記_2——基于msp430g2553

        12864液晶深入學習筆記_2——基于msp430g2553

        作者: 時間:2016-11-28 來源:網絡 收藏
        7,下面的代碼是控制液晶全屏顯示圖片,代碼如下:

        //程序功能:在12864液晶上顯示兩幅圖片,一個為陰碼圖片,一個為陽碼圖片

        本文引用地址:http://www.104case.com/article/201611/322840.htm

        //*本程序我已經試過,調通,可以使用液晶是有兩根線WREN串行控制的

        //*這里是液晶的串行連接控制,可以大大節省單片機的IO口,但是數據處理起來要比并行連接的要慢,所以如果要求顯示內容數據較大,

        //*對顯示的實時性要求較高的話(比如連續顯示多幅圖畫,演示動畫等),應該考慮并行連接。如果單片機的IO口不夠,或對顯示內容的容

        //*量和實時性要求不高的話,可以考慮用串行連接的方式

        //有可能是因為msp430g2553的處理能力較強,我現在用串行連接方式,顯示下面的幾幅圖畫,顯示效果很好,看不出有什么數據傳輸速度慢的問題

        //msp430g2553有16K的flash512B的RAM所以可以存放的下幾張圖片的數據的

        #include"msp430g2553.h"

        #include"ser_12864.h"

        #include"qq.h"//要顯示圖片的數據信息

        voidmain(void)

        {

        WDTCTL=WDTPW+WDTHOLD;//關狗

        BCSCTL1=CALBC1_12MHZ;//設定cpu時鐘DCO頻率為12MHz

        DCOCTL=CALDCO_12MHZ;

        P2DIR|=BIT5+BIT4;//液晶的兩條線

        init_lcd();//初始化液晶

        Clear_GDRAM();//清除GDRAM中的隨機數據

        //Draw_PM(qq1);

        for(;;)

        {

        //wr_lcd(comm,0x34);//打開擴展功能模式,繪圖顯示關閉

        ////反白命令

        //wr_lcd(comm,0x04);//同時反白1、3行

        //wr_lcd(comm,0x05);//同時反白2、4行

        //wr_lcd(comm,0x36);

        //

        //delay_ms(1000);

        //

        //wr_lcd(comm,0x34);

        //wr_lcd(comm,0x04);//再次反白1、3行,相當于關閉1、3行反白

        //wr_lcd(comm,0x05);//再次反白2、4行,相當于關閉2、4行反白

        //wr_lcd(comm,0x36);

        //delay_ms(1000);

        Draw_PM(qq1);//顯示圖畫顯示陰碼格式的圖形

        delay_ms(1000);//延遲觀察液晶屏幕顯示

        Draw_PM(qq2);//顯示陽碼格式的圖形

        delay_ms(1000);

        Draw_PM(zhu);

        delay_ms(1000);//顯示可愛豬的圖片

        Draw_PM(zifu);//顯示漢字的圖片

        delay_ms(1000);

        Draw_PM(monkey1);//顯示猴子的陰碼圖片

        delay_ms(1000);

        Draw_PM(monkey2);//顯示猴子的陽碼圖片

        delay_ms(1000);

        Draw_PM(QQ);//顯示Q哥Q妹形象

        delay_ms(1000);

        Draw_PM(zhangbin);//顯示我自己制作的字符圖片

        delay_ms(1000);

        Draw_PM(dianxin0903xiaolian1);//顯示我自己制作的字符圖片陰碼圖片

        delay_ms(1000);

        Draw_PM(dianxin0903xiaolian2);//顯示我自己制作的字符圖片陽碼圖片

        delay_ms(1000);

        }

        }

        //本程序的功能實現了,是陰碼格式的圖形和陽碼格式的圖形交替循環顯示

        //我本想是用反白的方法實現這種效果的,但是沒有成功,估計是因為反白不能同時整屏反白的緣故吧

        8,好了,上面的代碼是msp430g2553串行控制液晶的,是可以直接用的。把上面的代碼看明白,液晶的基本功能應該就掌握了,下面就在貼出一些常用的顯示函數,這些函數都是我經常用的,很不錯:

        ////

        {

        ucharpos=0;//初始化

        ucharcnt=0;//傳遞過來的是指針,cnt為偏移量,然后一個字符一個字符的寫入。

        switch(y0)

        {

        case0:pos=0x80+x;break;

        case1:pos=0x90+x;break;

        case2:pos=0x88+x;break;

        case3:pos=0x98+x;break;

        default:break;

        }

        wr_lcd(comm,pos);//寫地址

        while(*(p+cnt)!=

        主站蜘蛛池模板: 安陆市| 万全县| 宜君县| 清水县| 洛浦县| 昌平区| 九龙县| 金沙县| 泸西县| 原阳县| 上思县| 松江区| 龙江县| 芜湖市| 巴林右旗| 蒲江县| 商水县| 方城县| 江油市| 固始县| 勃利县| 巴马| 梓潼县| 繁峙县| 桂阳县| 木里| 连平县| 塘沽区| 保山市| 陆河县| 伊通| 林口县| 贵溪市| 米脂县| 呼图壁县| 海口市| 都匀市| 色达县| 九寨沟县| 西乡县| 平果县|