亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩精品一区二区三区四区| 久久99热99| 久久99国产精品久久99果冻传媒| 97超碰欧美中文字幕| 日韩免费电影一区| 蜜臀va亚洲va欧美va天堂| 宅男在线国产精品| 亚洲特级片在线| 91视频免费看| 亚洲人妖av一区二区| 福利一区福利二区| 中文字幕电影一区| proumb性欧美在线观看| 中日韩免费视频中文字幕| 国产东北露脸精品视频| 国产精品美女一区二区三区| 成人免费av网站| 久久女同互慰一区二区三区| 国产乱子轮精品视频| 久久综合视频网| 国产成人av一区二区| 中文字幕中文字幕在线一区 | 韩日av一区二区| 久久蜜桃av一区二区天堂| 国产成人免费xxxxxxxx| 成人欧美一区二区三区小说| 不卡一二三区首页| 亚洲欧美电影一区二区| 蜜桃在线一区二区三区| 欧美一区二区国产| 国产盗摄一区二区三区| 成人欧美一区二区三区黑人麻豆| 成人免费视频caoporn| 亚洲国产日韩在线一区模特 | 国产69精品久久久久毛片| 亚洲欧美日韩在线| 欧美成人伊人久久综合网| 成人av动漫网站| 亚洲在线观看免费| 精品福利一二区| 欧美久久久一区| 波多野结衣在线一区| 精品一区二区三区视频在线观看 | 精品在线播放午夜| 一区二区三区欧美亚洲| 中文文精品字幕一区二区| 91精品国产福利在线观看| 在线免费视频一区二区| 国产成人在线看| 国产精品888| 国产精品69毛片高清亚洲| 亚洲欧美日韩在线| 久久久.com| 精品免费国产一区二区三区四区| 欧美另类z0zxhd电影| 欧美在线观看视频一区二区 | 成人免费黄色在线| 国产福利不卡视频| 国产91丝袜在线播放| 国内精品伊人久久久久av影院 | 久久日韩粉嫩一区二区三区| 日韩一区二区电影| 精品国产1区二区| 欧美精品一区二区三区很污很色的| 欧美日本视频在线| 欧美一级在线免费| 国产喂奶挤奶一区二区三区| 国产午夜三级一区二区三| 亚洲欧洲精品天堂一级| 中文无字幕一区二区三区 | 欧美精品一区二区三区高清aⅴ | 欧美一级欧美三级| 26uuu亚洲综合色| 中文字幕一区二区三区在线观看| 国产精品麻豆一区二区| 一区二区三区不卡视频| 欧美96一区二区免费视频| 极品少妇一区二区| 不卡的av在线播放| 日韩一区二区麻豆国产| 中文字幕欧美日本乱码一线二线| 亚洲男人的天堂在线aⅴ视频| 日韩精品91亚洲二区在线观看| 国产麻豆精品一区二区| 色av成人天堂桃色av| 精品久久久久香蕉网| 亚洲男人的天堂一区二区| 蜜桃久久久久久久| 色偷偷一区二区三区| 中文天堂在线一区| 青青草97国产精品免费观看无弹窗版 | 欧美性xxxxxxxx| 国产精品私人影院| 奇米精品一区二区三区四区| 欧美视频一区在线| 亚洲三级视频在线观看| 久久精品国产亚洲aⅴ| 8v天堂国产在线一区二区| 国产精品久久久久四虎| 成人综合在线视频| 精品国产亚洲一区二区三区在线观看| 又紧又大又爽精品一区二区| 青草国产精品久久久久久| 色婷婷亚洲一区二区三区| 国产精品美女一区二区| 免费久久精品视频| 制服丝袜在线91| 艳妇臀荡乳欲伦亚洲一区| 91色综合久久久久婷婷| 中文字幕一区二区三| 不卡av在线网| 日韩伦理av电影| 日本精品免费观看高清观看| 亚洲视频一二三| 国产福利一区在线| 国产精品麻豆久久久| 欧美天堂一区二区三区| 日韩一区精品字幕| 国产亚洲自拍一区| 色婷婷av一区| 日韩高清不卡在线| 日韩视频在线观看一区二区| 精品一二三四在线| 国产精品青草久久| 在线一区二区三区| 蜜桃视频在线一区| 国产三区在线成人av| 91麻豆免费观看| 日韩精品亚洲一区| 中文字幕在线不卡国产视频| 日韩美女视频一区| 91精品在线一区二区| 日本午夜精品视频在线观看| 欧美亚洲另类激情小说| 亚洲成人自拍网| 国产视频视频一区| 欧美电影影音先锋| 99精品国产视频| 精品影院一区二区久久久| 午夜精品久久久久久久99水蜜桃 | 国产精品另类一区| 欧美亚洲一区二区在线| 精品写真视频在线观看| 亚洲国产精品天堂| 国产日产欧美一区| 91精品国产欧美一区二区成人| 国产91精品精华液一区二区三区 | av成人老司机| 另类综合日韩欧美亚洲| 亚洲无人区一区| 亚洲视频综合在线| 欧美福利视频一区| 在线视频综合导航| 激情六月婷婷综合| 国产一区福利在线| 免费成人在线观看| 亚洲va国产天堂va久久en| 伊人色综合久久天天| 亚洲精品视频免费看| 亚洲成人激情av| 亚洲最色的网站| 亚洲影院理伦片| 国产精品麻豆视频| 成人免费一区二区三区在线观看 | 青娱乐精品在线视频| 青青草国产成人av片免费| 午夜激情久久久| 毛片一区二区三区| 日本va欧美va精品发布| 亚洲欧美一区二区不卡| 婷婷中文字幕一区三区| 九九九久久久精品| av电影天堂一区二区在线| 日韩美女天天操| 亚洲精品免费看| 国产剧情一区二区三区| 欧美视频一区二区在线观看| 亚洲免费伊人电影| 国产成人在线看| 日韩三级免费观看| 亚洲理论在线观看| 成人影视亚洲图片在线| 欧美久久免费观看| 亚洲成国产人片在线观看| 91猫先生在线| 国产精品福利影院| jizzjizzjizz欧美| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品看片你懂得| 国产黄色91视频| 国产欧美综合在线观看第十页| 黄色资源网久久资源365| 日韩一区二区在线观看视频| 日韩中文字幕麻豆| 日韩精品一区二区三区在线观看 | 蜜臀av一区二区在线免费观看| 99久久99久久免费精品蜜臀| 国产人成亚洲第一网站在线播放| 国产99久久久国产精品潘金 | 大白屁股一区二区视频|