wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

12864-ST7920液晶繪圖的介紹

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年09月14日   【字體:

  基于ST7920控制的12864液晶用于字符顯示很方便的,但網友說用它顯示圖形并不合適,原因就是它繪圖時先要關


  閉顯示,繪完后又要打開,速度會較慢。我沒有用過別的液晶,手中只有這一款,擺弄了幾天,掌握了一點東西,

  寫出來共享。


首先,我們知道,圖形都是由像素點組成的,繪圖的基礎其實就是畫點。只要我們能點亮液晶的任意一個像素點,那么繪圖就不是什么難事了。萬丈高樓平地起嘛,先要做的,當然是要打好基礎。

ST7920提供了用于繪圖的GDRAM(graph display RAM)。共 64×32 個字節的空間(由擴充指令設定繪圖 RAM 地址),最多可以控制 256×64點陣的二維繪圖緩沖空間。在它的Da

tasheet給出了GDRAM的坐標地址對照表:

 
 

用坐標表示,就是這樣:

 

它的橫坐標每一個地址都是16 位的。共16個地址,256位。
很明顯,它能控制256*64像素的液晶屏,而我們的只是128*64像素液晶屏,顯然只用到它的一部分。
我剛開始以為它對應屏幕的繪圖RAM是這樣分布的(如紅色部分):


結果栽了

 

大根頭,后來終于弄明白,原來它對應屏幕的GDRAM是這樣分布的:


 

   只要我們清楚了它的GDRAM和屏幕上像素點的映射(對應)關系,點亮對應的像素點就容易多了。要點亮某一個像素點,就是將這個像素點在GDRAM中對應的位置1,這個相信沒人會不知道吧?
我們先討論一下思路,再一步步寫代碼。我覺得,思路要比代碼重要的多,只要你的思路通了,正確了,那么寫出代碼肯定會很容易。
首先,給你x,y的坐標,要你點亮一個點,要怎么做呢?從上面的圖我們知道,它是分為兩個半屏的,首先,我們要確定這個點是在上半屏還是下半屏,然后確定它是在那一行(縱坐標Y),再確定它是在哪一個字節的哪一個位(也就是確定它在那一列,即橫坐標X)。這些都確定后我們就定位到某一個具體的位上了,只就將這個位置1,就OK了。
下面我們邊寫代碼邊討論。
因為這里僅僅是討論如何在12864上打點的,而不是給12864寫一個驅動,所以對于基本的數據讀寫函數,我們不做討論,這里假設已經有了如下基本函數:

 

1
 voidlcd_write_cmd(unsignedchar);  //lcd 命令寫
 
2
 voidlcd_write_data(unsignedchar); //lcd 數據寫
 
3
 unsigendcharlcd_read_data(void);  //lcd 數據讀
 


好了,就這些了。
為了方便,我們定義如下宏:



print?

1
 #define  BASIC_SET   0x00          //基本指令集,后面的數字查數據手冊,下同。
 
2
 #define  EXTEND_SET  0x00           //擴展指令集
 
3
 #define  DRAW_ON     0x00           //繪圖顯示開
 
4
 #define  DRAW_OFF    0x00           //繪圖顯示關
 


我們現在開始寫點亮某一個點的函數:



print?

01
 voidlcd_set_dot(unsignedcharx, unsignedchary)
 
02
 {
 
03
   unsignedcharx_byet, x_bit;       //在橫坐標的哪一個字節,哪一個位
 
04
   unsignedchary_byte, y_bit;
 
05
   x_byte = x / 16;                   //算出它在哪一個字節(地址)
 
06
                                       //注意一個地址是16位的
 
07
   x_bit = x % 16;                    //算出它在哪一個位
 
08
   y_byte = y /32;                    //y是沒在哪個字節這個說法
 
09
                                       //這里只是確定它在上半屏還是下半屏
 
10
                                       //0:上半屏 1:下半屏
 
11
   y_bit = y % 32;                    //y_bit確定它是在第幾行
 
12
   lcd_write_cmd(EXTEND_SET);         //擴展指令集
 
13
   lcd_write_cmd(DRAW_OFF);           //繪圖顯示關閉
 
14
   lcd_write_cmd(0x80 + y_bit);       //先寫垂直地址
 
15
                                       //具體參照數據手冊
 
16
   lcd_write_cmd(0x80 + x_byte + 8 * y_byte);  //水平坐標
 
17
                                                //下半屏的水平坐標起始地址為0x88
 
18
                                                //(+8*y_byte)就是用來確定在上半屏還是下半屏
 
19
   if(x_bit < 8)                              //如果x_bit位數小于8
 
20
   {
 
21
       lcd_write_data(0x01 << (7 - x_bit));    //寫高字節。因為坐標是從左向右的
 
22
                                                //而GDRAM高位在左,底位在右
 
23
       lcd_write_data(0x00);                   //低字節全部填0
 
24
   }
 
25
   else
 
26
   {
 
27
       lcd_write_data(0x00);                   //高字節全部填0
 
28
       lcd_write_data(0x01 << (15 - x_bit));
 
29
   } 
 
30
   lcd_write_cmd(DRAW_ON);                    //打開繪圖顯示
 
31
   lcd_write_cmd(BASIC_SET);                  //回到基本指令集,畢竟ST7920是以字符為主的
 
32
   return;
 
33
 }


   基本畫點函數算是完成了,但是我們如果使用這個函數,就會發現問題。你且用它沿橫坐標畫幾個連續的點試試,肯定不是你想要的結果。

   出現問題的原因是因為我們畫點時對其余的位全部填0處理了,造成對原來的信息的破壞。所以我們要讀出要寫的那個地址原來的數據,再進行加工,寫回去就可以解決問題了。

 
 畫點函數到此就完成了,剩下的事情就是對函數的優化了。例如對入口參數的檢查,對乘除法的優化等等。
 

