久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機(jī)驅(qū)動(dòng)ILI9320畫(huà)線,畫(huà)點(diǎn),畫(huà)圓,畫(huà)矩形,打印字母,打印漢字,輸出圖像 [打印本頁(yè)]

作者: 51黑dd    時(shí)間: 2016-4-6 19:52
標(biāo)題: 單片機(jī)驅(qū)動(dòng)ILI9320畫(huà)線,畫(huà)點(diǎn),畫(huà)圓,畫(huà)矩形,打印字母,打印漢字,輸出圖像

2.0寸彩屏驅(qū)動(dòng)240*320分辨率,ILI9320控制器,含有基本驅(qū)動(dòng)函數(shù)和基本圖形顯示函數(shù)例如:畫(huà)線,畫(huà)點(diǎn),畫(huà)圓,畫(huà)矩形,打印字母,打印漢字,輸出圖像等

完整代碼下載: 52465290V1.0_TFT_ILI9320.rar (88.1 KB, 下載次數(shù): 60)

主要代碼預(yù)覽:
  1. /**********************************************************
  2. 文件名稱:ILI9320_figure.c
  3. 功能說(shuō)明:圖形函數(shù)庫(kù),畫(huà)點(diǎn)、畫(huà)線、畫(huà)圓、填充、畫(huà)矩形
  4. 編寫:阿呆游樂(lè)園
  5.   ADaiPlay.21ic.org
  6.   QQ:1325180192
  7. 時(shí)間:2011/8/10
  8. 其他說(shuō)明:版權(quán)所有,盜版請(qǐng)注明出處
  9. **********************************************************/

  10. #include <reg51.h>
  11. #include "MyType.h"
  12. #include "ILI9320_base.h"
  13. #include "ILI9320_figure.h"








  14. /**********************************************************
  15. 函數(shù)名稱:LCD_print_full()
  16. 入口參數(shù):color為常用的需要顯示的顏色(已經(jīng)提前定義),color為
  17.                   NULL時(shí),則可將不常用顏色放入dat中加以顯示
  18. 出口參數(shù):無(wú)
  19. 時(shí)間:2011/8/10
  20. 功能說(shuō)明:全屏顯示單色畫(huà)面
  21. 其他說(shuō)明:無(wú)
  22. **********************************************************/
  23. void LCD_print_full(uint16 color)
  24. {
  25.           unsigned int i,j;
  26.        
  27.         ILI9320_SetPos(0,0,SCREEN_X_MAX,SCREEN_Y_MAX);

  28.         for(i=0;i<SCREEN_Y_MAX;i++)
  29.         {
  30.              for(j=0;j<SCREEN_X_MAX;j++)
  31.         {
  32.                         LCD_WRITE_DATA(color);
  33.         }
  34.         }
  35. }



  36. /**********************************************************
  37. 函數(shù)名稱:LCD_print_part()
  38. 入口參數(shù):起始、終止橫坐標(biāo)(0-239),縱坐標(biāo)(0-319),顯示顏色uint16
  39. 出口參數(shù):無(wú)
  40. 時(shí)間:2011/8/10
  41. 功能說(shuō)明:填充矩形區(qū)域
  42. 其他說(shuō)明:0<=xs<xe<=SCREEN_X_MAX-1
  43.                   0<=ys<ye<=SCREEN_Y_MAX-1
  44. **********************************************************/
  45. void LCD_print_part(uint16 xs,uint16 ys,uint16 xe,uint16 ye,uint16 color_dat)
  46. {
  47.         uint16 i,j;

  48.         ILI9320_SetPos(xs,ys,xe,ye);       
  49.         for(j=0;j<(ye-ys+1);j++)
  50.     {
  51.             for(i=0;i<(xe-xs+1);i++)
  52.                 {
  53.                         LCD_WRITE_DATA(color_dat);
  54.                 }
  55.         }   
  56. }

  57. /**********************************************************
  58. 函數(shù)名稱:LCD_print_rectangle()
  59. 入口參數(shù):起始、終止橫坐標(biāo)(0-239),縱坐標(biāo)(0-319),顯示顏色uint16
  60. 出口參數(shù):無(wú)
  61. 時(shí)間:2011/8/10
  62. 功能說(shuō)明:畫(huà)矩形邊框
  63. 其他說(shuō)明:0<=xs<xe<=SCREEN_X_MAX-1
  64.                   0<=ys<ye<=SCREEN_Y_MAX-1
  65. **********************************************************/
  66. void LCD_print_rectangle(uint16 xs,uint16 ys,uint16 xe,uint16 ye,uint16 color_dat)
  67. {
  68.         LCD_print_line(xs,ys,xs,ye,color_dat);          //畫(huà)矩形左邊
  69.         LCD_print_line(xe,ys,xe,ye,color_dat);          //畫(huà)矩形右邊
  70.         LCD_print_line(xs,ys,xe,ys,color_dat);          //畫(huà)矩形上邊
  71.         LCD_print_line(xs,ye,xe,ye,color_dat);          //畫(huà)矩形下邊
  72. }


  73. /**********************************************************
  74. 函數(shù)名稱:LCD_print_circle()
  75. 入口參數(shù):圓心橫坐標(biāo)(0-239),縱坐標(biāo)(0-319),半徑(0-120),顯示顏色uint16
  76. 出口參數(shù):無(wú)
  77. 時(shí)間:2011/8/10
  78. 功能說(shuō)明:畫(huà)圓形邊框(僅支持屏幕內(nèi)畫(huà)圓)
  79. 其他說(shuō)明:0<=x<=SCREEN_X_MAX-1
  80.                   0<=y<=SCREEN_Y_MAX-1
  81. **********************************************************/
  82. void LCD_print_circle(uint16 x,uint16 y,uint16 r,uint16 color_dat)
  83. {
  84.         uint16 dx, dy = r;

  85.         if((x>=r) &&((SCREEN_X_MAX-x)>=r) && (y>=r) && ((SCREEN_Y_MAX-y)>=r))                //確定所畫(huà)圓在屏幕范圍內(nèi),沒(méi)有超出最外邊,(暫不支持與屏幕邊相交)
  86.         {
  87.                 for(dx = 0; dx <= r; dx++)
  88.                 {
  89.                         while((r * r + 1 - dx * dx) < (dy * dy)) dy--;
  90.                         LCD_print_dot(x + dx, y - dy, color_dat);
  91.                         LCD_print_dot(x - dx, y - dy, color_dat);
  92.                         LCD_print_dot(x - dx, y + dy, color_dat);
  93.                         LCD_print_dot(x + dx, y + dy, color_dat);

  94.                         LCD_print_dot(x + dy, y - dx, color_dat);
  95.                         LCD_print_dot(x - dy, y - dx, color_dat);
  96.                         LCD_print_dot(x - dy, y + dx, color_dat);
  97.                         LCD_print_dot(x + dy, y + dx, color_dat);
  98.                 }
  99.         }
  100. }


  101. /**********************************************************
  102. 函數(shù)名稱:LCD_print_line()
  103. 入口參數(shù):起始、終止橫坐標(biāo)(0-239),縱坐標(biāo)(0-319),顯示顏色uint16
  104. 出口參數(shù):無(wú)
  105. 時(shí)間:2011/8/10
  106. 功能說(shuō)明:畫(huà)直線
  107. 其他說(shuō)明:0<=xs<xe<=SCREEN_X_MAX-1
  108.                   0<=ys<ye<=SCREEN_Y_MAX-1
  109. **********************************************************/
  110. void LCD_print_line(uint16 xs,uint16 ys,uint16 xe,uint16 ye,uint16 color_dat)
  111. {
  112.         uint16 i,ds;
  113.         int dx,dy,inc_x, inc_y;
  114.         int xerr = 0, yerr = 0;                                //初始化變量

  115.         if(xs==xe)                                                          //如果是畫(huà)垂直線則只需對(duì)豎直坐標(biāo)計(jì)數(shù)
  116.         {
  117.             ILI9320_SetPos(xs,ys,xe,ye);
  118.                 for(i=0;i<(ye-ys+1);i++)
  119.                 {
  120.                         LCD_WRITE_DATA(color_dat);
  121.                 }
  122.         }
  123.         else if(ys==ye)                                                //如果是水平線則只需要對(duì)水平坐標(biāo)計(jì)數(shù)
  124.     {
  125.                 ILI9320_SetPos(xs,ys,xe,ye);
  126.                   for(i=0;i<(xe-xs+1);i++)
  127.                 {
  128.                         LCD_WRITE_DATA(color_dat);
  129.                 }
  130.         }
  131.         else                                                                                        //如果是斜線,則重新計(jì)算,使用畫(huà)點(diǎn)函數(shù)畫(huà)出直線
  132.         {
  133.             dx = xe - xs;                                                                //計(jì)算坐標(biāo)增量
  134.             dy = ye - ys;

  135.                 if(dx > 0) inc_x = 1;                                                //設(shè)置單步方向
  136.                 else
  137.                 {
  138.                         inc_x = -1; dx = -dx;
  139.                 }
  140.                 if(dy > 0) inc_y = 1;                                                //設(shè)置單步方向
  141.                 else
  142.             {
  143.                         inc_y = -1; dy = -dy;
  144.                 }

  145.                 if(dx > dy) ds = dx;                                                //選取基本增量坐標(biāo)軸
  146.                 else                ds = dy;

  147.                 for(i = 0; i <= ds+1; i++)                                        //畫(huà)線輸出
  148.                 {
  149.                         LCD_print_dot(xs, ys,color_dat);        //畫(huà)點(diǎn)
  150.                         xerr += dx;
  151.                         yerr += dy;
  152.                         if(xerr > ds)
  153.                         {
  154.                                 xerr -= ds;
  155.                                 xs   += inc_x;
  156.                         }
  157.                         if(yerr > ds)
  158.                         {
  159.                                 yerr -= ds;
  160.                                 ys   += inc_y;
  161.                         }
  162.                 }
  163.         }  
  164. }

  165. /**********************************************************
  166. 函數(shù)名稱:LCD_print_dot()
  167. 入口參數(shù):起始橫坐標(biāo)(0-239),縱坐標(biāo)(0-319),顯示顏色uint16
  168. 出口參數(shù):無(wú)
  169. 時(shí)間:2011/8/8
  170. 功能說(shuō)明:畫(huà)點(diǎn)
  171. 其他說(shuō)明:0<=x<=SCREEN_X_MAX-1
  172.                   0<=y<=SCREEN_Y_MAX-1
  173. **********************************************************/
  174. void LCD_print_dot(uint16 x,uint16 y,uint16 color_dat)
  175. {
  176.         ILI9320_SetPos(x,y,x,y);
  177.         LCD_WRITE_DATA(color_dat);
  178. }
