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

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

?? i2c.lst

?? 用于GPRS遠程電力抄表系統中采集器端的程序
?? LST
字號:
C51 COMPILER V7.50   I2C                                                                   07/19/2006 10:05:12 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN i2c.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE i2c.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           #include  "i2c.h"
   2          /*I2C總線初始化程序*/
   3          
   4          /*延時函數*/
   5          
   6          
   7          void delay(void) 
   8          {
   9   1        ;
  10   1      }
  11          
  12          /*停止信號函數*/
  13          void I_stop(void)
  14          {
  15   1              SDA=0;          delay( );
  16   1              SCL=1;          delay( );
  17   1              SDA=1;          delay( );
  18   1      }
  19          
  20          
  21          /*起始信號函數*/
  22          void I_start(void)
  23          {
  24   1         SCL=1;      delay( );
  25   1         SDA=0;      delay( );
  26   1              SCL=0;      delay( );
  27   1      }
  28          
  29          
  30          void I_init(void)
  31          {
  32   1         SCL=0;
  33   1         I_stop();
  34   1       }
  35          
  36          
  37          
  38          /*提供i2c總線的時鐘信號并返回在時鐘電平為高期間SDA信號線上的狀態*/
  39          bit I_clock(void)reentrant
  40          {
  41   1        bit idata sample;
  42   1        SCL =1;  
  43   1             delay( );
  44   1        sample=SDA; 
  45   1        SCL =0;  
  46   1             delay( );
  47   1        return(sample);
  48   1      }
  49          
  50          /*應答信號函數*/
  51          void I_ACK(void)
  52          {
  53   1        SDA=0;    
  54   1        I_clock();
  55   1        SDA=1;
C51 COMPILER V7.50   I2C                                                                   07/19/2006 10:05:12 PAGE 2   

  56   1      }
  57          
  58          /*時鐘信號函數*/
  59          
  60          
  61          
  62          /*數據發送函數*/
  63          /*向I2C總線發送8位數據,并請求一個應答信號ACK,如果收到ACK應答,表示發送成功,并返回1*/
  64          
  65          bit I_send(uchar I_data)
  66          {
  67   1         register uchar send_num;
  68   1              for(send_num=0;send_num<8;send_num++)
  69   1              {
  70   2              SDA=(bit)(I_data&0x80);
  71   2      
  72   2            I_data=I_data<<1;
  73   2            I_clock( );
  74   2          }
  75   1      
  76   1          SDA=1;
  77   1          return (~I_clock());
  78   1      }
  79          
  80          
  81          /*數據接收函數*/
  82          /*從I2C總線上接收8位數據,將接收到的數據作為1個字節返回值*/
  83          uchar I_receive(void)
  84           {
  85   1              register uchar rec_num;
  86   1              uchar I_data=0;
  87   1       
  88   1              for(rec_num=0;rec_num<8;rec_num++)
  89   1              {
  90   2                      I_data*=2;
  91   2                      if(I_clock()) I_data++;
  92   2              }
  93   1              return(I_data);
  94   1       }
  95          
  96          
  97           
  98          
  99          /* 器件從地址和片內地址寫入函數發出起始信號后,若地址寫入成功
 100           則返回1,否則返回0*/// 
 101          
 102          bit W_address(uchar wpage, uchar WStAddress) 
 103          {
 104   1        I_start( );
 105   1         if(I_send(wpage))
 106   1        {
 107   2         return(I_send(WStAddress));
 108   2        } 
 109   1              else
 110   1           return(0);
 111   1      }
 112          
 113          
 114          
 115          ////////////////////////////////////////////////////////////////////
 116          /*5ms延時函數*/
 117          
