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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 22191|回復: 15
打印 上一主題 下一主題
收起左側

如何用12864液晶顯示圖片和繪制任意函數圖象(打點)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:262 發表于 2015-12-8 05:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一. 顯示圖片

  顯示圖片的要點在于:1.取模 2.利用擴展指令設置液晶3.清楚液晶地址的概念

1.1取模

  取模軟件用的是“字模221”下圖是他的參數設置

         


   

  這里對參數設置先解釋一下,所謂橫向取模就是,一張圖片從圖片最左上角的8位開始取模,從左向右,每次取8位二進制數據轉化為16進制保存,第一排取完之后,接著到第二排最左邊8位開始取模,以此類推。為什么要這樣取模呢?因為12864液晶的橫縱坐標就是這個取模順序,這點在之后還會詳細提到。

1.2液晶的設置

  液晶顯示圖片必須用擴充指令集,初始化和顯示字符的初始化不一樣。我用的初始化函數如下:


void init_picture()//顯示圖片的初始化函數

{

   lcd_wcmd(0x36);//寫指令函數,擴充指令集,繪圖G=1打開

   lcd_wcmd(0x36);

   lcd_wcmd(0x3E);

   lcd_wcmd(0x01);//清屏

    Light= 0;//打開背光

}

1.3將取出的字模寫進相應地址

  首先應該知道地址究竟是怎樣的,結合下圖講清楚。12864液晶分為半屏和下半屏。當你想要點亮某個地方時,必須先寫這個地方的垂直地址緊接著寫入它的水平地址,水平地址液晶可以自動加1,而垂直地址不會。圖中水平坐標從0x80+00到0x80+0F,一共16個,其中0x80+00到0x80+07是上半屏的坐標,其中0x80+08到0x80+0F是下半屏的坐標。水平坐標每個兩字節,先寫入的數據填充在高字節。垂直坐標只有0x80+00到0x80+1F,圖中上半截0x80+00到0x80+1F是上半屏的垂直地址,另外的那部分一樣的是下半屏垂直地址。每個垂直地址只確定一排,所以水平和垂直地址不能確定某個點的位置,只能確定某個兩字節的位置,通過寫進2字節數據確定點亮某個點或幾個點。比如我們寫入lcd_wcmd(0x81;(垂直地址)lcd_wcmd(0x80)(水平地址); 這就是說我們將在圖中水平坐標00,垂直坐標01的位置(紅圈處)輸入數據。

                                   

               


                           

  知道地址的知識之后就明白為什么要橫向取模了,接下來只要將取模的數據一個個按取模生成的順序寫進液晶就行了。下面是我用的代碼,其中uchar=unsignedchar,uint=unsigned int。

void show_Pic(uchar*address)//顯示圖片函數

{          //address是是指向數組的指針,用法:show_Pic(XY)當中XY為數組名

    uchari,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進制數(也就是8位二進制數)才能全部控制

       {

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

       }

   }

}

1.4實際顯示結果

  下圖是我顯示的一個坐標系和一條龍




  下面的代碼是我的主函數,這部分加上上面我上面講的函數和一些基本設置就是整個代碼,XY是這幅坐標圖片取模得到的數組


void main()

{

   init_picture();

   show_Pic(XY);

   while(1)           //進入程序主循環

    {        

    }  

}

二. 用打點方式顯示任意圖像

   有的同學認為打點只需按照上面的顯示圖片的方法點亮需要的點就是了,其實這不行。因為你寫進去的是八個點的控制,會影響周圍的點,很容易出現亂碼。比如,你寫進去的是0x80,x想的是只點亮左邊一個點,其他的都不要影響,但是右邊的7個0也是會顯示的,如果在要顯示0的地方原來顯示的是1的話,你現在寫進去的0就把1覆蓋了,這樣就容易產生亂碼。所以我建議,你先把液晶的數據讀出來,再用data&=(~(0x01<<(7-bit)))(bit是你點亮哪一位,data是讀出來的數據)置0,置1也是類似的,最后再把data重新寫進去就行了。

  我的單片機接口是亂的,所以每一個液晶接口都用了位定義,并且用到了寄存器B,寄存器B的每一個當做一個變量的位來操作。我的具體代碼如下:


bit lcd_busy()        // 讀寫判斷數據的D7讀寫位,用于判斷1602是否忙

{                     

    bitresult;

    D7 =1;       //數據口D7置1,為讀狀態做準備

   LCD_RS = 0;   // 選擇指令寄存

   LCD_RW = 1;   // 選擇讀控制線

   LCD_EN = 1;   // 開使能控制線

   delayNOP();   // 時序延時

   result = D7;  // 讀D7的電平

   LCD_EN = 0;   // 關使能

   return(result); // 返回值1:忙,0可以執行操作

}

