⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9325tp.lst

📁 2.4tft彩屏教程
💻 LST
📖 第 1 页 / 共 2 页
字号:
 268   2             }                                                                                     
 269   1      }
 270          
 271          
 272          
 273          /*----------------------------------------------------------------
 274                                      液晶初始化
 275          ----------------------------------------------------------------*/
 276          void ILI9325_Initial(void)
 277          { 
 278   1          CS=1;
 279   1              delayms(5);
 280   1              RES=0;
 281   1              delayms(5);
 282   1              RES=1;
 283   1       delayms(50);
 284   1       Write_Cmd_Data(0x0001,0x0100); 
 285   1       Write_Cmd_Data(0x0002,0x0700); 
 286   1       Write_Cmd_Data(0x0003,0x1030); 
 287   1       Write_Cmd_Data(0x0004,0x0000); 
 288   1       Write_Cmd_Data(0x0008,0x0207);  
 289   1       Write_Cmd_Data(0x0009,0x0000);
 290   1       Write_Cmd_Data(0x000A,0x0000); 
 291   1       Write_Cmd_Data(0x000C,0x0000); 
 292   1       Write_Cmd_Data(0x000D,0x0000);
 293   1       Write_Cmd_Data(0x000F,0x0000);
 294   1      //power on sequence VGHVGL
 295   1       Write_Cmd_Data(0x0010,0x0000);   
 296   1       Write_Cmd_Data(0x0011,0x0007);  
 297   1       Write_Cmd_Data(0x0012,0x0000);  
 298   1       Write_Cmd_Data(0x0013,0x0000); 
 299   1      //vgh 
 300   1       Write_Cmd_Data(0x0010,0x1290);   
 301   1       Write_Cmd_Data(0x0011,0x0227);
C51 COMPILER V7.06   9325TP                                                                07/12/2010 23:38:01 PAGE 6   

 302   1       //delayms(100);
 303   1       //vregiout 
 304   1       Write_Cmd_Data(0x0012,0x001d); //0x001b
 305   1       //delayms(100); 
 306   1       //vom amplitude
 307   1       Write_Cmd_Data(0x0013,0x1500);
 308   1       //delayms(100); 
 309   1       //vom H
 310   1       Write_Cmd_Data(0x0029,0x0018); 
 311   1       Write_Cmd_Data(0x002B,0x000D); 
 312   1      
 313   1      //gamma
 314   1       Write_Cmd_Data(0x0030,0x0004);
 315   1       Write_Cmd_Data(0x0031,0x0307);
 316   1       Write_Cmd_Data(0x0032,0x0002);// 0006
 317   1       Write_Cmd_Data(0x0035,0x0206);
 318   1       Write_Cmd_Data(0x0036,0x0408);
 319   1       Write_Cmd_Data(0x0037,0x0507); 
 320   1       Write_Cmd_Data(0x0038,0x0204);//0200
 321   1       Write_Cmd_Data(0x0039,0x0707); 
 322   1       Write_Cmd_Data(0x003C,0x0405);// 0504
 323   1       Write_Cmd_Data(0x003D,0x0F02); 
 324   1       //ram
 325   1       Write_Cmd_Data(0x0050,0x0000); 
 326   1       Write_Cmd_Data(0x0051,0x00EF);
 327   1       Write_Cmd_Data(0x0052,0x0000); 
 328   1       Write_Cmd_Data(0x0053,0x013F);  
 329   1       Write_Cmd_Data(0x0060,0xA700); 
 330   1       Write_Cmd_Data(0x0061,0x0001); 
 331   1       Write_Cmd_Data(0x006A,0x0000); 
 332   1       //
 333   1       Write_Cmd_Data(0x0080,0x0000); 
 334   1       Write_Cmd_Data(0x0081,0x0000); 
 335   1       Write_Cmd_Data(0x0082,0x0000); 
 336   1       Write_Cmd_Data(0x0083,0x0000); 
 337   1       Write_Cmd_Data(0x0084,0x0000); 
 338   1       Write_Cmd_Data(0x0085,0x0000); 
 339   1       //
 340   1       Write_Cmd_Data(0x0090,0x0010); 
 341   1       Write_Cmd_Data(0x0092,0x0600); 
 342   1       Write_Cmd_Data(0x0093,0x0003); 
 343   1       Write_Cmd_Data(0x0095,0x0110); 
 344   1       Write_Cmd_Data(0x0097,0x0000); 
 345   1       Write_Cmd_Data(0x0098,0x0000);
 346   1       Write_Cmd_Data(0x0007,0x0133);
 347   1      
 348   1              
 349   1              
 350   1      //      Write_Cmd_Data(0x0022);//               
 351   1      }
 352          
 353          /*----------------------------------------------------------------
 354                                      画点
 355          输入参数:x,y 需要画点坐标
 356                    color 点的颜色
 357          ----------------------------------------------------------------*/
 358          void Put_pixel(uchar x,uchar y,unsigned int color)
 359          {
 360   1              LCD_SetPos(x,x,y,y);
 361   1              Write_Data_U16(color);
 362   1      }
 363          