C51 COMPILER V7.50   I2C                                                                   07/19/2006 10:05:12 PAGE 3   

 118          
 119          /*void wait_5ms(void)
 120          {
 121             register int i;
 122             for(i=0;i<1000;i++)
 123             {; }
 124          } */
 125          
 126          
 127          void wait_1ms(void)
 128          {
 129   1         register int i;
 130   1         for(i=0;i<100;i++)
 131   1         {; }
 132   1      }
 133          ////////////////////////////////////////////////////////////////////
 134          
 135          ////////////////////////////////////////////////////////////////////
 136           bit Wblock(uchar wpage, uchar WSAdd , uchar *StartChar, uchar length)reentrant 
 137           {
 138   1      
 139   1       register uchar Wnum;
 140   1       ////////////////////////////////////////////////////////////////////
 141   1       /*將映象數組中前length個字節數據寫入24C16A的StartAddress前length個單元*/
 142   1       
 143   1      
 144   1         I_init();
 145   1       
 146   1        
 147   1       if (W_address(wpage,WSAdd))
 148   1       {
 149   2          for(Wnum=0;Wnum<length;Wnum++)
 150   2          {
 151   3             if(I_send(StartChar[Wnum])) ;
 152   3             else
 153   3           {
 154   4              I_stop();
 155   4                  return  0 ;
 156   4                }
 157   3          }
 158   2          I_stop();
 159   2          return 1;
 160   2        }
 161   1      
 162   1          I_stop();
 163   1              return  0 ;
 164   1       }
 165           ////////////////////////////////////////////////////////////////////
 166          void  W_block(uchar wpage, uchar WSAdd, uchar *StartChar, uchar length)reentrant 
 167           {
 168   1              register uchar i;
 169   1              uchar addr=0,nextchar=0,len=0;
 170   1              if((length%16)==0)
 171   1              { 
 172   2                      len=length/16;
 173   2                      for(i=0;i<len;i++)
 174   2              {
 175   3                              Wblock(wpage, WSAdd+addr ,&StartChar[nextchar],16);
 176   3                      nextchar+=16;
 177   3                      addr+=16;
 178   3                              wait_1ms();
 179   3                      }
C51 COMPILER V7.50   I2C                                                                   07/19/2006 10:05:12 PAGE 4   

 180   2              }
 181   1              else
 182   1              {             
 183   2                      len=(length/16)+1;
 184   2                      for(i=0;i<len;i++)
 185   2                      {
 186   3                              if(i==(len-1))
 187   3                              {
 188   4                                      Wblock(wpage, WSAdd+addr ,&StartChar[nextchar],length%16);
 189   4                                      wait_1ms();
 190   4                              }
 191   3                              else
 192   3                              {
 193   4                                      Wblock(wpage, WSAdd+addr ,&StartChar[nextchar],16);
 194   4                                      nextchar+=16;
 195   4                                      addr+=16;
 196   4                                      wait_1ms();
 197   4                              }
 198   3                      }
 199   2              }
 200   1          
 201   1          
 202   1       }
 203             
 204           //////////////////////////////////////////////////////////////////// 
 205            /*將映象數組中前length個字節數據寫入24C16A的前length個單元*/
 206           bit R_block(uchar wpage,uchar rpage, uchar RStAddress,  uchar  StartChar[], uchar length)reentrant 
 207           {
 208   1      
 209   1       register  uchar Rnum;
 210   1        
 211   1       I_init();
 212   1        
 213   1        if (W_address(wpage,RStAddress))
 214   1       {
 215   2          I_start();
 216   2          if (I_send(rpage)) 
 217   2              {
 218   3             for( Rnum=0;Rnum<length ;Rnum++)
 219   3              {
 220   4                      StartChar[Rnum]=I_receive();
 221   4                              if (Rnum < (length-1))  I_ACK(); 
 222   4               }
 223   3               I_stop();
 224   3                return 1;
 225   3          }
 226   2      
 227   2        }
 228   1      
 229   1          I_stop();
 230   1              return  0 ;
 231   1      
 232   1       }
 233          
 234          
 235          
 236            ////////////////////////////////////////////////////////////////////
 237          
 238          
 239          