unsigned charreadData(void) //讀取數據函數

{

     uchar i;

     D0 = 1;        D1 = 1;       D2 = 1;      D3 = 1;   

     D4 = 1;        D5 = 1;       D6 = 1;      D7 = 1;   

    lcd_busy();

     LCD_RS=1; LCD_RW=1;

     LCD_EN=0; LCD_EN=1;

     B_0=D0;B_1=D1; B_2=D2; B_3=D3;//B_1=B^1,在程序前段有位定義

     B_4=D4;B_5=D5; B_6=D6;B_7=D7;

     for(i=1;i<=7;i++)

     delayNOP();//這個函數是{_nop_();_nop_();_nop_();_nop_();};

     LCD_EN=0;      

     returnB;

  }

uchar DrawDots(uchar x,uchar y,ucharcolor)//打點函數

  {

     ucharrow,xlabel,xlabel_bit;

     uchar Read_H=0,Read_L=0;

     lcd_wcmd(0x34);      //擴充指令

     lcd_wcmd(0x36);      //繪圖指令

     xlabel=x>>4;         //去16*16首地址

     xlabel_bit=x & 0x0F;

     if(y<32) row=y;

     else

     {

       row=y-32;

       xlabel+=8;

     }

     lcd_wcmd(row+0x80);

     lcd_wcmd(xlabel+0x80);

     readData();

     Read_H=readData();

     Read_L=readData();

        

     lcd_wcmd(row+0x80);

     lcd_wcmd(xlabel+0x80);

        

     if(xlabel_bit<8)

     {

      switch(color)

       {

         case 0:Read_H&=(~(0x01<<(7-xlabel_bit))); break; //變暗,看不見

         case 1:Read_H |=(0x01<<(7-xlabel_bit));break; //變亮  ,看得見

         case 2:Read_H ^=(0x01<<(7-xlabel_bit));break; //反轉

         default:break;

       }

      lcd_wdat(Read_H);

       lcd_wdat(Read_L);  

     }

     else

     {

      switch(color)

       {

         case 0:Read_L&=(~(0x01<<(15-xlabel_bit))); break; //變暗   ,看不見

         case 1:Read_L |=(0x01<<(15-xlabel_bit));break; //變亮  ,看得見

         case 2:Read_L ^=(0x01<<(15-xlabel_bit));break; //反轉

         default:break;

       }  

      lcd_wdat(Read_H);

       lcd_wdat(Read_L);  

     }

     lcd_wcmd(0x30);//恢復正常模式

  }

  如果你的單片機和12864接口不是亂的,那可以這樣寫讀取函數

unsigned charreadData(void)

{

     uchar i ,data;

     P0=0xFF;

    lcd_busy();

     LCD_RS=1; LCD_RW=1;//

     LCD_EN=0; LCD_EN=1;

     data=P0;

     for(i=1;i<=7;i++)

    delayNOP();

     LCD_EN=0;      

     returndata;

  }

     這樣,整個代碼就全部講完了,下面是顯示正弦波的圖片



     若有疏漏之處,希望大家多指正


評分

參與人數 3黑幣 +10 收起 理由
半路 + 3 共享資料的黑幣獎勵!
科學小怪蛋 + 5 贊一個!
2715644932 + 2 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏15 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2016-1-3 19:39 | 只看該作者
解釋得非常清楚,補充一下51黑論壇 12864液晶取模軟件的下載地址:http://m.izizhuan.cn/mcudown/
回復

使用道具 舉報

板凳
ID:79544 發表于 2016-1-5 09:34 | 只看該作者
樓主強大,值得學習,長知識,謝謝分享!
回復

使用道具 舉報

地板
ID:162142 發表于 2017-1-17 13:05 來自觸屏版 | 只看該作者
樓主我試了一下但是那個我數組指針學的不好總是運行不了 能幫我一下嗎
回復

使用道具 舉報

5#
ID:161822 發表于 2017-1-17 13:15 | 只看該作者
不錯,收下了,謝謝!
回復

使用道具 舉報

6#
ID:159270 發表于 2017-2-6 22:14 | 只看該作者
不錯啊,值得學習
回復

使用道具 舉報

7#
ID:163711 發表于 2017-2-7 15:23 | 只看該作者
不錯  好啊
回復

使用道具 舉報

8#
ID:162634 發表于 2017-5-19 20:01 | 只看該作者
剛好我需要
回復

