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

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

?? i2c.lst

?? Keil 8051 C example RS232 to I2c
?? LST
字號:
C51 COMPILER V7.07   I2C                                                                   06/15/2006 18:53:53 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN .\Output\i2c.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE i2c.c BROWSE DEBUG OBJECTEXTEND PRINT(.\LST\i2c.lst) TABS(3) OBJECT(.\Outpu
                    -t\i2c.obj)

stmt level    source

   1          #include <at89x52.H>              // SFR definition header file
   2          
   3          #include "SystemEvent.h"
   4          #include "Function.h"
   5          #include "ExtVar.h" 
   6          #include <intrins.h>
   7           // ********************************************************************************
   8          // Function: i2c_start;                  
   9          // Description:  Sending a start waveform to I2C bus.                                
  10          // Input parameters:   None.
  11          // Output parameters:  None. 
  12          // Return values:      None. 
  13          // ********************************************************************************  
  14          void i2cStart(void){ 
  15   1      
  16   1          _sda=1; 
  17   1          _sclk=1;
  18   1         _nop_(); _nop_(); _nop_(); _nop_();
  19   1          _sda=0; 
  20   1         _nop_(); _nop_(); _nop_(); _nop_();
  21   1       }
  22          
  23          // ********************************************************************************
  24          // Function: i2c_stop;                  
  25          // Description:  Sending a stop waveform to I2C bus.                                 
  26          // Input parameters:   None.
  27          // Output parameters:  None. 
  28          // Return values:      None. 
  29          // ******************************************************************************** 
  30          void i2cStop(void){
  31   1      unsigned int _timeOut;
  32   1         _timeOut=0;
  33   1         _sda=0; 
  34   1         _nop_(); _nop_(); _nop_(); _nop_();
  35   1         _sclk=1; 
  36   1       
  37   1      if((_IDCodeOfI2C==0xb8)||(_IDCodeOfI2C==0xba)){
  38   2         while((_sclk==0)&&(_timeOut<0x4f00))
  39   2         {
  40   3            _nop_();
  41   3            _timeOut++; 
  42   3         }
  43   2      }
  44   1         _sda=1;  
  45   1         _nop_(); _nop_(); _nop_();_nop_();
  46   1      }
  47          
  48          // ********************************************************************************
  49          // Function: i2cTransmit;                  
  50          // Description:  Transmit a byte to the I2C slaver.                               
  51          // Input parameters:   unsigned char valueX: value to transmit.
  52          // Output parameters:  unsigned char i: i=0; Ack from slaver was receved
  53          //                                      i=1; Ack was not receved   
  54          // Return values:      None. 
