<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ILI9235的51單片機(jī)驅(qū)動(dòng)程序-推箱子游戲

          ILI9235的51單片機(jī)驅(qū)動(dòng)程序-推箱子游戲

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

          /*******************************************************************************
          函數(shù)名稱:void ILI9325_Initial()
          函數(shù)功能:初始化液晶模塊
          入口參數(shù):無
          出口參數(shù):無
          備 注:無
          *******************************************************************************/
          void ILI9325_Initial()
          {
          RD1
          CS1
          REST0
          REST1
          Init_data(0x00e5, 0x8000);
          Init_data(0x0000, 0x0001);
          Init_data(0x0001, 0x0000);//輸出方式控制0x00,0x100,0x400,0x500,正常顯示用0x00
          Init_data(0x0002, 0x0700);//可設(shè)置為0x400或0x700;
          Init_data(0x0003, 0x1018);//可設(shè)置為0x1030,0x1000,0x1010,0x1020,0x1038,0x1028,0x1018,0x1008;
          //還可以把最前面的1去掉,如:0x18;
          //BGR = " 0 ":遵循gb順序來寫的像素?cái)?shù)據(jù)【即去掉那個(gè)1】
          //BGR = " 1 ":將RGB數(shù)據(jù)換成BGR數(shù)據(jù)再寫入GRAM【即不去掉那個(gè)1】
          //橫向設(shè)置0x1018最好/縱向設(shè)置0x1000最好
          Init_data(0x0004, 0x0000);//顯示大小尺寸控制寄存器0x00為1倍大小,即240x320
          Init_data(0x0008, 0x0202);//可設(shè)置為0x0202,0x00,
          Init_data(0x0009, 0x0000);//掃描設(shè)置
          Init_data(0x000A, 0x0000);
          Init_data(0x000C, 0x0000);
          Init_data(0x000D, 0x0000);
          Init_data(0x000F, 0x0000);
          //-----Power On sequence-----------------------
          Init_data(0x0010, 0x0000);
          Init_data(0x0011, 0x0007);
          Init_data(0x0012, 0x0000);
          Init_data(0x0013, 0x0000);
          Init_data(0x0010, 0x17B0);
          Init_data(0x0011, 0x0007);
          Init_data(0x0012, 0x013A);
          Init_data(0x0013, 0x1A00);
          Init_data(0x0029, 0x000c);
          //-----Gamma control-----------------------
          Init_data(0x0030, 0x0000);
          Init_data(0x0031, 0x0505);
          Init_data(0x0032, 0x0004);
          Init_data(0x0035, 0x0006);
          Init_data(0x0036, 0x0707);
          Init_data(0x0037, 0x0105);
          Init_data(0x0038, 0x0002);
          Init_data(0x0039, 0x0707);
          Init_data(0x003C, 0x0704);
          Init_data(0x003D, 0x0807);
          //-----Set RAM area-----------------------
          Init_data(0x0050, 0x0000);
          Init_data(0x0051, 0x00EF);
          Init_data(0x0052, 0x0000);
          Init_data(0x0053, 0x013F);
          Init_data(0x0060, 0x2700);
          Init_data(0x0061, 0x0001);
          Init_data(0x006A, 0x0000);
          Init_data(0x0021, 0x0000);
          Init_data(0x0020, 0x0000);
          //-----Partial Display Control------------
          Init_data(0x0080, 0x0000);
          Init_data(0x0081, 0x0000);
          Init_data(0x0082, 0x0000);
          Init_data(0x0083, 0x0000);
          Init_data(0x0084, 0x0000);
          Init_data(0x0085, 0x0000);
          //-----Panel Control----------------------
          Init_data(0x0090, 0x0010);
          Init_data(0x0092, 0x0000);
          Init_data(0x0093, 0x0003);
          Init_data(0x0095, 0x0110);
          Init_data(0x0097, 0x0000);
          Init_data(0x0098, 0x0000);
          //-----Display on-----------------------
          Init_data(0x0007, 0x0173);
          }

          本文引用地址:http://www.ex-cimer.com/article/201611/323809.htm


          /*=================定義顯示窗體=============================
          ---------x0: 窗體中X坐標(biāo)中較小者
          ---------x1: 窗體中X坐標(biāo)中較大者
          ---------y0: 窗體中Y坐標(biāo)中較小者
          ---------y1: 窗體中Y坐標(biāo)中較大者
          =================定義顯示窗體=============================*/
          void LCD_SetPos(uint x0,uint x1,uint y0,uint y1)
          {
          Init_data(WINDOW_XADDR_START,x0);
          Init_data(WINDOW_XADDR_END,x1);
          Init_data(WINDOW_YADDR_START,y0);
          Init_data(WINDOW_YADDR_END,y1);
          Init_data(GRAM_XADDR,x0);
          Init_data(GRAM_YADDR,y0);
          Write_Cmd (0x00,0x22);
          }

          /*******************************************************************************
          函數(shù)名稱:void ILI9325_Initial()
          函數(shù)功能:初始化液晶模塊
          入口參數(shù):無
          出口參數(shù):無
          備 注:無
          *******************************************************************************/
          void DisPoint(uchar x, uint y, uint color)
          {
          Show_RGB(x,x,y,y,color);
          }


          /********************************************************************
          畫直線(可以畫任意方向直線,包括橫線、豎線、斜線)。
          入口參數(shù): (x1,y1)起點(diǎn), (x2,y2)終點(diǎn), color顏色。
          出口參數(shù): 無
          說 明:用指定的顏色在指定的兩點(diǎn)間畫出一條直線。
          ***********************************************************************/
          void Disline(uint x1,uint x2,uint y1,uint y2,uint color)
          {
          uint t;
          int xerr=0,yerr=0,delta_x,delta_y,distance;
          int incx,incy;
          uint row,col;
          delta_x = x2-x1;//計(jì)算坐標(biāo)增量
          delta_y = y2-y1;
          col=x1;
          row=y1;
          if(delta_x>0) incx=1;//設(shè)置單步方向
          else
          {
          if(delta_x==0) incx=0;//垂直線
          else {incx=-1;delta_x=-delta_x;}
          }
          if(delta_y>0)incy=1;
          else
          {
          if(delta_y==0) incy=0;//水平線
          else {incy=-1;delta_y=-delta_y;}
          }
          if(delta_x>delta_y) distance=delta_x;//選取基本增量坐標(biāo)軸
          else distance=delta_y;

          for(t=0;t<=distance+1;t++)
          { //畫線輸出
          DisPoint(col,row,color);
          xerr+=delta_x;
          yerr+=delta_y;
          if(xerr>distance)
          {
          xerr-=distance;
          col+=incx;
          }
          if(yerr>distance)
          {
          yerr-=distance;
          row+=incy;
          }
          }
          }


          void Dis32x32(uint y,uint x,uchar *Code32x32,uint fColor,uint bColor)
          {
          uint i,j;
          y = 320-y-32;
          LCD_SetPos(x,x+31,y,y+31);
          LCD_SetPos(x,x+31,y,y+31);
          for(i=0;i<128;i++) //按照字模成分描點(diǎn)
          {
          ushort w = Code32x32[i];
          for(j=0;j<8;j++)
          {
          uint Color= (w&0x80)? fColor:bColor;//條件運(yùn)算符,當(dāng)為字模成份時(shí)描前景色 //否則描背景色
          Write_Data_U16(Color);
          w<<=1;
          }
          }

          }


          void Dis16x16(uchar x,uchar y,uchar *Code16x16,uint fColor,uint bColor)
          {
          uint i,j;
          y = 320-y-16;
          LCD_SetPos(x,x+15,y,y+15);
          for(i=0;i<32;i++)//按照字模成分描點(diǎn)
          {
          uchar w = Code16x16[i];
          for(j=0;j<8;j++)
          {
          uint Color= (w&0x80)? fColor:bColor; //條件運(yùn)算符,當(dāng)為字模成份時(shí)描前景色
          //否則描背景色
          Write_Data_U16(Color);
          w<<=1;
          }
          }
          }

          //寫16X32字符
          void Dis16x32(uint y, uint x,uchar *Code16x32,uint fColor,uint bColor)
          {
          uint i,j;
          y=320-y-32;
          LCD_SetPos(x,x+31,y,y+15);

          for(i=0;i<64;i++) //按字模成分描點(diǎn)
          {
          ushort w = Code16x32[i];
          for(j=0;j<8;j++)
          {
          uint Color= (w&0x80)? fColor:bColor; //條件運(yùn)算符,當(dāng)為字模成份時(shí)描前景色
          //否則描背景色
          Write_Data_U16(Color);
          w<<=1;
          }

          }

          }


          上一頁 1 2 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();