使用道具 舉報

9#
ID:105778 發表于 2017-9-3 20:11 | 只看該作者
感謝樓主無私奉獻 能不能講解彩屏這方面的例子 邊學習逐步提高。
回復

使用道具 舉報

10#
ID:195884 發表于 2017-9-4 20:24 | 只看該作者
亮出來,大家分享
回復

使用道具 舉報

11#
ID:497325 發表于 2019-5-18 10:39 | 只看該作者
B_1這些事怎么定義的
回復

使用道具 舉報

12#
無效樓層,該帖已經被刪除
13#
ID:318672 發表于 2019-6-28 23:20 來自觸屏版 | 只看該作者
感謝分享
回復

使用道具 舉報

14#
ID:575229 發表于 2019-8-11 07:48 | 只看該作者
很有用,謝謝分享
回復

使用道具 舉報

15#
ID:276663 發表于 2021-11-25 01:22 | 只看該作者
原作在這里,可讓人好找
回復

使用道具 舉報

16#
無效樓層,該帖已經被刪除
17#
無效樓層,該帖已經被刪除
18#
ID:1064915 發表于 2023-12-30 08:28 | 只看該作者
ks0108的是列行式的
回復

使用道具 舉報

19#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
www.激情五月| 国产精品资源站在线| 1769国产精品视频| 韩国理伦片久久电影网| 台湾佬成人网| 久久青草视频| 玖玖玖视频精品| 日本欧美在线| 国产一区二区三区国产精品| 亚洲国产aⅴ精品一区二区三区| 中文另类视频| 99精品女人在线观看免费视频| 99riav视频一区二区| 日本在线中文字幕一区二区三区| 91综合国产| 麻豆国产一区| 香蕉久久夜色精品国产更新时间| 羞羞答答一区二区| 手机在线电影一区| 国内精品久久久久久久影视麻豆| 国产日韩综合| 久久精品999| 成人黄色在线视频| 国产农村妇女精品| 亚洲综合丁香婷婷六月香| 亚洲精品视频一区二区| 亚洲福利视频一区二区| 欧美在线高清视频| 精品久久久久久久一区二区蜜臀| 亚洲精品中文字幕av| 久久韩剧网电视剧| 2019中文字幕在线观看| 91免费的视频在线播放| 欧美精品123| 国产女教师bbwbbwbbw| 国产精品宾馆在线精品酒店| 中文字幕亚洲欧洲| 欧美熟妇一区二区| 久久久久久久黄色| 国产精品系列视频| 久久日.com| 狠狠操五月天| 欧美变态视频| 深夜国产在线播放| 99er精品视频| 亚洲成人日韩| 久久精品国产99| 中文字幕成人网| 日本精品视频一区二区| 精品夜色国产国偷在线| 久久久久久久成人| 国产精品一区二区三区免费观看| 亚洲av综合色区| 午夜av中文字幕| 朝桐光av在线| 国产婷婷在线视频| free性丰满69性欧美| 色老板亚洲精品一区| 含羞草www国产在线视频| 精品国产黄a∨片高清在线| 深爱激情综合网| 日韩av成人高清| 国产精品久久久久国产精品日日| 欧美日韩午夜精品| 日韩在线视频二区| 91最新在线免费观看| 成人免费看片视频在线观看| 在线成人免费av| 国产精品99精品无码视| 五月婷婷久久久| 国产农村av| 国产理论在线| 免费欧美视频| 狠狠狠色丁香婷婷综合激情| 亚洲精品视频免费看| 国产专区一区| 2014亚洲片线观看视频免费| 日本韩国欧美国产| 久久精品91久久香蕉加勒比| 国产成人精品一区二区三区福利| 青娱乐自拍偷拍| 色www亚洲国产阿娇yao| 亚洲av无码国产精品永久一区| av电影免费在线| 97影院秋霞午夜在线观看| 91精品入口| 免费观看成人av| 亚洲第一久久影院| 伊人久久精品视频| 国产乱码精品一区二区三区不卡| 欧美伦理片在线看| 成人涩涩小片视频日本| 性xxxx视频播放免费| 国内在线高清免费视频| 欧美色网一区| 亚洲精品美女| 亚洲欧洲制服丝袜| 国产午夜精品视频| 国产日韩欧美精品| wwwxxx色| 精品久久久无码中文字幕| 丰满少妇又爽又紧又丰满69| 女海盗2成人h版中文字幕| 伊人久久大香线蕉综合四虎小说| 国产日韩欧美综合在线| 日韩精品免费综合视频在线播放| 亚洲伊人久久综合| 色婷婷狠狠18| 伊人成年综合网| 国产又粗又长又爽视频| 亚洲福利在线观看视频| 丁香婷婷成人| 95精品视频| 久久国产精品久久国产精品| 日本视频一区二区不卡| 欧美卡一卡二卡三| 精品美女调教视频| 国产99久久精品一区二区300| 亚洲免费在线观看视频| 国产国产精品人在线视| 亚洲av成人片无码| bdsm国产| 久久精品福利| 亚洲图片欧美色图| 成人中文字幕+乱码+中文字幕| 久久亚洲AV成人无码国产野外| 国产九色视频| 久久悠悠精品综合网| 亚洲免费视频中文字幕| 亚洲va国产va天堂va久久| 久久久久久久久久97| 男人午夜天堂| 欧美视频网站| 亚洲国产精品人人爽夜夜爽| 香港三级日本三级a视频| 国产视频手机在线| 国产不卡人人| 91丝袜国产在线播放| 2021久久精品国产99国产精品| 欧美激情一区二区三区p站| 十大免费污污软件| 日韩精品福利一区二区三区| 欧美性xxxx极品hd欧美风情| 欧美激情第六页| 日本黄色中文字幕| 秋霞在线午夜| 91视频在线观看免费| 国产99久久久欧美黑人| 日本午夜精品视频| 午夜影院在线免费观看| 日韩精品一区第一页| 一道本无吗dⅴd在线播放一区| 中文字幕第17页| 午夜娱乐在线| av永久不卡| 日韩一级片在线播放| 草b视频在线观看| 又粗又硬又爽国产视频| 老牛影视av一区二区在线观看| 日韩欧美成人精品| 视频一区二区视频| 五月婷婷开心中文字幕| 国产精品久久久网站| 欧美中文一区二区三区| 午夜久久久久久久久久久| 黄色福利在线观看| 亚洲电影一区| 欧美日韩午夜在线| 久久精品国产sm调教网站演员| 一区二区不卡久久精品| 亚洲女娇小黑人粗硬| 91精品婷婷国产综合久久性色| 亚洲欧美日韩爽爽影院| 亚洲一级片免费观看| 激情亚洲综合网| 亚洲影视在线| 久久6精品影院| 国产在视频线精品视频| 在线免费黄色| 国产三级一区二区| 精品日本一区二区三区在线观看| 国产一区二区在线视频聊天| 9999精品| 欧美一区二区三区免费观看视频| 成人在线观看a| av观看成片免费网站| 久久aⅴ乱码一区二区三区| 欧美夫妻性视频| 99久久久免费精品| 欧美xxx黑人xxx水蜜桃| 亚洲免费观看高清完整版在线| 亚洲v国产v| 青草青青国产| 中文字幕乱码亚洲无线精品一区 | 涩多多在线观看| 日本夜爽爽一二区| 狠狠狠色丁香婷婷综合久久五月| 日本在线精品视频| 中文字幕国产在线观看| 日本肉肉一区| 欧美日韩一区国产| 欧美三级理论片| 97影视在线观看| 国产一区二区三区黄视频| 成人精品aaaa网站| 亚洲一级在线播放| 成人三级av在线| 精品国产91洋老外米糕| 国产精品久久久免费观看| 日韩精品系列| 国产精品三级久久久久三级| 自拍偷拍亚洲色图欧美| 国产白浆在线| 久久亚洲电影| 成人午夜高潮视频| 亚洲第一免费视频| 久久中文字幕av| 久久99热精品| 欧美精品一二三四区| 日韩精品成人在线观看| 日韩av网站电影| 亚洲国产日韩一区无码精品久久久| 午夜小视频在线观看| 天天色图综合网| 超碰在线公开97| 亚洲无码精品在线观看| 综合激情网...| 国产丝袜一区视频在线观看| 麻豆一区在线观看| 日韩大尺度黄色| 日韩限制级电影在线观看| 国产精品一区二区无码对白| 麻豆tv入口在线看| 婷婷久久综合九色国产成人| 污污视频网站免费观看| 神马久久精品| 亚洲女人****多毛耸耸8| 成人在线免费观看av| 在线视频尤物| 亚洲精品视频免费观看| 国产精品久久久毛片| 日本中文字幕在线视频| 欧美日韩一区二区三区| 三上悠亚 电影| 日本色护士高潮视频在线观看| 在线一区二区三区四区| 久久久久中文字幕亚洲精品| 欧美野外wwwxxx| 欧美另类变人与禽xxxxx| 亚洲最大成人网站| 日韩电影免费观| 精品视频久久久久久久| 久久精品视频8| 网红女主播少妇精品视频| 97人人爽人人喊人人模波多| 国产富婆一级全黄大片| 亚洲激情另类| 操人视频欧美| 在线观看黄网站免费继续| 国产成人免费网站| 中文字幕制服丝袜在线| 在线看片黄色| 亚洲一区二区三区四区在线免费观看| 色网站在线视频| 99色在线观看| 亚洲欧美一区二区三区四区| 国产嫩bbwbbw高潮| 99精品视频在线| 成人黄色影片在线| 国产精品白浆流出视频| 成人av高清在线| 少妇av一区二区三区无码| 日本在线视频1区| 在线看一区二区| 国产精品免费在线视频| 精品网站aaa| 欧美重口另类videos人妖| 中文娱乐网av| 丁香婷婷综合色啪| 国产视频九色蝌蚪| 八戒八戒神马在线电影| 亚洲精品一线二线三线无人区| 久草国产精品视频| 亚洲精品tv久久久久久久久久| 亚洲一区二区三区视频播放| 一级黄色免费| 国产精品久久久久久久久图文区 | 亚洲天堂在线播放| 久久精品av麻豆的观看方式| 久久99国产精品一区| 国产午夜精品一区理论片| 日韩二区在线观看| 明星裸体视频一区二区| 橘梨纱av一区二区三区在线观看| 亚洲成国产人片在线观看| 99久久久无码国产精品性| 成人免费直播在线| 国产激情999| 国产精品视频流白浆免费视频 | 久久精品www| 日韩精品久久久久久久电影99爱| 成人精品在线视频| 51免费午夜啪啪| 亚洲一二三四区不卡| 先锋影音av在线| 国产一区二区三区91| 亚洲直播在线一区| 99在线免费观看| 欧美午夜无遮挡| 欧美日韩一级大片| 欧美精品黄色| 亚洲砖区区免费| 蜜桃视频在线观看免费视频网站www| 精品国产乱码久久久久久浪潮| 一级片视频在线观看| 久久国产欧美| 六月婷婷在线视频| а√在线中文在线新版| 九色成人免费视频| 久久66热re国产毛片基地| 国产精品不卡一区二区三区| v8888av| 少妇精品久久久一区二区三区 | 亚洲一区在线视频| 嘿嘿视频在线观看| 视频在线不卡免费观看| 亚洲a∨一区二区三区| 成人在线观看免费网站| 日韩视频欧美视频| 免费国产黄线在线观看视频| 国产精品久久久久一区二区三区| 精品无人区无码乱码毛片国产| 成人激情免费视频| 日本在线观看一区二区三区| 蜜桃视频网站在线| 久久色在线播放| 国产成人精品视频一区| 亚洲一区二区视频在线| 日本三级理论片| 免费久久99精品国产| 亚洲欧美日韩一级| 亚洲精品a区| 国产精品久久久对白| 国产区av在线| www.欧美免费| 女同性互吃奶乳免费视频| 一道本成人在线| 一本到在线视频| 97国产一区二区| 人妻少妇无码精品视频区| 亚洲成人精选| aa在线观看视频| 成人自拍视频| 国产亚洲精品自在久久| 久久bbxx| 久久久久成人精品| 成年人免费av| 日韩欧美国产一二三区| 亚洲 精品 综合 精品 自拍| 综合久久久久久| 在线观看黄网站| 成人av网址在线观看| av网站免费在线看| 国产精品一二| 国产又黄又猛的视频| 中文字幕亚洲影视| 日本xxxxx18| 亚洲va欧美va人人爽成人影院| 欧美精品久久| 欧美4khd| 欧美日韩中文字幕在线| 亚洲一级在线播放| 国产日产亚洲精品系列| 99精品久久久久| 国产精品综合二区| 亚洲综合色一区| 久久青草久久| 亚洲色图欧美另类| 欧美日韩一区二区国产| 久久久久免费精品| 激情五月综合| 777777av| 中文字幕亚洲影视| 日韩黄色短视频| 日韩av网站在线免费观看| 中文字幕日韩一区二区三区不卡 | 久久成人福利| 一区精品视频| 欧美日韩黄色| 亚洲 欧洲 日韩| 久久久久毛片免费观看| 婷婷久久伊人| 国产精品亚洲欧美日韩一区在线| 免费看成人午夜电影| 精品亚洲美女网站| 免费成人看片网址| av成人免费| 日韩少妇中文字幕| 国产精品亚洲四区在线观看| 亚洲图片在线观看|