C51 COMPILER V7.06   9325TP                                                                07/12/2010 23:38:01 PAGE 7   

 364          /*----------------------------------------------------------------
 365                                   设置坐标
 366          ----------------------------------------------------------------*/
 367          static void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1)
 368          {
 369   1        Write_Cmd_Data(WINDOW_XADDR_START,x0);
 370   1        Write_Cmd_Data(WINDOW_XADDR_END,x1);
 371   1        Write_Cmd_Data(WINDOW_YADDR_START,y0);
 372   1        Write_Cmd_Data(WINDOW_YADDR_END,y1);
 373   1        Write_Cmd_Data(GRAM_XADDR,x0);
 374   1        Write_Cmd_Data(GRAM_YADDR,y0);
 375   1        Write_Cmd (0x00,0x22);//LCD_WriteCMD(GRAMWR);
 376   1      }
 377          /*----------------------------------------------------------------
 378                                     在屏幕上画线
 379          输入参数:  起始坐标X0,Y0,终止坐标X1,Y1
 380                                  color 线颜色
 381          ----------------------------------------------------------------*/
 382          void Line(      uchar X0,
 383                                  uchar Y0,
 384                                  uchar X1,
 385                                  uchar Y1,
 386                                  unsigned int color)
 387          {
 388   1              int dx = X1 - X0;
 389   1              int dy = Y1 - Y0;
 390   1              int P  = 2 * dy - dx;
 391   1              int dobDy = 2 * dy;
 392   1              int dobD = 2 * (dy - dx);
 393   1              int PointX = 0,PointY = 0;
 394   1              int incx = 0,incy = 0;
 395   1              int distance = 0,xerr = 0,yerr = 0;
 396   1              unsigned int i = 0;
 397   1      
 398   1              if(dx == 0)             //k=1斜率为1
 399   1              {
 400   2                      PointX = X0;
 401   2                      if(Y0 < Y1)
 402   2                      {
 403   3                              PointY = Y0;
 404   3                      }
 405   2                      else
 406   2                      {
 407   3                              PointY = Y1;
 408   3                      }
 409   2                      for(i = 0;i <= ((Y0<Y1) ? (Y1-Y0) : (Y0-Y1));i++)
 410   2                      {
 411   3      
 412   3                                      Put_pixel(PointX,PointY,color);
 413   3                              PointY++;
 414   3                      }
 415   2                      return;
 416   2              }
 417   1              if(dy == 0)             //k=0斜率为0
 418   1              {
 419   2                      PointY = Y0;
 420   2                      if(X0 < X1)
 421   2                      {
 422   3                              PointX = X0;
 423   3                      }
 424   2                      else
 425   2                      {
C51 COMPILER V7.06   9325TP                                                                07/12/2010 23:38:01 PAGE 8   

 426   3                              PointX = X1;
 427   3                      }
 428   2                      for(i = 0;i <= ((X0<X1) ? (X1-X0) : (X0-X1));i++)
 429   2                      {
 430   3      
 431   3                                      Put_pixel(PointX,PointY,color);
 432   3                              PointX++;
 433   3                      }
 434   2                      return;
 435   2              }
 436   1      
 437   1              if(dx > 0)
 438   1                      incx = 1;
 439   1              else if(dx == 0)
 440   1                      incx = 0;
 441   1              else
 442   1                      incx = -1;
 443   1      
 444   1              if(dy > 0)
 445   1                      incy = 1;
 446   1              else if(dy == 0)
 447   1                      incy = 0;
 448   1              else
 449   1                      incy = -1;
 450   1      
 451   1          dx = ((X0>X1) ? (X0-X1) : (X1-X0));
 452   1          dy = ((Y0>Y1) ? (Y0-Y1) : (Y1-Y0));
 453   1      
 454   1          if(dx>dy) distance=dx;
 455   1          else distance=dy;
 456   1      
 457   1          PointX = X0;
 458   1          PointY = Y0;
 459   1          for(i=0;i<=distance+1;i++)
 460   1          {
 461   2      
 462   2                      Put_pixel(PointX,PointY,color);
 463   2              xerr+=dx;
 464   2              yerr+=dy;
 465   2              if(xerr>distance)
 466   2              {
 467   3                  xerr-=distance;
 468   3                  PointX+=incx;
 469   3              }
 470   2              if(yerr>distance)
 471   2              {
 472   3                  yerr-=distance;
 473   3                  PointY+=incy;
 474   3              }
 475   2          }
 476   1      }
 477          /*---------------------------------------------------------------------------
 478                                      绘制矩形框
 479          输入参数:矩形的起始位置left,top 
 480                            矩形的结束位置right,bottom 
 481                           矩形框的颜色color
 482          
 483          -----------------------------------------------------------------------------*/
 484          void Rectangle( uchar left,
 485                                          uchar top,
 486                                          uchar right,
 487                                          uchar bottom,
C51 COMPILER V7.06   9325TP                                                                07/12/2010 23:38:01 PAGE 9   

 488                                          unsigned int color)
 489          {
 490   1              Line(left,top,right,top,color);
 491   1              Line(left,top,left,bottom,color);
 492   1              Line(right,top,right,bottom,color);
 493   1              Line(left,bottom,right,bottom,color);
 494   1      }
 495          /*---------------------------------------------------------------------------
 496                                      绘制平面矩形
 497          输入参数:矩形的起始位置left,top 
 498                            矩形的结束位置right,bottom 
 499                           矩形框的颜色color
 500          -----------------------------------------------------------------------------*/
 501          void Bar(       uchar left,
 502                                  uchar top,
 503                                  uchar right,
 504                                  uchar bottom,
 505                                  unsigned int color)
 506          {
 507   1              uchar i = 0,k = 0;
 508   1              for(k = top;k < bottom;k++)
 509   1              {
 510   2                      for(i = left+1;i <= right;i++)
 511   2                      {
 512   3                       LCD_SetPos(i,i,k,k);
 513   3                Write_Data_U16(color);
 514   3                      }
 515   2              }
 516   1      }
 517          /*---------------------------------------------------------------------------
 518                                   向LCD发送一个0--255的数值
 519          -----------------------------------------------------------------------------*/
 520          void LCDShow_uCharNumber(       uchar x,
 521                                                                  uchar y,
 522                                                                  uchar uCharNumber,
 523                                                                  unsigned int forecolor,
 524                                                                  unsigned int bkcolor)
 525          {
 526   1              LCD_PutChar(x,y,uCharNumber/100+'0',forecolor,bkcolor);
 527   1              LCD_PutChar(x+8,y,uCharNumber/10%10+'0',forecolor,bkcolor);
 528   1              LCD_PutChar(x+16,y,uCharNumber%10+'0',forecolor,bkcolor);
 529   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2174    ----
   CONSTANT SIZE    =   3518    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----     139
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -