芭乐推广APP网站入口官网_芭乐视频在线下载_芭乐APP色版_芭乐视频在线播放

歡迎訪問杭州精顯科技有限公司液晶顯示屏網(wǎng)站! 設(shè)為首頁 | 收藏本站| 網(wǎng)站地圖
全國統(tǒng)一服務(wù)熱線
15382323032
?

技術(shù)知識

您只需一個電話我們將推薦性價比高的液晶屏產(chǎn)品選型,讓您花合理的價格,達到預(yù)期的效果

全國統(tǒng)一服務(wù)熱線
15382323032

產(chǎn)品動態(tài)

聯(lián)系我們

全國統(tǒng)一服務(wù)熱線:

15382323032

客服QQ:3234659108

手機:15382323032

地址:浙江省杭州市余杭區(qū)五常街道西溪軟件園金牛座B2座4層4118-4119

當前位置: 主頁 > 資訊中心 > 技術(shù)知識 > >

12864液晶屏是如何顯示出圖片的

文章出處:未知 人氣:發(fā)表時間:2016-12-15

12864液晶屏顯示圖片的主要要點是在于:1.取模 2.要利用擴展的指令設(shè)置lcd液晶 3.清楚lcd液晶地址的一個概念
1、取模:   取模軟件使用的是“字模221”,下面這幅圖就是他的參數(shù)設(shè)置
字模221
 
這里對里面的參數(shù)設(shè)置先解釋一下,所謂的橫向取模就是:一張圖片從圖片最左上角的第8位開始取模,從左向右的方向,每次取8位二進制數(shù)據(jù)轉(zhuǎn)化成為16進制保存,在第一排取完之后,接著到第二排最左邊的8位開始取模,以此類推。我們?yōu)槭裁匆@樣取模呢?因為LCD12864液晶屏的橫縱坐標就是按照這個取模順序的,這點在之后還會詳細的提到。
2、lcd液晶屏的設(shè)置:   液晶顯示圖片必須要使用擴充指令集,初始化和顯示字符的初始化是不一樣的。
我們使用的初始化函數(shù)如下:
void init_picture() //顯示圖片的初始化函數(shù)
{    
    //lcd_wcmd(0x34);//寫指令函數(shù),擴充指令集,繪圖關(guān)
    //lcd_wcmd(0x36);//8位數(shù)據(jù)傳輸,擴展指令操作,繪圖開           
    lcd_wcmd(0x3E);//8位數(shù)據(jù)傳輸,擴展指令操作,繪圖開             
    lcd_wcmd(0x01);//清屏 
    Light = 0;//打開背光
}
3、將取出的字模寫進相應(yīng)地址:  首先應(yīng)該知道地址究竟是怎樣的,結(jié)合下圖講清楚。lcd12864液晶分為上半屏和下半屏。當你想要點亮某個地方時,必須先寫這個地方的垂直地址緊接著寫入它的水平地址,水平地址液晶可以自動加1,而垂直地址不會。圖中水平坐標從0x80+00到0x80+0F,一共16個,其中0x80+00到0x80+07是上半屏的坐標,其中0x80+08到0x80+0F是下半屏的坐標。水平坐標每個兩字節(jié),先寫入的數(shù)據(jù)填充在高字節(jié)。垂直坐標只有0x80+00到0x80+1F,圖中上半截0x80+00到0x80+1F是上半屏的垂直地址,另外的那部分一樣的是下半屏垂直地址。
   每個垂直地址只確定一排,所以水平和垂直地址不能確定某個點的位置,只能確定某個兩字節(jié)的位置,通過寫進2字節(jié)數(shù)據(jù)確定點亮某個點或幾個點。
比如我們寫入   [垂直地址]:  lcd_wcmd(0x80+1);    [水平地址]:  lcd_wcmd(0x80);  這就是說我們將在圖中水平坐標00,垂直坐標01的位置(紅圈處)輸入數(shù)據(jù)。
 
128*64點
 
知道地址的知識之后就明白為什么要橫向取模了,接下來只要將取模的數(shù)據(jù)一個個按取模生成的順序?qū)戇M12864液晶就行了。下面是我用的代碼,其中 uchar=unsigned char,uint=unsigned int。
void show_Pic(uchar* address)//顯示圖片函數(shù)
{                                         //address是是指向數(shù)組的指針,用法:show_Pic(XY)當中XY為數(shù)組名
    uchar i,j;
    for(i=0;i<32;i++)      //上半屏的32排依次先寫滿
    {
        lcd_wcmd(0x80+i); //先送垂直地址
        lcd_wcmd(0x80);   //再送水平地址,水平地址可自加1
        for(j=0;j<16;j++) //每排128個點,所以一共要16個兩位16進制數(shù)(也就是8位二進制數(shù))才能全部控制
        {
            lcd_wdat(*address);
                 address++;
        }
    }
    for(i=0;i<32;i++)     //下半屏的32排操作原理和上半屏一樣
    { 
        lcd_wcmd(0x80+i);
        lcd_wcmd(0x88);
        for(j=0;j<16;j++)
        {
            lcd_wdat(*address);
                 address++;
        }
 

?

群創(chuàng)液晶屏 友達液晶屏 京東方液晶屏 京瓷液晶屏 龍騰液晶屏 天馬液晶屏 奇美液晶屏 三菱液晶屏