關閉窗口

相關文章

西西午夜视频| 国产高清在线观看| 在线观看免费视频黄| 欧美精品制服第一页| 国产电影精品久久禁18| 97超碰免费在线| 亚洲色欧美另类| 日本一二区免费| 国产精品91久久久久久| 亚洲午夜精品久久久久久久久| 国产成人黄色| 久久精品a一级国产免视看成人| 国产裸体美女永久免费无遮挡| 免费一级特黄毛片| 久久久久久久久久av| 中文字幕一区二区三| 欧美在线电影| 欧美人xxx| 久久综合第一页| 久久精品无码一区| 污视频在线免费观看一区二区三区| 亚洲精品wwwww| 91在线高清观看| 亚洲宅男网av| 在线观看a视频| 美女被男人操网站| 国产精久久一区二区三区| 久久一区二区精品| 亚洲视屏在线播放| 中文字幕欧美日韩一区| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 国产女人爽到高潮a毛片| 不卡影院一区二区| 国产精品观看在线亚洲人成网| 色综合天天做天天爱| 久久三级福利| 久久99成人| 无人视频在线观看免费| 亚洲xx在线| 一区二区三区影视| 亚洲色欲久久久综合网东京热| 欧美精品激情在线| 欧洲激情一区二区| 国产一区二区美女诱惑| 秋霞影视一区二区三区| 亚洲1卡2卡3卡4卡乱码精品| 欧美午夜春性猛交xxxx| 日本三级2019| 在线a免费观看| 精品999在线观看| 美日韩精品免费观看视频| 欧美日韩国产综合视频在线观看中文| 国产日韩欧美| 麻豆视频久久| 日韩精品成人av| 特大巨黑人吊性xxx视频| 中文字幕精品视频在线观看| 任你躁av一区二区三区| 亚洲一区二区三区精品在线观看| 国内精品模特av私拍在线观看| 欧美日韩国产免费| 91视频免费看| 国产欧美一区二区色老头 | 中文字幕制服丝袜一区二区三区| 亚洲激情自拍| 狠狠久久伊人| 在线成年人视频| 久热中文字幕在线精品首页| 久久久久久av无码免费看大片| 一二三不卡视频| 欧美一级片中文字幕| 欧美精品久久| 国产美女搞久久| 久久亚洲精品成人| 日韩一区二区在线免费观看| 亚洲精品视频在线看| 国产精品一品二品| 亚洲高清资源| 欧美丝袜激情| 日韩欧乱色一区二区三区在线| 不卡在线视频| 国产视频资源| 91电影在线| 天天干免费视频| 日本高清不卡码| 久久免费手机视频| 欧美体内she精高潮| 在线观看av的网址| 精品国产乱码久久久久软件| 欧美一区深夜视频| 亚洲日本aⅴ片在线观看香蕉| 在线看一区二区| 综合欧美亚洲日本| 91天堂素人约啪| 精品一区二区三区视频在线观看| 自拍欧美日韩| 精品不卡一区| 亚洲日本视频在线| 九九热线视频只有这里最精品| 最新国产在线观看| 亚洲mv在线| xfplay先锋影音夜色资源站| 亚洲精品人成网在线播放影院| 亚洲无码久久久久久久| 国产成人自拍视频在线| 天天做夜夜爱爱爱| 蜜臀久久99精品久久久久久| av在线网站免费观看| 欧美激情国产精品日韩| 亚洲国产一二三精品无码| 欧美一区二区综合| 亚洲综合在线播放| 成人av在线网址| 国产成人高潮免费观看精品| 欧美精品激情视频| 欧美日韩xxxxx| 日韩在线视频免费观看高清中文| 亚洲精品av在线| 亚洲护士老师的毛茸茸最新章节| 91精品麻豆日日躁夜夜躁| 欧美午夜不卡视频| 欧美三级日韩在线| 欧美午夜精品理论片a级按摩| 欧美午夜电影在线| 午夜电影久久久| 精品久久久久久久久久ntr影视| 亚洲午夜电影网| 亚洲一区二区av在线| 亚洲免费在线播放| 亚洲精品国产成人久久av盗摄 | 91在线观看免费高清完整版在线观看| 庆余年2免费日韩剧观看大牛| 韩国19禁主播vip福利视频| 精品国内亚洲在观看18黄| 亚洲欧美在线磁力| 国产亚洲一区二区在线| 中文字幕久热精品在线视频 | 久久在线中文字幕| 久久国产亚洲精品无码| 啊啊啊一区二区| 能看的毛片网站| 中文字幕有码av| 亚洲成人激情小说| 久久中文字幕人妻| 日本少妇高清视频| 日本少妇xxxx动漫| 国产精品第6页| 高清毛片aaaaaaaaa片| 四虎永久在线精品免费网址| 久久久久久久久综合影视网| 成人欧美日韩| h版电影在线播放视频网址| 99riav视频| 中文字幕网在线| yw视频在线观看| 欧美日韩色网| 国内精品伊人| 国语一区二区三区| 在线电影一区二区| 美女精品一区| av爱爱亚洲一区| 国产精品蜜臀在线观看| 亚洲 欧美综合在线网络| 欧美影院一区二区| 亚洲欧美激情在线视频| 欧美大片免费观看| 国产精品成熟老女人| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲午夜高清视频| 免费黄色福利视频| 欧美xxxx日本和非洲| 69精品无码成人久久久久久| 清纯粉嫩极品夜夜嗨av| 免费黄色网址在线| 成人午夜福利视频| 任你操在线观看| 交视频在线观看国产| av在线1区2区| 欧美色网在线| 久久精品福利| 欧美片第1页综合| 日日夜夜精品视频天天综合网| 成人美女在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 在线观看视频欧美| 一本色道久久88综合日韩精品| 欧美亚洲国产日韩2020| 精品乱码一区| 国产免费毛卡片| 黑丝av在线播放| 国产午夜性春猛交ⅹxxx| 亚洲人成电影在线观看网| 全免费一级毛片免费看| 欧美xxx.com| 全球中文成人在线| 欧美一区不卡| 成人黄色777网| 日本韩国一区二区| www.欧美精品一二三区| 91文字幕巨乱亚洲香蕉| 亚洲熟妇无码一区二区三区导航| 国产高清成人久久| 天天干,天天干| 91视频黄色| seseavlu视频在线| 精品视频在线观看免费观看 | 日韩一区二区三区精品视频 | 亚洲成人精品在线观看| 亚洲国产小视频| 欧洲精品在线视频| 亚洲女人毛片| 黑森林av导航| 中文字幕乱码无码人妻系列蜜桃| 国产精品久久久久久久久鸭| 黄色网址在线播放| 91国内精品白嫩初高生| 日本人妖一区二区| 亚洲成人综合在线| 亚洲系列中文字幕| 精品久久一区二区三区蜜桃| 国产精品探花在线播放| 中国一级免费毛片| 色偷偷网站视频| 国产网友自拍视频导航网站在线观看| 视频小说一区二区| 国产精品亚洲第一区在线暖暖韩国| 午夜av一区二区| 欧美成人午夜剧场免费观看| 亚洲国产成人不卡| 91视频免费观看网站| 人妻偷人精品一区二区三区| 黄页网址大全在线播放| 综合视频一区| 国产乱码一区二区三区| 在线亚洲精品福利网址导航| 97久久国产精品| 国产精品一线二线三线| 91aaa在线观看| 手机在线观看你懂的| 狠狠操一区二区三区| 亚洲婷婷在线| 午夜精品福利视频网站| 2019精品视频| 看欧美ab黄色大片视频免费| 亚洲永久精品一区| 性色a∨人人爽网站| 亚洲精品影片| 成人免费av在线| 日韩av资源在线播放| 任我爽在线视频精品一| 欧美88888| 青青草视频在线青草免费观看| 一区二区电影免费观看| 三级一区在线视频先锋| 欧美另类一区二区三区| www.成人av.com| 精品人妻一区二区三区日产乱码卜| 亚洲人视频在线观看| а√天堂官网中文在线| 一本色道久久精品| 欧美日韩亚洲综合在线| 97超碰资源| 精品一区二区三区蜜桃在线| 国产一级影视| 久久xxx视频| 国产成人精品一区二区三区网站观看| 亚洲精品一区二区三区在线观看| 欧美日韩精品综合| 波多野结衣爱爱视频| 天天舔夜夜操| 日韩欧美中文字幕电影| 亚洲欧美自拍偷拍色图| 国产69久久精品成人| 深爱五月综合网| 一区二区免费播放| 超碰aⅴ人人做人人爽欧美| 国产一区二区三区免费在线观看| 精品亚洲一区二区| 国产免费裸体视频| 一卡二卡三卡在线| 瑟瑟视频在线| 日本中文字幕一区| 日韩av在线精品| 青草网在线观看| 国产三级三级在线观看| 黄色网在线免费观看| 日韩制服丝袜av| 亚洲另类xxxx| 男女猛烈激情xx00免费视频| 国产欧美一级片| 七七久久电影网| 国产伦精品一区二区三区免费迷| 最新的欧美黄色| 欧美激情国产精品日韩| 手机在线观看免费av| 综合在线影院| 99re66热这里只有精品3直播| 久久99久久99精品中文字幕| 伊人影院综合在线| 九九热爱视频精品视频高清| 91嫩草国产线观看亚洲一区二区 | 91久久国产精品| 老湿机69福利| 在线视频专区| 一区二区三区国产在线| 日韩国产欧美一区二区三区| 日韩精品日韩在线观看| 欧美私人情侣网站| 免费男女羞羞的视频网站中文字幕妖精视频| 经典三级一区二区| 国产精品久久777777| 国产精品亚发布| 丁香花五月激情| 91精品国产91久久久久游泳池| 美国av一区二区| 精品中文字幕在线| 中文字幕在线观看网址| www.成人精品免费网站青椒| 国产精品草草| 亚洲免费一在线| 污免费在线观看| 天天激情综合| 亚洲国产日本| 在线精品高清中文字幕| 亚洲熟妇一区二区| 国产精品久久久久久精| 欧美专区在线| 99精品欧美一区二区三区小说| 日韩在线播放一区| 精品久久久久久无码人妻| 天天插天天干| 国产精品福利在线观看播放| 日韩av在线免费| 国产资源中文字幕| 春暖花开亚洲| 久久亚洲国产精品一区二区| 欧美日韩第一页| 激情五月激情综合| 韩国福利在线| 91在线视频官网| 成人欧美一区二区三区视频| 亚洲国产av一区二区三区| 欧美gay视频| 亚洲制服丝袜av| 亚洲欧美日韩精品综合在线观看| 秋霞欧美在线观看| 亚洲美女久久| 亚洲精品999| 日本三级日本三级日本三级极| 粗大的内捧猛烈进出在线视频| 精品中文字幕一区二区| 国产激情视频一区| 亚洲色成人www永久网站| 99只有精品| 欧美在线高清视频| 99视频精品免费| 国产国语**毛片高清视频| 美女视频一区二区三区| 国产精品丝袜高跟| 在线免费观看高清视频| 欧美黄色一级| 欧美刺激午夜性久久久久久久| 五月激情婷婷在线| 中文字幕在线免费专区| 99国产精品久久| 欧美日韩在线精品一区二区三区| 色偷偷av男人的天堂| 外国成人免费视频| 久久99久国产精品黄毛片入口| 久久久久久久久久久网| 国产精品99精品一区二区三区∴| 欧美网站一区二区| 性一交一黄一片| 老司机午夜在线视频| 亚洲精品免费播放| 国产高清精品在线观看| 免费在线观看视频| 91在线你懂得| 影音先锋欧美在线| 51免费午夜啪啪| 国产综合久久久久久久久久久久| 亚洲一区二区三区视频| 五十路在线观看| 亚洲精品社区| 国产精品免费视频久久久| 一级黄在线观看| 日韩精品一区二区三区免费观影| 久久成人av网站| 波多野结衣视频在线观看| 精品亚洲自拍| 日韩亚洲综合在线| 动漫精品一区一码二码三码四码| 久久青草免费| 精品无码久久久久久国产| 爱爱爱爱免费视频| 拍真实国产伦偷精品| 日韩欧美第一页| 日本wwwwwww| 精品伦理一区二区| 久久综合色综合88|