亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? i2c.lst

?? 此程序為twell8806驅動程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.50   I2C                                                                   08/20/2007 10:23:30 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN I2c.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE I2c.c COMPACT OPTIMIZE(9,SIZE)

line level    source

   1          //-------------------------------------------------------------
   2          //      This is changed for sdcc compiler 2.2.0a        LJY000721
   3          //  ver0.11 2/20/2001   Support Z86129 Line 21 decoder.
   4          //-------------------------------------------------------------
   5          /*#include <io51.h>*/
   6          //#include <pk-51.h>    LJY000721
   7          
   8          #include "Config.h"
   9          
  10          #include "reg.h"
  11          #include "typedefs.h"
  12          #include "I2C.h"
  13          #include "main.h"
  14          #include "debug.h"
  15          #include "printf.h"
  16          #include "osdbasic.h"
  17          
  18          #define I2C_SCL         P1_0
  19          #define I2C_SDA         P1_1
  20          
  21          #define ID_ADDR         0xc5
  22          #define ID_DATA         0xc6
  23          
  24          extern  PDATA BYTE      DebugLevel;
  25          
  26          ///extern IDATA BYTE adc_i2c_address, CurrentADC;
  27          //IDATA BYTE I2CAddr, I2CIdx, I2CData;
  28          
  29          /*****************************************************************************/
  30          /*                                                                           */
  31          /*****************************************************************************/
  32          #define I2C_FAST
  33          
  34          #ifdef I2C_FAST
  35           #define I2Cdelay()
  36          #else
               void I2Cdelay(void)
               {
                       BYTE i;
                       for(i=0; i<1; i++){
                       }
               }
              #endif
  44          
  45          #if (defined  QVGA) || (defined WQVGA)
  46          void I2C_delay(void)
  47          {
  48   1               BYTE i;
  49   1               for(i=0; i<255; i++){
  50   2                      i=i;
  51   2               }
  52   1               for(i=0; i<128; i++){
  53   2                      i=i;
  54   2               }
  55   1      }