復(fù)制代碼




作者: b798839407    時(shí)間: 2016-4-7 08:54
想下載看看咋樣
作者: 嘿嘿嘿平常心    時(shí)間: 2017-3-24 16:18
感謝樓主
作者: wskjinfen    時(shí)間: 2019-1-31 22:02
能用串口輸出動(dòng)態(tài)圖嗎




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一级在线观看 | 日本三级在线视频 | 欧美亚洲国产一区二区三区 | 久久精品16 | 久久香蕉网| 国产精品一区二区三级 | 国产精品视频不卡 | 国产欧美精品一区二区 | 日日摸日日添日日躁av | 欧美黑人一区 | 日韩一区二区av | 久久网站黄 | 午夜爽爽爽男女免费观看影院 | a黄毛片 | 国产精品久久久久久久免费大片 | 欧美一级毛片免费观看 | 国产高清视频一区 | 91久久精品国产91久久 | 国产特一级黄色片 | 91视频入口 | 国产精品视频播放 | 欧美在线资源 | 天堂亚洲| 成人在线a| 亚洲成人免费观看 | 日韩一区二区在线观看 | 伊人春色成人 | 久久成人人人人精品欧 | 精品一区二区三区91 | 四虎国产 | 国产九九精品 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 日韩中文字幕一区 | 国产一区久久久 | 啪一啪在线视频 | 精品久久久久久亚洲综合网 | 国产美女在线看 | 日韩精品视频在线观看一区二区三区 | 情侣酒店偷拍一区二区在线播放 | 国产精品网页 | 天天射美女 |