C51 COMPILER V7.50   I2C                                                                   07/19/2006 10:05:12 PAGE 5   

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    761    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jiyouzz国产精品久久| 亚洲精品一区二区三区香蕉 | 7777女厕盗摄久久久| 国产偷国产偷亚洲高清人白洁 | 欧美美女激情18p| 日本一区二区免费在线| 美女在线观看视频一区二区| 色欧美日韩亚洲| 日本一区二区在线不卡| 激情欧美一区二区| 91精品国产入口| 一区二区三区免费观看| 丁香五精品蜜臀久久久久99网站| 欧美一区二区三区电影| 亚洲一二三区在线观看| 99re热视频精品| 中文字幕色av一区二区三区| 国内精品免费在线观看| 欧美一级日韩一级| 五月婷婷激情综合| 欧美日韩成人综合天天影院| 亚洲自拍欧美精品| 色综合天天天天做夜夜夜夜做| 国产精品麻豆欧美日韩ww| 国产精品66部| 日本一区免费视频| 大胆欧美人体老妇| 中文字幕在线观看一区| 成人性色生活片| 国产精品国产成人国产三级| 国产精品一区在线| 欧美国产精品中文字幕| 成人av动漫在线| 椎名由奈av一区二区三区| 99久久精品国产麻豆演员表| 国产精品久久99| 一本久道久久综合中文字幕| 最新不卡av在线| 欧美伦理视频网站| 美女性感视频久久| 国产三级精品三级在线专区| 丁香啪啪综合成人亚洲小说 | 国产精品久久久久影院老司| 成人天堂资源www在线| 国产精品久久夜| 色偷偷一区二区三区| 午夜亚洲国产au精品一区二区| 91精品国产综合久久久久久漫画 | 欧美视频一区在线观看| 午夜不卡av在线| 久久欧美中文字幕| 成人黄色国产精品网站大全在线免费观看 | 欧美激情中文不卡| 一本大道av伊人久久综合| 亚洲国产精品欧美一二99| 日韩欧美一区二区免费| 成人免费看片app下载| 亚洲黄色免费网站| 欧美一区二区成人| av中文一区二区三区| 亚洲国产精品一区二区www在线| 欧美成人女星排名| 99久久精品免费观看| 丝袜美腿一区二区三区| 久久综合九色综合97婷婷女人| 99视频精品全部免费在线| 亚洲一区二区三区四区在线免费观看| 日韩视频一区二区在线观看| 国产精品99久久久久久宅男| 亚洲精品福利视频网站| 精品国产伦一区二区三区观看方式| 成人av午夜电影| 蜜臀av在线播放一区二区三区| 国产精品久久久久久久蜜臀| 91麻豆精品久久久久蜜臀| 成人蜜臀av电影| 国产一区二区调教| 亚洲综合色网站| 国产精品高潮呻吟| 日韩女优电影在线观看| 欧美中文字幕一区二区三区 | 欧美猛男男办公室激情| 国产激情偷乱视频一区二区三区| 亚洲成人先锋电影| 国产精品盗摄一区二区三区| 欧美一区二区三区成人| 在线观看一区二区视频| 不卡的av在线播放| 韩国一区二区三区| 日韩高清在线一区| 一区二区三区不卡视频| 国产精品美女视频| 久久久激情视频| 精品欧美一区二区三区精品久久| 欧美日韩另类国产亚洲欧美一级| www.亚洲免费av| 福利一区二区在线观看| 国产最新精品免费| 看国产成人h片视频| 日本成人在线看| 性久久久久久久| 五月天国产精品| 亚洲国产一区二区三区| 一区二区三区四区在线播放 | 国产精品美女久久久久久久网站| ww久久中文字幕| 精品成人一区二区| 欧美成人性战久久| 精品嫩草影院久久| 久久久久久亚洲综合影院红桃 | 日韩欧美国产一二三区| 337p亚洲精品色噜噜| 5566中文字幕一区二区电影| 欧美久久久久久蜜桃| 欧美福利电影网| 欧美一级淫片007| 日韩午夜av一区| 精品国产伦一区二区三区观看体验 | 久久老女人爱爱| 国产婷婷色一区二区三区在线| 国产日韩v精品一区二区| 久久精品欧美日韩精品| 久久久99久久精品欧美| 欧美激情一区二区三区不卡| 国产精品国产三级国产aⅴ原创| 日韩美女久久久| 亚洲一区二区三区三| 亚洲gay无套男同| 麻豆国产欧美日韩综合精品二区| 精品一区在线看| 成人网在线免费视频| 91免费国产在线观看| 欧美日韩国产首页| www久久久久| 亚洲欧美一区二区三区孕妇| 婷婷亚洲久悠悠色悠在线播放| 久久 天天综合| 91猫先生在线| 6080午夜不卡| 欧美国产97人人爽人人喊| 一区二区三区在线视频免费观看| 日韩中文字幕麻豆| 国产91综合网| 欧美视频日韩视频| 久久久精品国产99久久精品芒果| 亚洲天天做日日做天天谢日日欢| 视频一区二区三区入口| 国产传媒久久文化传媒| 一本大道久久精品懂色aⅴ| 7777精品久久久大香线蕉| 国产欧美日韩视频一区二区| 亚洲图片有声小说| 国产91清纯白嫩初高中在线观看| 欧美三级中文字| 久久精品视频一区二区三区| 亚洲你懂的在线视频| 精品一区二区综合| 欧美日韩一级二级| 国产精品麻豆99久久久久久| 蜜桃av噜噜一区| 在线精品观看国产| 国产欧美日韩一区二区三区在线观看| 亚洲国产成人av好男人在线观看| 国产成人8x视频一区二区| 欧美一区二区三区视频免费播放 | 欧洲亚洲国产日韩| 久久蜜桃一区二区| 奇米影视一区二区三区| 91老师片黄在线观看| 国产日韩成人精品| 久久精品国产亚洲一区二区三区| 在线看日本不卡| 亚洲色图另类专区| 高清不卡一二三区| 久久蜜桃一区二区| 久久精品99久久久| 欧美精品亚洲一区二区在线播放| 亚洲欧美一区二区三区极速播放| 国产黄色精品网站| 久久久久国产精品麻豆ai换脸| 免费日韩伦理电影| 欧美精选在线播放| 亚洲无人区一区| 欧美特级限制片免费在线观看| 自拍偷在线精品自拍偷无码专区| 粉嫩在线一区二区三区视频| 欧美岛国在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩亚洲国产综合| 亚洲成人在线免费| 欧美精品欧美精品系列| 日韩精品免费视频人成| 欧美三级一区二区| 婷婷久久综合九色综合伊人色| 在线观看精品一区| 亚洲电影一级片| 欧美精品丝袜中出| 麻豆一区二区99久久久久| 欧美一区二区高清| 久久99精品久久久久|