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

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

?? i2c.lst

?? 51系列單片機的i2c的c語言的原代碼
?? LST
字號:
C51 COMPILER V7.02b   I2C                                                                  12/12/2005 10:34:32 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN I2C.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE I2C.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程學院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                           */
   5          /*****************************************/
   6          
   7          #include "I2C.h"
   8          
   9          /* 延時約5微秒,對于12M時鐘 */
  10          void delay5us()
  11          {
  12   1              uint i;
  13   1              for (i=0;i<5;i++)
  14   1                      _nop_();        
  15   1      }
  16          
  17          /* 起始條件子函數(shù) */
  18          void start(void)
  19          {
  20   1              SDA = 1;                        // 啟動I2C總線
  21   1              SCL = 1;
  22   1              delay5us();
  23   1              SDA = 0;
  24   1              delay5us();
  25   1              SCL = 0;
  26   1      }
  27          
  28          /* 停止條件子函數(shù) */
  29          void stop(void)
  30          {
  31   1              SDA = 0;                        // 停止I2C總線數(shù)據(jù)傳送
  32   1              SCL = 1;
  33   1              delay5us();
  34   1              SDA = 1;
  35   1              delay5us();
  36   1              SCL = 0;
  37   1      }
  38          
  39          /* 發(fā)送應答子函數(shù) */
  40          void ack(void)
  41          {
  42   1              SDA = 0;                        // 發(fā)送應答位
  43   1              SCL = 1;
  44   1              delay5us();
  45   1              SDA = 1;
  46   1              SCL = 0;
  47   1      }
  48          
  49          /* 發(fā)送非應答子函數(shù) */
  50          void n_ack(void)
  51          {
  52   1              SDA = 1;                        // 發(fā)送非應答位
  53   1              SCL = 1;
  54   1              delay5us();
  55   1              SDA = 0;
C51 COMPILER V7.02b   I2C                                                                  12/12/2005 10:34:32 PAGE 2   

  56   1              SCL = 0;
  57   1      }
  58          
  59          /* 應答位檢查子函數(shù) */
  60          void checkack(void)
  61          { 
  62   1              SDA = 1;                // 應答位檢查(將p1.0設置成輸入,必須先向端口寫1)
  63   1              SCL = 1;
  64   1              nackFlag = 0;
  65   1              if(SDA == 1)            // 若SDA=1表明非應答,置位非應答標志F0
  66   1                      nackFlag = 1;
  67   1              SCL = 0;
  68   1      }
  69          
  70          /* 發(fā)送一個字節(jié)數(shù)據(jù)子函數(shù) */
  71          void sendbyte(uchar idata *ch)
  72          { 
  73   1              uchar idata n = 8;  
  74   1              uchar idata temp;
  75   1              temp = *ch;
  76   1              while(n--)
  77   1              { 
  78   2                      if((temp&0x80) == 0x80)    // 若要發(fā)送的數(shù)據(jù)最高位為1則發(fā)送位1
  79   2                      {
  80   3                              SDA = 1;    // 傳送位1
  81   3                              SCL = 1;
  82   3                              delay5us();
  83   3                              SDA = 0;
  84   3                              SCL = 0;    
  85   3                      }
  86   2                      else
  87   2                      {  
  88   3                              SDA = 0;    // 否則傳送位0
  89   3                              SCL = 1;
  90   3                              delay5us();
  91   3                              SCL = 0;  
  92   3                      }
  93   2                      temp = temp<<1;    // 數(shù)據(jù)左移一位
  94   2              }
  95   1      }
  96          
  97          
  98          /* 接收一字節(jié)子程序 */
  99          void recbyte(uchar idata *ch)
 100          {
 101   1              uchar idata n=8;    // 從SDA線上讀取一位數(shù)據(jù)字節(jié),共8位
 102   1              uchar idata temp = 0;
 103   1              while(n--)
 104   1              {
 105   2                      SDA = 1;
 106   2                      SCL = 1;
 107   2                      temp = temp<<1;    // 左移一位
 108   2                      if(SDA == 1)
 109   2                              temp = temp|0x01;    // 若接收到的位為1,則數(shù)據(jù)的最后一位置1
 110   2                      else 
 111   2                              temp = temp&0xfe;    // 否則數(shù)據(jù)的最后一位置0
 112   2                      SCL=0;
 113   2              }
 114   1              *ch = temp;
 115   1      }
 116          
 117          /* 發(fā)送n字節(jié)數(shù)據(jù)子程序 */