C51 COMPILER V7.07   I2C                                                                   06/15/2006 18:53:53 PAGE 2   

  55          // ******************************************************************************** 
  56          unsigned char i2cTransmit( unsigned char valueX )
  57          {
  58   1      unsigned char i;
  59   1      unsigned int _Timeout;
  60   1      unsigned char value=valueX;   
  61   1         _sda=0;
  62   1         _sclk=0; 
  63   1         _nop_(); _nop_(); _nop_(); _nop_();
  64   1          for (i=0; i<8; i++){      
  65   2               _sclk=0;   
  66   2            _nop_(); _nop_(); _nop_(); _nop_();
  67   2               if (value & 0x80) _sda=1;      
  68   2            else   _sda=0; 
  69   2            _nop_(); _nop_(); _nop_(); _nop_();
  70   2            _sclk=1; 
  71   2            _nop_(); _nop_(); _nop_(); _nop_();
  72   2            value <<= 1;
  73   2          }  
  74   1         _sclk=0;  
  75   1         _nop_(); _nop_(); _nop_(); _nop_();    
  76   1         _sda=1; 
  77   1         _nop_(); _nop_(); _nop_(); _nop_();
  78   1         _Timeout=0;        
  79   1         _sclk=1; 
  80   1           while((_sda==1)&&(_Timeout<0x2)){             
  81   2                     _Timeout++;
  82   2         }
  83   1          i=(unsigned char)_sda; 
  84   1         _nop_(); _nop_(); _nop_(); _nop_();
  85   1         _sclk=0;  
  86   1         _nop_(); _nop_(); _nop_(); _nop_();
  87   1         return(i);  
  88   1      } 
  89          
  90          // ********************************************************************************
  91          // Function: i2cLocate;                  
  92          // Description:  Transmit ID and sub addr to the I2C slaver.                               
  93          // Input parameters: unsigned char slave_addr: I2C device slave ID.
  94          //       unsigned char sub_addr: sub address to access of the I2C slaver.
  95          // Output parameters:   unsigned char i: i=1; Ack from slave was receved
  96          //                                      i=0; Ack was not receved   
  97          // Return values:      None. 
  98          // ******************************************************************************** 
  99          unsigned char i2cLocate( unsigned char slave_addr, unsigned char  sub_addr )
 100          {
 101   1           i2cStart();
 102   1         if(i2cTransmit(slave_addr)) {     i2cStop(); return(FALSE); }  
 103   1          else {  if(i2cTransmit(sub_addr))  {  i2cStop();   return(FALSE);}}
 104   1         return(TRUE);   
 105   1      }
 106          
 107           
 108          // ********************************************************************************
 109          // Function: i2cNotAck;                  
 110          // Description:  Return a "Hight" to I2C slaver   .                               
 111          // Input parameters:   None.
 112          // Output parameters:  None.  
 113          // Return values:      None. 
 114          // ********************************************************************************    
 115          void i2cNotAck( void )
 116          { 
C51 COMPILER V7.07   I2C                                                                   06/15/2006 18:53:53 PAGE 3   

 117   1         _sclk=0;  
 118   1         _sda=1;   
 119   1         _sclk=1;  
 120   1         _sclk=0;  
 121   1      }
 122           
 123           
 124          // ********************************************************************************
 125          // Function: i2cReceive;                  
 126          // Description:  Return 1 byte of data which received from I2C bus. 
 127          // Input parameters:   None.
 128          // Output parameters:  unsigned char value: data been received from I2C bus.  
 129          // Return values:      None. 
 130          // ********************************************************************************  
 131          unsigned char i2cReceive( void )
 132          {
 133   1          /*Read ack.*/
 134   1          unsigned char     i;
 135   1          unsigned char    value;     
 136   1         _sclk=0;    
 137   1         /*Set value bit by bit...MSB first*/
 138   1         value = 0;
 139   1         for (i=0; i<8; i++)
 140   1         {  
 141   2            value <<= 1;
 142   2            _sclk=0;   
 143   2            if(_sda==1) value|=0x01;
 144   2            _sclk=1;  
 145   2          } 
 146   1         _sclk=0; 
 147   1          return(value);
 148   1      }
 149          
 150          // ********************************************************************************
 151          // Function:   i2c_write;                  
 152          // Description: Transmit 1 byte of data to slave end with assigned ID and sub address.                             
             -   
 153          // Input parameters:   unsigned char slave_addr:   I2C slave ID of destination chip. 
 154          //                     unsigned char sub_addr:  sub address of destination chip. 
 155          //                unsigned char _Count: count of data to write    
 156          //                unsigned char *_DataX: pointer to the data stream will be tramsitted.
 157          // Output parameters:  None. 
 158          // Return values:      None. 
 159          // ******************************************************************************** 
 160          void i2c_write( unsigned char slave_addr, unsigned char sub_addr,unsigned char _Count,unsigned char *_Data
             -X)
 161          {
 162   1        unsigned int _ix;
 163   1        i2cStop();               
 164   1         if(((slave_addr&0xf0)!=0x20)&&(slave_addr!=0x78)&&((slave_addr&0xf0)!=0x60)){ 
 165   2           if (i2cLocate(slave_addr, sub_addr )){               
 166   3            for(_ix=0;_ix<(unsigned int)_Count;_ix++) 
 167   3               { i2cTransmit(*(_DataX+(unsigned int)(_ix)));   } 
 168   3           }   
 169   2          i2cStop();
 170   2          }
 171   1          else {  
 172   2            for(_ix=0;_ix<_Count;_ix++) {         
 173   3             if (i2cLocate(slave_addr, sub_addr+_ix))   i2cTransmit(*(_DataX+_ix));  
 174   3             i2cStop();   
 175   3            }                  
 176   2         }
C51 COMPILER V7.07   I2C                                                                   06/15/2006 18:53:53 PAGE 4   

 177   1      }
 178           
 179          // ********************************************************************************
 180          // Function: i2cAck;                  
 181          // Description:  Return a "Low" to I2C slaver as a acknowledgment.                               
 182          // Input parameters:   None.
 183          // Output parameters:  None.  
 184          // Return values:      None. 
 185          // ********************************************************************************     
 186          void i2cAck( void )
 187          {    //receive state, ack set by master  
 188   1       _sclk=0;    
 189   1       _sda=0;            
 190   1       _sclk=1; 
 191   1       _sclk=0;  
 192   1       _sda=1; 
 193   1      }
 194          
 195          // ********************************************************************************
 196          // Function:   i2c_read;                  
 197          // Description: Read data stream from I2C slaver.                                 
 198          // Input parameters:    unsigned char slave_addr:   I2C slave ID of destination chip. 
 199          //                      unsigned char sub_addr:  sub address of destination chip. 
 200          //                      unsigned char _Count: count of data to write    
 201          //                      unsigned char *_DataX: pointer to the data stream will be read.
 202          // Output parameters:  None. 
 203          // Return values:      None. 
 204          // ******************************************************************************** 
 205          void i2c_read( unsigned char slave_addr, unsigned char  sub_addr,unsigned char _Count,unsigned char *_Data
             -X )
 206          {
 207   1         unsigned char _ix;
 208   1         if(((slave_addr&0xf0)!=0x20)&&(slave_addr!=0x78)&&((slave_addr&0xf0)!=0x60)){
 209   2            if (i2cLocate(slave_addr,  sub_addr)) {
 210   3               i2cStart();    
 211   3               if(i2cTransmit((unsigned char)(slave_addr | 0x0001))){
 212   4                  i2cStop();   
 213   4                  return; 
 214   4               }  
 215   3               for(_ix=0;_ix<_Count;_ix++) { 
 216   4                  *(_DataX+(unsigned int)_ix) = i2cReceive();            
 217   4                  if(_ix==(_Count-1))  i2cNotAck();
 218   4                  else i2cAck();             
 219   4               } 
 220   3               i2cStop();
 221   3            }
 222   2          }
 223   1          else { 
 224   2            for(_ix=0;_ix<_Count;_ix++) {
 225   3               if (i2cLocate(slave_addr,sub_addr+_ix)){  
 226   4                  i2cStart(); 
 227   4                  if(i2cTransmit(slave_addr|0x0001)){    
 228   5                     i2cStop();            
 229   5                     return;  
 230   5                  }  
 231   4                  *(_DataX+(unsigned int)_ix) = i2cReceive(); 
 232   4                  i2cNotAck();  i2cStop();     
 233   4               }                                                                            
 234   3            }
 235   2         }
 236   1      }
 237          
