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

📄 tft.lst

📁 HOT51开发板TFT彩屏的程序
💻 LST
字号:
C51 COMPILER V9.00   TFT                                                                   08/28/2012 05:09:20 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE TFT
OBJECT MODULE PLACED IN TFT.OBJ
COMPILER INVOKED BY: E:\ruanjian\Keil uVision4\C51\BIN\C51.EXE TFT.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include "TFT.h"
   3          #include "TYPE.h"
   4          #include "TFT_COM.h"
   5          
   6          /*=========================================================
   7          函数描述:选寄存器或输入命令
   8          隶属模块:TFT
   9          参数说明:com输入命令
  10          返回说明:无返回值
  11          ===========================================================*/
  12          void THT_COM(INT8U com)
  13          {
  14   1              RX = 1;
  15   1              CS = 0;
  16   1              WD = 1;
  17   1      
  18   1              A0 = 0;
  19   1              P0 = com;
  20   1              CS = 0;
  21   1              WD = 0;
  22   1              
  23   1              CS = 1;
  24   1              WD = 1;         
  25   1      } 
  26          /*=========================================================
  27          函数描述:写入设置
  28          隶属模块:TFT
  29          参数说明:dat输入值
  30          返回说明:无返回值
  31          ===========================================================*/
  32          void THT_DAT(INT8U dat)
  33          {
  34   1              RX = 1;
  35   1              CS = 0;
  36   1              WD = 1;
  37   1      
  38   1              A0 = 1;
  39   1              P0 = dat;
  40   1              CS = 0;
  41   1              WD = 0; 
  42   1      }
  43          /*=========================================================
  44          函数描述:设置一个特殊的区域
  45          隶属模块:TFT
  46          参数说明:x1,y1,x2,y2传入的图形的轮廓坐标值
  47          返回说明:无返回值
  48          ===========================================================*/ 
  49          void TFTSetArea( INT16U x1, INT16U y1, INT16U x2, INT16U y2 )
  50          {
  51   1              x1+=2;
  52   1              x2+=2;
  53   1              y1+=3;
  54   1              y2+=3;  
  55   1      
C51 COMPILER V9.00   TFT                                                                   08/28/2012 05:09:20 PAGE 2   

  56   1          THT_COM(0x2A);
  57   1              THT_DAT(x1>>8);
  58   1              THT_DAT(x1);
  59   1              THT_DAT(x2>>8);
  60   1              THT_DAT(x2); 
  61   1      
  62   1              THT_COM(0x2B);
  63   1              THT_DAT(y1>>8);
  64   1              THT_DAT(y1); 
  65   1              THT_DAT(y2>>8);
  66   1              THT_DAT(y2); 
  67   1              THT_COM(0x2C);
  68   1      }
  69          /*=========================================================
  70          函数描述:为图形、窗口上色
  71          隶属模块:TFT
  72          参数说明:dollop为DOLLOP结构体类型的参数
  73          返回说明:无返回值
  74          ===========================================================*/  
  75          void TFTDrawDollop( DOLLOP* dollop )
  76          {
  77   1              INT8U x,y;
  78   1      
  79   1              TFTSetArea(dollop->Xs, dollop->Ys, dollop->Xe, dollop->Ye);     //子TFT上设置一个区域
  80   1              for( x = 0; x < dollop->Xe - dollop->Xs + 1; x ++ )                                     //显示行
  81   1              {
  82   2                      for( y = 0; y < dollop->Ye - dollop->Ys + 1; y++ )                              //显示列
  83   2                      {
  84   3                              THT_DAT(dollop->Color>>8);
  85   3                              THT_DAT(dollop->Color );
  86   3                      }
  87   2              }
  88   1      }
  89          /*=========================================================
  90          函数描述:对整个窗口的颜色初始化
  91          隶属模块:TFT
  92          参数说明:Color为16字节的BGR数据
  93          返回说明:无返回值
  94          ===========================================================*/
  95          void GUI_Inital(INT16U Color )
  96          {
  97   1              DOLLOP dollop;
  98   1      
  99   1              dollop.Xs = 0;
 100   1              dollop.Xe = 127;
 101   1              dollop.Ys = 0;
 102   1              dollop.Ye = 129;
 103   1              dollop.Color = Color;
 104   1      
 105   1              TFTDrawDollop( &dollop );
 106   1      }
 107          /*=========================================================
 108          函数描述:延时ttms时间
 109          隶属模块:TFT
 110          参数说明:tt需要延时的时间
 111          返回说明:无返回值
 112          ===========================================================*/
 113          void delay(INT16U tt)
 114          {
 115   1              INT16U i, j;
 116   1      
 117   1              for(i = 0; i < tt; i++)
C51 COMPILER V9.00   TFT                                                                   08/28/2012 05:09:20 PAGE 3   

 118   1                      for(j == 0; j < 114; j++);
 119   1      }
 120          /*=========================================================
 121          函数描述:初始化TFT,复位后需要120ms的延时
 122          隶属模块:TFT
 123          参数说明:无
 124          返回说明:无返回值
 125          ===========================================================*/
 126          void TFT_INIT()
 127          { 
 128   1              THT_COM(0x01);    //软件复位
 129   1              delay(130);
 130   1              THT_COM(0x11);    //唤醒休眠
 131   1      //      THT_COM(0x12);    //局部显示模式
 132   1              THT_COM(0x13);    //标准显示模式
 133   1              THT_COM(0x20);    //显示倒置关闭
 134   1      //      THT_COM(0x21);    //显示倒置打开
 135   1              THT_COM(0x26);    
 136   1              THT_DAT(0x04);
 137   1              THT_COM(0xb1);    
 138   1              THT_DAT(0x08);
 139   1              THT_DAT(0x14);
 140   1              THT_COM(0xc0);   
 141   1              THT_DAT(0x0a); 
 142   1              THT_DAT(0x05); 
 143   1              THT_COM(0xc1); 
 144   1              THT_DAT(0x02);
 145   1      //      THT_COM(0x29);    //显示打开
 146   1              THT_COM(0x2a);    //显示方向设置
 147   1              THT_DAT(0x00);
 148   1              THT_DAT(0x00);
 149   1              THT_DAT(0x00);
 150   1              THT_DAT(0x7f);
 151   1              THT_COM(0x2b);    
 152   1              THT_DAT(0x00);
 153   1              THT_DAT(0x00);
 154   1              THT_DAT(0x00);
 155   1              THT_DAT(0x7f);
 156   1              THT_COM(0x36); // 寄存器数据应用控制
 157   1              THT_DAT(0xc8);
 158   1              THT_COM(0x3a);
 159   1              THT_DAT(0x05);
 160   1      
 161   1      //      THT_COM(0x28);
 162   1              THT_COM(0x29);    //显示打开
 163   1      //      THT_COM(0x2c);    //写入寄存器
 164   1      }
 165          
 166          /*=========================================================
 167          函数描述:复位
 168          隶属模块:TFT
 169          参数说明:无
 170          返回说明:无返回值
 171          ===========================================================*/
 172          void RESET()
 173          {
 174   1              REST = 1;
 175   1              delay(1);
 176   1              REST = 0;
 177   1              delay(2);
 178   1              REST = 1;
 179   1              delay(1);               
C51 COMPILER V9.00   TFT                                                                   08/28/2012 05:09:20 PAGE 4   

 180   1      }
 181          
 182          /*=========================================================
 183          函数描述:在TFT上设置一个窗口
 184          隶属模块:TFT
 185          参数说明:无
 186          返回说明:无返回值
 187          ===========================================================*/
 188          void WINDOW(WIN *window)
 189          {
 190   1              THT_COM(0x2a);    //显示方向设置
 191   1              THT_DAT(0x00);
 192   1              THT_DAT(window->Xs);
 193   1              THT_DAT(0x00);
 194   1              THT_DAT(window->Xe);
 195   1              THT_COM(0x2b);    
 196   1              THT_DAT(0x00);
 197   1              THT_DAT(window->Ys);
 198   1              THT_DAT(0x00);
 199   1              THT_DAT(window->Ye);       
 200   1      }
 201          
 202          /*=========================================================
 203          函数描述:
 204          隶属模块:TFT
 205          参数说明:无
 206          返回说明:无返回值
 207          ===========================================================*/
 208          void GUI_Image( IMAGE *pImage )
 209          {
 210   1          INT16U x, y;
 211   1          INT32U datacount = 0;
 212   1          TFTSetArea( pImage->xs, pImage->ys, pImage->xs + pImage->length - 1, pImage->ys + pImage->height - 1 )
             -;
 213   1      
 214   1          for( x = 0; x < pImage->length; x ++ )
 215   1          {
 216   2              for( y = 0; y < pImage->height; y ++ )
 217   2              {
 218   3                  THT_DAT(*( pImage->pData + datacount++ ) );
 219   3                  THT_DAT(*( pImage->pData + datacount++ ) );
 220   3      
 221   3              }
 222   2          }
 223   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    810    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      32
   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 + -