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

📄 access.lst

📁 TFT 17 2523+mtv512显示器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   ACCESS                                                                11/21/2005 13:47:43 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ACCESS
OBJECT MODULE PLACED IN .\Output\Access.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Code\Access.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS PRIN
                    -T(.\Output\Access.lst) PREPRINT(.\Output\Access.i) OBJECT(.\Output\Access.obj)

stmt level    source

   1          #define __ACCESS__
   2          
   3          #include "reg52.h"
   4          #include "intrins.h"
   5          
   6          #include "Header\MAIN_DEF.H"
   7          #include "Header\ACCESS.h"
   8          #include "Header\CONFIG.H"
   9          #include "Header\MTV512.H"
  10          #include "Header\OSD.H"
  11          #include "Header\Power_Ctrl.h"
  12          
  13          #if(MCU_TYPE == MCU_MTV512)
              ///////////////////////////////////////////////////////////////////////
              // SCL Processor                                                                                          
             -      //
              ///////////////////////////////////////////////////////////////////////
              void MCU_WriteI2cScl(bit Status)
              {
                     bIIC_SCL = Status;
              }       
              ///////////////////////////////////////////////////////////////////////
              // SDA Processor                                                                                          
             -     //
              ///////////////////////////////////////////////////////////////////////
              void MCU_WriteI2cSda(bit Status)
              {
                     bIIC_SDA = Status;
              }       
              
              bit MCU_ReadI2cSda(void)
              {
                     return(bIIC_SDA);
              }               
              ///////////////////////////////////////////////////////////////////////
              // RTD Reset Processor                                                                                    
             -  //
              ///////////////////////////////////////////////////////////////////////
              #if(RESET_TYPE == RESET_IN)
              void MCU_WriteRtdReset(bit Status)
              {
                     bRTD_RST = Status;
              }
              
              bit MCU_ReadRtdReset(void)
              {
                     return(bRTD_RST);
              }       
              #endif
              
                      
              ///////////////////////////////////////////////////////////////////////
              // RTD SDIO Processor                                                                                     
             -  //
C51 COMPILER V7.06   ACCESS                                                                11/21/2005 13:47:43 PAGE 2   

              ///////////////////////////////////////////////////////////////////////
              /*
              void MCU_WriteRtdSdio(bit Status)
              {
                     bRTD_SDIO_0 = Status;
              }       
              
              bit MCU_ReadRtdSdio(void)
              {
                     return(bRTD_SDIO_0);
              }       
              */
              ///////////////////////////////////////////////////////////////////////
              // RTD Sclk Processor                                                                                     
             -   //
              ///////////////////////////////////////////////////////////////////////
              void MCU_WriteRtdSclk(bit Status)
              {
                     bRTD_SCLK = Status;
              }       
              ///////////////////////////////////////////////////////////////////////
              // RTD Scsb Processor                                                                                     
             -  //
              ///////////////////////////////////////////////////////////////////////
              void MCU_WriteRtdScsb(bit Status)
              {
                     bRTD_SCSB = Status;
              }       
              ///////////////////////////////////////////////////////////////////////
              // VIDEO POWER Processor                                                                                //
              ///////////////////////////////////////////////////////////////////////
              #if (VIDEO_CHIP != VDC_NONE)
              void MCU_WriteVideoPower(bit Status)
              {
                     bVDC_PWR = Status;
              }       
              #endif
              
              ///////////////////////////////////////////////////////////////////////
              // PANEL POWER Processor                                                                                 /
             -/
              ///////////////////////////////////////////////////////////////////////
              void MCU_WritePanelPower(bit Status)
              {
                     bPANEL_PWR = Status;
                     bPanel_Status = Status ? 1 : 0;
              }       
              /*
              bit MCU_ReadPanelPower(void)
              {
                     return(bPANEL_PWR);
              }
              */      
              ///////////////////////////////////////////////////////////////////////
              // BACKLIGHT POWER Processor                                                                         //
              ///////////////////////////////////////////////////////////////////////
              void MCU_WriteBacklightPower(bit Status)
              {       
                     bLIGHT_PWR = (Status);
              }
              
              