C51 COMPILER V7.07   I2C                                                                   06/15/2006 18:53:53 PAGE 5   

 238           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    539    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      15
   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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色亚洲国产精品| 国产mv日韩mv欧美| 久久国产精品99久久人人澡| 日韩avvvv在线播放| 亚洲一二三四区| 日韩激情在线观看| 国产精品一区二区三区乱码| 一本在线高清不卡dvd| 欧美夫妻性生活| 久久久综合视频| 国产三级精品三级在线专区| 亚洲一区中文在线| 韩国毛片一区二区三区| 国产999精品久久| 欧美日韩国产精品成人| 精品剧情v国产在线观看在线| 久久青草欧美一区二区三区| 亚洲一区二区三区自拍| 国产一区999| 欧美日韩电影在线播放| 亚洲图片激情小说| 国产在线不卡一区| 欧美精品粉嫩高潮一区二区| 中文字幕不卡在线播放| 免费av成人在线| 91免费版pro下载短视频| 欧美大尺度电影在线| 一区二区三区欧美| 成+人+亚洲+综合天堂| 精品国产精品一区二区夜夜嗨| 亚洲精品中文在线影院| 免费观看在线综合| 日本电影欧美片| 久久亚洲一区二区三区四区| 日韩成人免费电影| 欧美色综合久久| 中文字幕精品一区二区精品绿巨人 | 精品91自产拍在线观看一区| 亚洲伊人色欲综合网| 91在线你懂得| 国产精品免费网站在线观看| 国产传媒欧美日韩成人| 欧美午夜精品久久久| 中文字幕在线不卡视频| 成人精品国产免费网站| 精品久久久久久久久久久久包黑料| 亚洲图片欧美综合| 在线免费观看一区| 亚洲日本va午夜在线影院| 国产91高潮流白浆在线麻豆| 久久精品欧美一区二区三区麻豆| 亚洲va欧美va人人爽| 色久综合一二码| 久久久久成人黄色影片| 波多野结衣中文一区| 国产精品区一区二区三| 国产成人精品一区二区三区四区 | 欧美影视一区在线| 亚洲老妇xxxxxx| 91在线无精精品入口| 亚洲免费观看高清完整版在线 | 视频一区在线播放| 欧美大片顶级少妇| 国产成人8x视频一区二区| 国产精品区一区二区三区| 91麻豆免费观看| 午夜欧美电影在线观看| 亚洲精品一线二线三线无人区| 国产精品91xxx| 欧美国产激情二区三区| 欧美性受xxxx黑人xyx性爽| 亚洲第一电影网| 日韩视频永久免费| 国产呦精品一区二区三区网站| 国产精品嫩草99a| 91麻豆精品国产91久久久久久 | 麻豆成人免费电影| 欧美一卡2卡3卡4卡| 成人小视频在线| 亚洲在线观看免费| 精品欧美一区二区久久| www.av亚洲| 亚洲福利视频三区| 中文字幕一区二区三区色视频| 欧美在线小视频| 国产做a爰片久久毛片| 亚洲成av人片在www色猫咪| 精品国产一区二区在线观看| 五月婷婷激情综合网| 久久久久久久免费视频了| 日本不卡在线视频| 国产精品久久影院| 国产黑丝在线一区二区三区| 日韩免费性生活视频播放| 久久久噜噜噜久噜久久综合| 久久国产欧美日韩精品| 日韩视频中午一区| 婷婷久久综合九色国产成人 | 亚洲国产高清在线| 麻豆国产精品777777在线| 国产欧美日本一区二区三区| 9i看片成人免费高清| 国产一区二区三区在线观看免费 | 亚洲国产精品传媒在线观看| 一本色道久久综合精品竹菊| 国产精品久久免费看| 国产欧美精品日韩区二区麻豆天美| 中文字幕免费一区| 99re亚洲国产精品| 亚洲精品视频在线看| 日韩欧美国产午夜精品| 国产精品乡下勾搭老头1| 一区二区三区四区精品在线视频| 国产三区在线成人av| 欧美日韩一区三区四区| 不卡视频在线观看| 99久久精品国产毛片| 黄色小说综合网站| 制服丝袜亚洲色图| 成人免费小视频| 中文字幕一区免费在线观看| 亚洲成人久久影院| 国产色婷婷亚洲99精品小说| 国产成人亚洲精品狼色在线| 日韩av电影天堂| 日韩精品五月天| 91国偷自产一区二区开放时间| 久久免费看少妇高潮| 国产成人综合在线| 国产亚洲精品aa| 26uuu精品一区二区在线观看| 一本一道综合狠狠老| 日本电影欧美片| 日韩精品最新网址| 国产成人自拍在线| 韩国v欧美v亚洲v日本v| 在线播放/欧美激情| 一级精品视频在线观看宜春院 | 国产馆精品极品| 欧美视频一区在线| 从欧美一区二区三区| 日韩国产欧美在线视频| 香蕉乱码成人久久天堂爱免费| 91精品国产综合久久小美女| 欧美日本国产视频| 在线观看日韩毛片| 亚洲精品一区二区三区99| 国产精品久久毛片a| 亚洲精品日产精品乱码不卡| 久久国产三级精品| 91网上在线视频| 午夜视频一区二区三区| 亚洲女厕所小便bbb| 久久精品人人做人人爽人人| 国产日产欧美一区| 玉足女爽爽91| 奇米888四色在线精品| 激情深爱一区二区| 国产精品一线二线三线| 成人h精品动漫一区二区三区| 99re成人在线| 欧美区一区二区三区| 91视频免费观看| 亚洲欧洲美洲综合色网| av一区二区三区黑人| 亚洲综合色丁香婷婷六月图片| 久久精品国产亚洲一区二区三区 | 精品久久人人做人人爽| 亚欧色一区w666天堂| 日韩成人av影视| 国产精品白丝jk白祙喷水网站| 欧美一区二区视频在线观看2020| 国产精品拍天天在线| 色婷婷综合在线| 国产午夜亚洲精品羞羞网站| 久久精品国产一区二区| 亚洲视频一二三| 国产香蕉久久精品综合网| 91亚洲精品久久久蜜桃网站| 国产综合色精品一区二区三区| 亚洲一线二线三线视频| 亚洲欧美aⅴ...| 精品精品国产高清一毛片一天堂| 国内成+人亚洲+欧美+综合在线| 日本一区二区三区电影| 色爱区综合激月婷婷| 精品久久久久久久久久久久久久久久久| 日韩美女视频一区| 色偷偷成人一区二区三区91 | 欧美亚洲国产bt| 国产欧美视频在线观看| eeuss鲁片一区二区三区| 亚洲黄色性网站| 国产日韩欧美精品一区| 午夜精品福利一区二区蜜股av| 成人午夜av在线| 欧美va天堂va视频va在线| 久久精品视频一区| 免费看欧美美女黄的网站| av电影天堂一区二区在线观看|