C51 COMPILER V7.50   I2C                                                                   08/20/2007 10:23:30 PAGE 2   

  56          #else
               #define I2C_delay() 
              #endif
  59          
  60          BYTE I2CWriteData_Wait(BYTE value);
  61          
  62          void WriteTW88(BYTE index, BYTE dat)
  63          {
  64   1              BYTE addr = TW88I2CAddress;
  65   1      
  66   1              #ifdef DEBUG_I2C
                      if( DebugLevel==0xff )
                              Printf("Write %02xh to [Adrs(%02xh)Index(%02xh)]\n\r", (WORD)dat, (WORD)addr, (WORD)index);
                      #endif
  70   1      
  71   1              I2CStart();
  72   1              I2CWriteData(addr);
  73   1              I2CWriteData(index);
  74   1              I2CWriteData(dat);
  75   1              I2CStop();
  76   1      }
  77          
  78          /* For testing chip.............................
  79          BYTE WriteTW88_Wait(BYTE index, BYTE dat)
  80          {
  81                  #ifdef DEBUG_I2C
  82                  if( DebugLevel==0xff )
  83                          Printf("Write %02xh to [Adrs(%02xh)Index(%02xh)]\n\r", (WORD)dat, (WORD)TW88I2CAddress, (WORD)index);
  84                  #endif
  85          
  86                  I2CStart();
  87                  if( !I2CWriteData_Wait(TW88I2CAddress & 0xFE) ) 
  88                          return 0;
  89                  if( !I2CWriteData_Wait(index) )
  90                          return 0;
  91                  if( !I2CWriteData_Wait(dat) )
  92                          return 0;
  93                  I2CStop();
  94                  return 1;
  95          
  96          }
  97          */
  98          
  99          BYTE ReadTW88(BYTE index)
 100          {
 101   1              BYTE val;
 102   1              BYTE addr = TW88I2CAddress;
 103   1      
 104   1              I2CStart();
 105   1              I2CWriteData(addr);
 106   1              I2CWriteData(index);
 107   1              I2CStart();
 108   1              I2CWriteData(addr | 0x01);
 109   1              val = I2CReadData();
 110   1              I2CStop();
 111   1      
 112   1              #ifdef DEBUG_I2C
                      if( DebugLevel==0xff )
                              Printf("Read [Adrs:%02xh,Index:%02xh] %02xh\r\n", (WORD)addr, (WORD)index, (WORD)val);
                      #endif
 116   1      
 117   1              return val;
C51 COMPILER V7.50   I2C                                                                   08/20/2007 10:23:30 PAGE 3   

 118   1      }
 119          
 120          #if defined( SUPPORT_PC ) || defined( SUPPORT_DTV )
 121          void WriteADC(BYTE index, BYTE dat)
 122          {
 123   1              //#ifdef DEBUG_OSD
 124   1              //if( DebugLevel==0xff )
 125   1      //              Printf("Write ADC %02xh to [Adrs(%02xh)Index(%02xh)\r\n", (WORD)dat, (WORD)ADCI2CAddress, (WORD)index 
             -);
 126   1              //#endif
 127   1      
 128   1              WriteTW88(ID_ADDR, index);      
 129   1              WriteTW88(ID_DATA, dat);        
 130   1      
 131   1      }
 132          
 133          BYTE ReadADC(BYTE index)
 134          {
 135   1              BYTE val, val1;
 136   1      
 137   1              val1=ReadTW88(0xb0);
 138   1              WriteTW88(0xb0, val1|0x80);     
 139   1      
 140   1              WriteTW88(ID_ADDR, index);      
 141   1              WriteTW88(ID_ADDR, index);      
 142   1              val = ReadTW88(ID_DATA);
 143   1      
 144   1              WriteTW88(0xb0, val1&0x7f);     
 145   1      
 146   1              //#ifdef DEBUG_OSD
 147   1              //if( DebugLevel==0xff )
 148   1      //              Printf("Read ADC[Adrs:%02xh,Index:%02xh] %02xh\r\n", (WORD)TW88I2CAddress, (WORD)index, (WORD)val);
 149   1              //#endif
 150   1              
 151   1              return val;
 152   1      }
 153          #endif  // SUPPORT_PC
 154          
 155          void WriteEEP(WORD index, BYTE dat)
 156          {
 157   1              BYTE addr;
 158   1      
 159   1              addr = (EEPROMI2CAddress | (index>>7)) & 0xfe;
 160   1      
 161   1              I2CStart();
 162   1              I2CWriteData(addr);
 163   1              I2CWriteData((BYTE)index);
 164   1              I2CWriteData(dat);
 165   1              I2CStop();
 166   1      
 167   1              #ifdef DEBUG_OSD
                      if( DebugLevel==0xff )
                              Printf("Write %02xh to [Adrs(%02xh)Index(%02xh)\r\n", (WORD)dat, (WORD)addr, (WORD)index );
                      #endif
 171   1      
 172   1              delay(2);
 173   1      }
 174          
 175          BYTE ReadEEP(WORD index)
 176          {
 177   1              BYTE val;
 178   1              BYTE addr;
C51 COMPILER V7.50   I2C                                                                   08/20/2007 10:23:30 PAGE 4   

 179   1      
 180   1              addr = (EEPROMI2CAddress | (index>>7)) & 0xfe;
 181   1      
 182   1              val = ReadI2C(addr,(BYTE)index);
 183   1      
 184   1              #ifdef DEBUG_OSD
                      if( DebugLevel==0xff )
                              Printf("Read [Adrs:%02xh,Index:%02xh] %02xh\r\n", (WORD)addr, (WORD)index, (WORD)val);
                      #endif
 188   1      
 189   1              return val;
 190   1      }
 191          
 192          BYTE ReadI2C(BYTE addr, BYTE index)
 193          {
 194   1              BYTE val;
 195   1      
 196   1              I2CStart();
 197   1              I2CWriteData(addr);
 198   1              I2CWriteData(index);
 199   1              I2CStart();
 200   1              I2CWriteData(addr | 0x01);
 201   1              val = I2CReadData();
 202   1              I2CStop();
 203   1      
 204   1              return val;
 205   1      }
 206          
 207          
 208          void WriteI2C(BYTE addr, BYTE index, BYTE val)
 209          {
 210   1              I2CStart();
 211   1              I2CWriteData(addr);
 212   1              I2CWriteData(index);
 213   1              I2CWriteData(val);
 214   1              I2CStop();
 215   1      }
 216          
 217          void WriteI2CnD(BYTE addr, BYTE index, BYTE val, BYTE cnt)
 218          {
 219   1              BYTE i;
 220   1      
 221   1              I2CStart();
 222   1              I2CWriteData(addr);
 223   1              I2CWriteData(index);
 224   1      
 225   1              for(i=0; i<cnt; i++){
 226   2                      I2CWriteData(val);              //LJY050101
 227   2                      I2C_delay();
 228   2              }
 229   1      
 230   1              I2CStop();
 231   1      }
 232          
 233          void WriteI2Cn(BYTE addr, BYTE index, BYTE *val, BYTE cnt)
 234          {
 235   1              BYTE i;
 236   1      
 237   1              I2CStart();
 238   1              I2CWriteData(addr);
 239   1              I2CWriteData(index);
 240   1      
C51 COMPILER V7.50   I2C                                                                   08/20/2007 10:23:30 PAGE 5   

 241   1              for(i=0; i<cnt; i++){
 242   2                      I2CWriteData(*(val+i)); 
 243   2                      I2C_delay();
 244   2              }
 245   1              I2CStop();
 246   1      }
 247          
 248          BYTE WriteI2Cn_(BYTE addr, BYTE *val, BYTE cnt)
 249          {
 250   1              BYTE rd=1, i;
 251   1      
 252   1              I2CStart();
 253   1              I2CWriteData(addr);
 254   1      
 255   1              for(i=0; i<cnt; i++){
 256   2                      I2CWriteData(*(val+i));         //LJY050101
 257   2              }
 258   1              I2CStop();
 259   1      
 260   1              return rd;
 261   1      }
 262          
 263          //BYTE I2CWriteData_Wait(BYTE value);
 264          void I2CReadByteMSP(BYTE addr, BYTE index, BYTE *pd, BYTE cnt)
 265          {
 266   1              BYTE i;
 267   1      
 268   1              I2CStart();
 269   1              I2CWriteData_Wait(addr);
 270   1              I2CWriteData(index);
 271   1              for(i=0; i<cnt; i++) {
 272   2                      I2CWriteData(*(pd+i));
 273   2              }
 274   1              I2CStart();
 275   1              I2CWriteData_Wait(addr | 0x01);
 276   1              *pd = I2CReadDataWithACK();
 277   1              *(pd+1) = I2CReadData();
 278   1      
 279   1              I2CStop();
 280   1      }
 281          
 282          #ifdef DEBUG_TV
              BYTE ReadI2CStatus( BYTE addr )
              {
                      BYTE val;
              
                      I2CStart();
                      I2CWriteData(addr | 0x01);
                      val = I2CReadData();
                      I2CStop();
              
                      return val;
              }
              #endif // DEBUG_TV
 295          
 296          
 297          #ifdef SERIAL
 298          BYTE I2CReadDataWithNAK(void)
 299          {
 300   1              return I2CReadData();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美不卡视频一区| 欧美性生交片4| 伦理电影国产精品| 天天爽夜夜爽夜夜爽精品视频| 国产精品区一区二区三| 欧美激情一区二区三区不卡 | 夜夜亚洲天天久久| 亚洲免费资源在线播放| 国产午夜一区二区三区| 久久久久久99久久久精品网站| 2020国产精品自拍| 日韩欧美www| 久久精品网站免费观看| 国产精品久久久久7777按摩| 亚洲欧美激情插| 香蕉久久夜色精品国产使用方法 | 欧美午夜寂寞影院| 精品视频999| 欧美一区二区成人| 国产色婷婷亚洲99精品小说| 国产精品理论片| 亚洲精品日日夜夜| 免费在线观看精品| 国产宾馆实践打屁股91| 色一情一伦一子一伦一区| 欧美日韩精品专区| 日韩一级黄色大片| 国产亚洲精品中文字幕| 亚洲美女一区二区三区| 日日摸夜夜添夜夜添精品视频 | 日韩欧美国产一区二区三区| 精品国产免费一区二区三区四区| 国产精品毛片无遮挡高清| 偷窥少妇高潮呻吟av久久免费| 狠狠网亚洲精品| 国产精品羞羞答答xxdd| 91国偷自产一区二区开放时间 | 国产人成一区二区三区影院| 国产精品美女久久久久aⅴ| 亚洲国产综合91精品麻豆| 极品瑜伽女神91| 成人免费视频免费观看| 在线免费观看成人短视频| 久久久高清一区二区三区| 一区二区三区蜜桃| 国产成人综合精品三级| 欧美日韩不卡一区二区| 国产精品护士白丝一区av| 激情久久久久久久久久久久久久久久| 91麻豆福利精品推荐| 337p亚洲精品色噜噜狠狠| 一区二区三区资源| 国产精品一区久久久久| 欧美一区午夜精品| 亚洲国产成人av好男人在线观看| av一本久道久久综合久久鬼色| 欧美成人综合网站| 日精品一区二区三区| 国产ts人妖一区二区| 欧美一区二区在线不卡| 亚洲中国最大av网站| 丁香婷婷综合色啪| 久久久不卡网国产精品二区| 日韩精品电影一区亚洲| 欧美系列一区二区| 一区二区在线观看免费 | 国产精品一二三| 精品乱人伦小说| 久久精品国产久精国产| 91麻豆精品国产自产在线观看一区| 亚洲欧美二区三区| 色噜噜狠狠成人中文综合| 国产精品久久久久毛片软件| 不卡一区二区三区四区| 国产亚洲欧美激情| 成人美女视频在线看| 成人欧美一区二区三区黑人麻豆 | 国产精品福利一区二区| 国产成人精品免费| 亚洲欧洲韩国日本视频| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲欧洲一区二区三区| 91免费在线播放| 一区二区三区丝袜| 欧美放荡的少妇| 极品瑜伽女神91| 国产精品视频一区二区三区不卡| 成人毛片老司机大片| 一区二区在线观看免费 | 国产欧美一区二区在线| 国产成人免费在线视频| 亚洲欧美另类久久久精品| 欧美日韩国产天堂| 久草在线在线精品观看| 国产精品久久国产精麻豆99网站| 99国内精品久久| 一区二区免费在线| 91精品国产综合久久久久久久| 日本人妖一区二区| 久久久久久久久免费| 色噜噜狠狠成人中文综合| 天天色综合天天| 国产色产综合产在线视频| 色中色一区二区| 麻豆国产精品777777在线| 精品国产乱码久久久久久老虎| 国产麻豆精品视频| 一区二区三区精品视频| 欧美xfplay| 91丨porny丨中文| 老司机精品视频导航| 亚洲日本va午夜在线电影| 欧美一区日本一区韩国一区| 成人综合婷婷国产精品久久免费| 亚洲视频电影在线| 欧美一级片免费看| gogogo免费视频观看亚洲一| 免费人成网站在线观看欧美高清| 国产精品麻豆欧美日韩ww| 韩国欧美国产1区| 欧美日韩电影一区| 国产精品少妇自拍| 91蝌蚪porny九色| 日韩精品成人一区二区在线| 国产精品动漫网站| 26uuu国产在线精品一区二区| 成人黄色软件下载| 久久99精品久久久久久动态图| 亚洲天堂网中文字| 久久免费午夜影院| 91 com成人网| 欧美视频精品在线| 丁香亚洲综合激情啪啪综合| 日本成人在线不卡视频| 午夜精品久久久久影视| 综合激情成人伊人| 中国av一区二区三区| 欧美成人猛片aaaaaaa| 欧美精品在线一区二区三区| 色偷偷一区二区三区| 91麻豆免费看| 国产又黄又大久久| 日韩主播视频在线| 亚洲va欧美va人人爽| 一区二区三区四区在线播放 | 欧美一级高清片| 91久久人澡人人添人人爽欧美| 粉嫩久久99精品久久久久久夜| 国产一区视频导航| 极品少妇xxxx精品少妇| 精品一区二区三区在线视频| 婷婷综合五月天| 五月天激情综合| 五月综合激情网| 日日夜夜精品免费视频| 免费的成人av| 久久国产精品72免费观看| 美女视频黄频大全不卡视频在线播放 | 欧美亚洲免费在线一区| 欧美视频三区在线播放| 在线观看欧美精品| 欧美日韩不卡一区二区| 欧美一级一区二区| 日韩一区和二区| 国产午夜一区二区三区| 中文字幕高清一区| 亚洲精品免费看| 天使萌一区二区三区免费观看| 免费在线看成人av| 国产成人午夜电影网| 97精品久久久久中文字幕 | 亚洲精品国产a| 亚洲第一精品在线| 国产一区视频在线看| 成人一区在线观看| 欧美性高清videossexo| 日韩亚洲欧美综合| 中文字幕亚洲电影| 亚洲成人免费影院| 国产成人免费视频网站 | 亚洲一二三四区| 欧美a级理论片| 成人性生交大片免费看视频在线| 91在线观看免费视频| 在线不卡a资源高清| 久久亚洲综合色| 亚洲成人午夜影院| 久久成人麻豆午夜电影| jlzzjlzz欧美大全| 日韩久久久精品| 一区二区欧美精品| 狠狠色丁香久久婷婷综| 91久久精品一区二区三区| 精品精品国产高清一毛片一天堂| 亚洲国产精品t66y| 美腿丝袜亚洲综合| 欧美午夜免费电影| 中文字幕在线一区免费| 青青草精品视频| 色综合网站在线|