C51 COMPILER V7.02b   I2C                                                                  12/12/2005 10:34:32 PAGE 3   

 118          void sendnbyte(uchar idata *sla, uchar n)
 119          {          
 120   1              uchar idata *p;
 121   1              start();                                // 發(fā)送啟動信號
 122   1              sendbyte(sla);                  // 發(fā)送從器件地址字節(jié)
 123   1              checkack();                     // 檢查應答位
 124   1          if(F0 == 1)
 125   1              { 
 126   2                      NACK = 1;
 127   2                      return;                 // 若非應答表明器件錯誤或已壞,置錯誤標志位NACK
 128   2              }
 129   1              p = sbuf;
 130   1              while(n--)
 131   1              { 
 132   2                      sendbyte(p);
 133   2                      checkack();     // 檢查應答位
 134   2                      if (nackFlag == 1)
 135   2                      {
 136   3                              NACK=1;
 137   3                              return;         // 若非應答表明器件錯誤或已壞,置錯誤標志位NACK
 138   3                      }
 139   2                      p++;
 140   2              }
 141   1              stop();                         // 全部發(fā)完則停止
 142   1      }
 143          
 144          /* 接收n字節(jié)數(shù)據(jù)子程序 */
 145          void recnbyte(uchar idata *sla, uchar n)
 146          { 
 147   1              uchar idata *p;
 148   1              start();                        // 發(fā)送啟動信號
 149   1              sendbyte(sla);          // 發(fā)送從器件地址字節(jié)
 150   1              checkack();                     // 檢查應答位
 151   1              if(nackFlag == 1)
 152   1              {
 153   2                      NACK = 1;
 154   2                      return;
 155   2              }
 156   1              p = rbuf;                       // 接收字節(jié)存放在rbuf中
 157   1              while(n--)
 158   1              { 
 159   2                      recbyte (p);
 160   2                      ack();                  // 收到一個字節(jié)后發(fā)送一個應答位
 161   2                      p++;
 162   2              }
 163   1              n_ack();                // 收到最后一個字節(jié)后發(fā)送一個非應答位
 164   1              stop();
 165   1      }
 166          
 167          /* 主函數(shù),模擬實現(xiàn)I2C總線的數(shù)據(jù)收發(fā) */
 168          void main(void)
 169          {
 170   1              uchar i,numbyte;
 171   1      
 172   1              numbyte = 8;
 173   1      
 174   1              /* 需發(fā)送的8字節(jié)數(shù)據(jù) */
 175   1              for (i=0;i<numbyte;i++)
 176   1                      sbuf[i] = i+0x11;
 177   1       
 178   1              SLAdd = 0x58;           // 從器件地址
 179   1              
C51 COMPILER V7.02b   I2C                                                                  12/12/2005 10:34:32 PAGE 4   

 180   1              sendnbyte(&SLAdd,numbyte);      // 向從器件發(fā)送存放在sbuf中的8字節(jié)數(shù)據(jù)
 181   1      
 182   1              for (i=0;i<10000;i++)
 183   1                      delay5us();
 184   1      
 185   1              recnbyte(&SLAdd,numbyte);       // 由從器件接收8字節(jié)數(shù)據(jù),存放在rbuf中
 186   1      
 187   1      }
 188          
 189          
 190          
 191          
 192          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    320    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     17       4
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性生交大片免费看视频在线| 欧美日韩久久不卡| 色哟哟在线观看一区二区三区| 欧美精品久久一区| 欧美国产一区二区在线观看| 午夜精品123| 91免费看视频| 国产亚洲人成网站| 热久久久久久久| 色哟哟一区二区在线观看| 国产欧美日韩在线视频| 免费观看30秒视频久久| 欧美日韩一区三区四区| 综合久久国产九一剧情麻豆| 国产精品夜夜爽| 日韩三级高清在线| 亚洲成人1区2区| 色乱码一区二区三区88| 国产精品久久久久婷婷| 国产成人免费9x9x人网站视频| 日韩欧美三级在线| 免费成人美女在线观看.| 欧美日韩色综合| 亚洲国产精品一区二区久久| 99热国产精品| 亚洲欧洲一区二区在线播放| 国产91综合网| 国产拍揄自揄精品视频麻豆| 久久99久久久欧美国产| 日韩视频一区二区三区| 日本最新不卡在线| 日韩欧美一级二级三级| 久久精品久久精品| 精品国产污污免费网站入口 | 丝袜美腿亚洲综合| 欧美日韩一级大片网址| 亚洲一区二区不卡免费| 在线免费一区三区| 午夜视频在线观看一区二区| 欧美日韩一区在线观看| 天天综合天天综合色| 欧美一区二区日韩一区二区| 日韩成人一级大片| 26uuu国产电影一区二区| 国产精品888| 亚洲婷婷综合色高清在线| 在线观看免费视频综合| 午夜av一区二区三区| 日韩情涩欧美日韩视频| 国产精品亚洲一区二区三区在线| 国产色综合久久| 91色婷婷久久久久合中文| 亚洲综合丁香婷婷六月香| 欧美一区二区精品在线| 国产激情一区二区三区| 亚洲手机成人高清视频| 欧美老年两性高潮| 国内精品第一页| 中文字幕亚洲综合久久菠萝蜜| 91色九色蝌蚪| 美女网站一区二区| 亚洲欧洲日本在线| 欧美一区二区在线播放| 国产成a人亚洲精| 亚洲美女免费在线| 日韩欧美美女一区二区三区| 欧美精品久久久久久久久老牛影院| 久久99久久99小草精品免视看| 欧美激情在线看| 欧美放荡的少妇| 国产91色综合久久免费分享| 亚洲.国产.中文慕字在线| 久久天天做天天爱综合色| 色一情一乱一乱一91av| 久久国产三级精品| 亚洲九九爱视频| 精品国产免费久久| 欧美制服丝袜第一页| 国产精品综合二区| 天天综合色天天| 最新国产精品久久精品| 欧美成人在线直播| 欧美性三三影院| 成人一区二区三区中文字幕| 日韩avvvv在线播放| 亚洲欧美日韩国产另类专区| 精品处破学生在线二十三| 91国偷自产一区二区三区观看| 国产一区二区三区在线观看精品| 亚洲国产欧美日韩另类综合| 久久久精品日韩欧美| 91精品综合久久久久久| 欧美综合一区二区| av成人免费在线| 国产99久久久久久免费看农村| 爽好久久久欧美精品| 一区二区欧美在线观看| 国产精品久久久久久久久久久免费看 | 成人性视频网站| 国内一区二区视频| 日本不卡一区二区三区| 亚洲愉拍自拍另类高清精品| 国产精品久久久久久久久动漫 | 久久99久久久久| 日韩高清在线不卡| 亚洲第一综合色| 一区二区三区丝袜| 亚洲精品中文字幕乱码三区| 国产精品日日摸夜夜摸av| 精品国产髙清在线看国产毛片| 91精品久久久久久蜜臀| 精品视频一区二区三区免费| 欧美性xxxxxx少妇| 欧美三级一区二区| 欧美日韩一区不卡| 欧美日韩精品一区二区| 欧美日韩国产美| 这里只有精品电影| 9191精品国产综合久久久久久| 337p亚洲精品色噜噜噜| 欧美一区二区三区啪啪| 欧美一区二区播放| 精品日韩成人av| 国产亚洲1区2区3区| 国产农村妇女毛片精品久久麻豆| 亚洲国产高清不卡| 亚洲女女做受ⅹxx高潮| 亚洲精品国产无套在线观| 亚洲图片欧美一区| 日韩二区在线观看| 国产麻豆视频一区二区| 成人午夜视频免费看| 色综合久久66| 日韩一区二区三区在线视频| 国产亚洲午夜高清国产拍精品| 中文字幕日韩精品一区| 亚洲午夜久久久久久久久电影网| 天天av天天翘天天综合网色鬼国产| 日本不卡的三区四区五区| 国产乱码精品1区2区3区| 91视频观看免费| 91精品国产乱码| 国产欧美一区二区精品仙草咪| 亚洲欧美日韩国产另类专区 | 国产精品一区二区久久精品爱涩| 国产99久久久国产精品免费看 | 成人精品视频一区二区三区| 在线亚洲精品福利网址导航| 日韩一区二区精品葵司在线| 久久精品免视看| 亚洲高清视频中文字幕| 激情综合色播激情啊| 一本色道久久综合亚洲aⅴ蜜桃 | 久久精品一区二区三区不卡| 亚洲另类在线一区| 国产伦精品一区二区三区在线观看 | 国产91高潮流白浆在线麻豆| 欧洲精品一区二区| 欧美激情一区二区三区不卡| 亚洲成人资源在线| 成人午夜在线播放| 日韩亚洲欧美在线| 亚洲另类一区二区| 国产黄色精品网站| 在线综合亚洲欧美在线视频| 国产精品美女久久久久久| 爽好多水快深点欧美视频| 成人动漫在线一区| 欧美成人一级视频| 一区二区三区在线视频播放| 国产精品综合网| 日韩一区二区三区免费观看| 亚洲六月丁香色婷婷综合久久| 国产成人免费视频精品含羞草妖精| 欧美色视频一区| 亚洲桃色在线一区| 成人a区在线观看| 日韩女优电影在线观看| 亚洲mv在线观看| 色综合天天综合网国产成人综合天| 亚洲精品一区在线观看| 奇米影视一区二区三区小说| 在线精品亚洲一区二区不卡| 专区另类欧美日韩| 成人国产亚洲欧美成人综合网| www国产亚洲精品久久麻豆| 石原莉奈一区二区三区在线观看| 91在线国产福利| 国产精品超碰97尤物18| 国产精品123| 久久久久久97三级| 国产九色sp调教91| 久久精子c满五个校花| 国产资源在线一区| 久久久精品免费免费| 国产一区二区电影| 国产欧美一区在线| 成人免费视频视频在线观看免费| 中文字幕欧美国产| 91香蕉视频mp4|