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

📄 interface.lst

📁 用51模拟的TFT RGB接口驱动程序(HS,VS,DE,PCLK时序)
💻 LST
字号:
C51 COMPILER V8.05a   INTERFACE                                                            12/25/2007 01:05:22 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE INTERFACE
OBJECT MODULE PLACED IN interface.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE interface.c DEBUG OBJECTEXTEND

line level    source

   1          /****************************************************************************
   2          * 公司名称:SITRONIX                                                                                             *
   3          * 模块名称:INTERFACE.C                                                                      *
   4          * 模块功能:IC接口通用文件,归属于每个IC测试软件包                                       *
   5          * 创建人员:Jim Yuan                                                                                                                     *
   6          * 创建日期:2007-6-26                                                                                                            *
   7          * 修改日期:2007-11-22(增加TFT RGB IF FUNCTION                                                          *
   8          ****************************************************************************/
   9          
  10          #include "interface.h"
  11          
  12          
  13          #if     INTERFACE == IF_80_8BIT
                  sbit nRST   =P3^5;
                  sbit RS     =P3^0;
                  sbit nWR    =P3^1;
                  sbit nRD    =P3^2;
                  sbit nCS    =P3^3;
                  void writec(uint8 cmd)
                  {
                      RS = 0;
                      nRD = 1;
                      nCS = 0;
                      nWR = 0;
                              P1 = cmd;
                      nWR = 1;
                      nCS = 1;
                  }
              
                  void writed(uint8 dat)
                  {
                      RS = 1;
                      nRD = 1;
                      nCS = 0;
                      nWR = 0;
                              P1 = dat;
                      nWR = 1;
                      nCS = 1;
                  }
              
                      uint8 readd(void)
                      {
                              uint8 dat;
                              P1 = 0xff;
                      RS = 1;
                              nWR = 1;
                      nRD = 1;
                      nCS = 0;
                      nRD = 0;
                              dat = P1;;
                      nRD = 1;
                      nCS = 1;
                              return dat;
                  }
              #endif
C51 COMPILER V8.05a   INTERFACE                                                            12/25/2007 01:05:22 PAGE 2   

  56          
  57          #if INTERFACE == IF_SPI_4LINE
                  sbit nRST   =P3^5;
                  sbit RS     =P3^0;
                  sbit nCS    =P3^3;
                  sbit SCL    =P1^0;
                  sbit SDA    =P1^1;
                  void writec(uint8 cmd)
                  {
                      uint8 i;
                      RS = 0;
                      nCS = 0;
                      for (i = 0; i < 8; i++)
                      {
                              SCL = 0;
                              if (((cmd << i) & 0x80) == 0x80){SDA = 1;}
                              else{SDA = 0;}
                              SCL = 1;
                      }
                      nCS=1;
                  }
              
                  void writed(uint8 dat)
                  {
                      uint8 i;
                      RS = 1;
                      nCS = 0;
                      for (i = 0; i < 8; i++)
                      {
                              SCL = 0;
                              if (((dat << i) & 0x80) == 0x80){SDA = 1;}
                              else{SDA = 0;}
                              SCL = 1;
                      }
                      nCS=1;
                  }
              #endif
  93          
  94          /****************************************************************************
  95          * 函数名称:ST7787 RGB IF 函数                                                                           *
  96          * 函数功能:实现SPI初始化和RGB/VS/HS/DE/PK信号的产生                                                 *
  97          * 入口参数:                                                                                                 *     
  98          * 创建日期:2007-11-22                                                                                                           *
  99          * 修改日期:                                                                                                                     *
 100          * 修改原因:                                                                                             *
 101          ****************************************************************************/
 102          #if INTERFACE == IF_SPI_RGB
 103              sbit nRST   =P3^5;
 104              sbit SCL    =P3^0;
 105                  sbit SDA        =P3^1;
 106              sbit nCS    =P3^3;
 107          
 108                  sbit DE         =P1^0;
 109                  sbit PK     =P1^1;
 110                  sbit HS     =P1^2;
 111                  sbit VS     =P1^3;
 112          
 113                  void writec(uint8 cmd)
 114              {                                   
 115   1              uint8 i;
 116   1                      SCL = 1;
 117   1                      SDA = 1;
C51 COMPILER V8.05a   INTERFACE                                                            12/25/2007 01:05:22 PAGE 3   

 118   1              nCS = 0;
 119   1                      SCL = 0;
 120   1                      SDA = 0;
 121   1                      SCL = 1;
 122   1              for (i = 0; i < 8; i++)
 123   1              {
 124   2                      SCL = 0;
 125   2                      if (((cmd << i) & 0x80) == 0x80){SDA = 1;}
 126   2                      else{SDA = 0;}
 127   2                      SCL = 1;
 128   2              }
 129   1              nCS=1;
 130   1          }
 131          
 132              void writed(uint8 dat)
 133              {
 134   1              uint8 i;
 135   1                      SCL = 1;
 136   1                      SDA = 1;
 137   1              nCS = 0;
 138   1      
 139   1                      SCL = 0;
 140   1                      SDA = 1;
 141   1                      SCL = 1;
 142   1              for (i = 0; i < 8; i++)
 143   1              {
 144   2                      SCL = 0;
 145   2                      if (((dat << i) & 0x80) == 0x80){SDA = 1;}
 146   2                      else{SDA = 0;}
 147   2                      SCL = 1;
 148   2              }
 149   1              nCS=1;
 150   1          }
 151          
 152                  void rgb_scan(void)
 153                  {
 154   1                      uint16 i,j;
 155   1                      DE = 0;
 156   1                      PK = 1;
 157   1                      VS = 1;
 158   1                      HS = 1;
 159   1      
 160   1                      PK = 0;
 161   1                      PK = 1;
 162   1      
 163   1                      VS = 0;
 164   1                      PK = 0;
 165   1                      PK = 1;
 166   1      
 167   1                      HS = 0;
 168   1                      PK = 0;
 169   1                      PK = 1;
 170   1      
 171   1                      HS = 1;
 172   1                      PK = 0;
 173   1                      PK = 1;
 174   1                      
 175   1                      VS = 1;
 176   1                      PK = 0;
 177   1                      PK = 1;
 178   1      
 179   1                      for (i = 0; i < 320; i++)
C51 COMPILER V8.05a   INTERFACE                                                            12/25/2007 01:05:22 PAGE 4   

 180   1                      {
 181   2                              HS = 0;
 182   2                              PK = 0;
 183   2                              PK = 1;
 184   2      
 185   2                              HS = 1;
 186   2                              PK = 0;
 187   2                              PK = 1;
 188   2      
 189   2                              DE = 1;
 190   2                              PK = 0;
 191   2                              PK = 1;
 192   2                              for (j = 0; j < 240; j++)
 193   2                              {
 194   3                                      PK = 0;
 195   3                                      PK = 1;
 196   3                              }
 197   2                              DE = 0;
 198   2                              PK = 0;
 199   2                              PK = 1;
 200   2                      }        
 201   1              }
 202          #endif
 203          
 204          void hardware_reset(void)
 205          {
 206   1          P1 = 0XFF;
 207   1          P3 = 0XFF;
 208   1              nRST = 0;
 209   1              delay(1);
 210   1              nRST = 1;
 211   1              delay(30);
 212   1      }


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