C51 COMPILER V7.06   ACCESS                                                                11/21/2005 13:47:43 PAGE 3   

              ///////////////////////////////////////////////////////////////////////
              // VGA CONNECT Processor                                                                                //
              ///////////////////////////////////////////////////////////////////////
              bit MCU_ReadVgaConnect(void)
              {
                     return(bVGA_CONNECT);
              }
              
              #endif
 119          
 120          void BitDly(void)
 121          {
 122   1          _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
 123   1          _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
 124   1          _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
 125   1          _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
 126   1      }
 127          
 128          void I2CRead(unsigned char addr, unsigned char index, unsigned char count)
 129          {
 130   1          unsigned char   n;
 131   1      
 132   1          if (count)
 133   1          {
 134   2              I2CSendAddr(addr, index, 0);
 135   2              
 136   2              I2CSendAddr(addr, 0, 1);
 137   2      
 138   2              count   = count - 1;
 139   2      
 140   2              for (n = 0; n < count; n++)     Data[n] = I2CGetByte(0);
 141   2      
 142   2              Data[count] = I2CGetByte(1);
 143   2      
 144   2              I2CSendStop();
 145   2          }
 146   1      }
 147          
 148          void I2CWrite(unsigned char *array)
 149          {
 150   1          unsigned char   n, len;
 151   1      
 152   1          if (3 <= array[0])
 153   1          {
 154   2              len     = array[0];
 155   2              I2CSendAddr(array[1], array[2], 0);     
 156   2      
 157   2              for (n = 3; n < len; n++)   I2CSendByte(array[n]);
 158   2      
 159   2              I2CSendStop();
 160   2          }
 161   1      }
 162          
 163          
 164          unsigned char I2CGetByte(unsigned char ack) 
 165          {
 166   1          unsigned char   r, m;
 167   1      
 168   1          r = 0;
 169   1      #if(MCU_TYPE == MCU_WINBOND)
 170   1          for (m = 0; m < 8; m++)         // Each bit at a time, MSB first
 171   1          {
C51 COMPILER V7.06   ACCESS                                                                11/21/2005 13:47:43 PAGE 4   

 172   2              bIIC_SCL    = 1;
 173   2              BitDly();                   // Delay
 174   2      
 175   2              r   = (r << 1) | bIIC_SDA;
 176   2      
 177   2              bIIC_SCL    = 0;
 178   2              BitDly();                   // Delay
 179   2          }  
 180   1      
 181   1          // Send ACK according to 'ack'
 182   1          bIIC_SDA    = (bit)(ack & 0x01);
 183   1          BitDly();                       // Delay
 184   1          
 185   1          bIIC_SCL    = 1; 
 186   1          BitDly();                       // Delay
 187   1          
 188   1          bIIC_SCL    = 0; 
 189   1          BitDly();                       // Delay
 190   1          
 191   1          bIIC_SDA    = 1;
 192   1      #else
                 
                  for (m = 0; m < 8; m++)         // Each bit at a time, MSB first
                  {
                      MCU_WriteI2cScl(_HIGH);
                      BitDly();                   // Delay
                      r   = (r << 1) | MCU_ReadI2cSda();
                      MCU_WriteI2cScl(_LOW);
                      BitDly();                   // Delay
                  }  
                  // Send ACK according to 'ack'
                  MCU_WriteI2cSda((bit)(ack & 0x01));
                  BitDly();                       // Delay
                  MCU_WriteI2cScl(_HIGH);
                  BitDly();                       // Delay
                  MCU_WriteI2cScl(_LOW);
                  BitDly();                       // Delay
                  MCU_WriteI2cSda(_HIGH);
              
              #endif
 212   1      
 213   1          return (r);
 214   1      }
 215          
 216          void I2CSendByte(unsigned char send)
 217          {
 218   1          unsigned char   m;
 219   1      #if(MCU_TYPE == MCU_WINBOND)    
 220   1          for (m = 0; m < 8; m++)
 221   1          {
 222   2              bIIC_SDA    = (bit)(send & 0x80);   // Send each bit, MSB first
 223   2              BitDly();
 224   2      
 225   2              bIIC_SCL    = 1;
 226   2              BitDly();
 227   2      
 228   2              bIIC_SCL    = 0;
 229   2      
 230   2              send    = send << 1;
 231   2          }
 232   1      
 233   1          bIIC_SDA    = 1;
C51 COMPILER V7.06   ACCESS                                                                11/21/2005 13:47:43 PAGE 5   

 234   1          bIIC_SCL    = 1;
 235   1          BitDly();
 236   1      
 237   1          bIIC_SCL    = 0;
 238   1          BitDly();
 239   1      #else
                  for (m = 0; m < 8; m++)
                  {
                      MCU_WriteI2cSda((bit)(send & 0x80));   // Send each bit, MSB first
                      BitDly();
                      MCU_WriteI2cScl(_HIGH);
                      BitDly();
                      MCU_WriteI2cScl(_LOW);;
                      send    = send << 1;
                  }
                  MCU_WriteI2cSda(_HIGH);
                  MCU_WriteI2cScl(_HIGH);
                  BitDly();
                  MCU_WriteI2cScl(_LOW);;
                  BitDly();
              
              #endif
 256   1      } 
 257          
 258          void I2CSendAddr(unsigned char addr, unsigned char index, unsigned char rd)
 259          {         
 260   1      #if(MCU_TYPE == MCU_WINBOND)         
 261   1          bIIC_SCL    = 1;
 262   1          bIIC_SDA    = 0;    // Start
 263   1          BitDly();
 264   1      
 265   1          bIIC_SCL    = 0;
 266   1          I2CSendByte(addr + rd);             // Send address byte
 267   1      
 268   1          if (0 == rd)    I2CSendByte(index); // Send index byte  
 269   1      #else
                  MCU_WriteI2cScl(_HIGH);
                  MCU_WriteI2cSda(_LOW);    // Start
                  BitDly();
                  MCU_WriteI2cScl(_LOW);;
                  I2CSendByte(addr + rd);             // Send address byte
                  if (0 == rd)    I2CSendByte(index); // Send index byte 

⌨️ 快捷键说明

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