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

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

?? ds1820.lst

?? 51單片機開發與應用技術詳解(珍藏版)PPT及源碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DS1820
OBJECT MODULE PLACED IN DS1820.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE DS1820.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <stdio.h>                                              //頭文件
   2          #include <reg52.h>
   3          
   4          #define FALSE 0
   5          #define TRUE 1
   6          #define uchar unsigned char                             //預定義
   7          
   8          sbit DS18S20_DQ = P2^0;                 //定義P2^0引腳為DS18S20的DQ引腳
   9          
  10          /******************************* 全局變量聲明 ********************************/
  11          uchar DS18S20ROM[8];                            // DS18S20 ROM位
  12          uchar LastData = 0; 
  13          uchar EndFlag = 0; 
  14          uchar ROMFound[5][8];                                   // DS18S20的ROM 代碼表
  15          uchar numROMs;
  16          uchar CRCdsc;                                                   //用于CRC校驗
  17          
  18          uchar code dsc[] = {
  19          0, 94,188,226, 97, 63,221,131,194,156,126, 32,163,253, 31, 65,
  20          157,195, 33,127,252,162, 64, 30, 95, 1,227,189, 62, 96,130,220,
  21          35,125,159,193, 66, 28,254,160,225,191, 93, 3,128,222, 60, 98,
  22          190,224, 2, 92,223,129, 99, 61,124, 34,192,158, 29, 67,161,255,
  23          70, 24,250,164, 39,121,155,197,132,218, 56,102,229,187, 89, 7,
  24          219,133,103, 57,186,228, 6, 88, 25, 71,165,251,120, 38,196,154,
  25          101, 59,217,135, 4, 90,184,230,167,249, 27, 69,198,152,122, 36,
  26          248,166, 68, 26,153,199, 37,123, 58,100,134,216, 91, 5,231,185,
  27          140,210, 48,110,237,179, 81, 15, 78, 16,242,172, 47,113,147,205,
  28          17, 79,173,243,112, 46,204,146,211,141,111, 49,178,236, 14, 80,
  29          175,241, 19, 77,206,144,114, 44,109, 51,209,143, 12, 82,176,238,
  30          50,108,142,208, 83, 13,239,177,240,174, 76, 18,145,207, 45,115,
  31          202,148,118, 40,171,245, 23, 73, 8, 86,180,234,105, 55,213,139,
  32          87, 9,235,181, 54,104,138,212,149,203, 41,119,244,170, 72, 22,
  33          233,183, 85, 11,136,214, 52,106, 43,117,151,201, 74, 20,246,168,
  34          116, 42,200,150, 21, 75,169,247,182,232, 10, 84,215,137,107, 53};
  35          
  36          
  37          void Delay(int useconds) 
  38          {
  39   1      int s;
  40   1      for (s=0; s<useconds;s++);                              //空循環語句實現延時
  41   1      }
  42          
  43          
  44          uchar Reset(void) 
  45          {
  46   1      uchar PresenceSignal;
  47   1      DS18S20_DQ = 0;                                                 //拉低數據線DQ
  48   1      Delay(30);                                                      //延時
  49   1      DS18S20_DQ = 1;                                                 //置數據線DQ為高電平
  50   1      Delay(3);                                                               //延時
  51   1      PresenceSignal = DS18S20_DQ;                    //讀取存在信號
  52   1      Delay(30);                                                      //延時,等待時間隙結束
  53   1      return PresenceSignal;                                  //返回存在信號
  54   1      }
  55          
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 2   

  56          
  57          
  58          void WriteBit(char val) 
  59          {
  60   1      DS18S20_DQ = 0;                                                 //拉低數據線DQ開始寫時間隙
  61   1      if(val==1)
  62   1       DS18S20_DQ =1;                                                 //數據線DQ置1,寫1 
  63   1      else
  64   1       DS18S20_DQ=0;                                          //數據線DQ置0,寫0
  65   1      Delay(5);                                                               //延時,在時間隙內保持電平值,
  66   1      DS18S20_DQ = 1;                                                 //拉高數據線DQ
  67   1      }
  68                  
  69          
  70          
  71          void WriteByte(char val) 
  72          {
  73   1      uchar i;
  74   1      uchar temp;
  75   1      for (i=0; i<8; i++)                                             //循環寫入字節,每次寫入一位
  76   1      { 
  77   2      temp = val>>i;                                                  //移位
  78   2      temp &= 0x01;           
  79   2      WriteBit(temp);                                                 //調用位寫入函數
  80   2      }
  81   1      Delay(5);
  82   1      }
  83          
  84          
  85          uchar ReadBit(void) 
  86          {
  87   1      uchar i;
  88   1      DS18S20_DQ = 0;                                         //拉低數據總線DQ開始讀時間隙
  89   1      DS18S20_DQ = 1;                                                 //DQ置1
  90   1      for (i=0; i<3; i++);                                            //延時
  91   1      return DS18S20_DQ ;                                     //返回數據總線DQ上的位數據
  92   1      }
  93          
  94          uchar ReadByte(void) 
  95          {
  96   1      uchar i;
  97   1      uchar value = 0;
  98   1      for (i=0;i<8;i++)                                               //讀取字節,每次讀取一位
  99   1      {
 100   2      if(ReadBit()) 
 101   2      value|=0x01<<i;                                         //循環左移
 102   2      Delay(7);                                       
 103   2      }
 104   1      return(value);                                                  //返回字節數據
 105   1      }
 106          
 107          
 108          void ReadROMSerialNumber(void) 
 109          {
 110   1      int n;
 111   1      char dat[9];
 112   1      printf("\nReading DS18S20 ROM Code\n"); //輸出信息
 113   1      Reset();                                                                //復位函數
 114   1      WriteByte(0x33);                                                //讀出ROM序列號命令
 115   1      for (n=0;n<8;n++)
 116   1      {
 117   2      dat[n]=ReadByte();                                              //循環讀ROM序列號
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 3   

 118   2      }
 119   1      printf("\nDS18S20 ROMCode=%X%X%X%X\n",//輸出ROM序列號
 120   1      dat[7],dat[6],dat[5],dat[4],dat[3],dat[2],dat[1],dat[0]);
 121   1      }
 122          
 123          
 124          uchar CRCCheck( uchar x) 
 125          {
 126   1      CRCdsc = dsc[CRCdsc^x];                         //查表校驗
 127   1      return CRCdsc;
 128   1      }
 129          
 130          uchar SearchDevice(void) 
 131          {
 132   1      uchar m = 1;                                                    //DS18S20 ROM 位索引
 133   1      uchar n = 0;                                                    //DS18S20 ROM 字節索引
 134   1      uchar k = 1;    
 135   1      uchar x = 0;
 136   1      uchar discrepMarker = 0; 
 137   1      uchar g;
 138   1      uchar nxt; 
 139   1      int flag;
 140   1      nxt = FALSE;                    
 141   1      CRCdsc = 0; 
 142   1      flag = Reset();                                                         //復位函數
 143   1      if(flag||EndFlag)                                               //如果沒有其它器件
 144   1      {                                                                       
 145   2      LastData = 0;   
 146   2      return FALSE;                                           //返回"假"
 147   2      }
 148   1      WriteByte(0xF0);                                                //搜索ROM 命令
 149   1      do                                                                      //循環
 150   1      {                                       
 151   2      x = 0;
 152   2      if(ReadBit()==1) x = 2;
 153   2      Delay(8);
 154   2      if(ReadBit()==1) x |= 1;        
 155   2      if(x ==3) break;
 156   2      else 
 157   2      {
 158   3      if(x>0)                                 
 159   3      g = x>>1;                       
 160   3      else 
 161   3      {                                       
 162   4      if(m<LastData) 
 163   4      g = ((DS18S20ROM[n]&k)>0);
 164   4      else 
 165   4      g = (m==LastData); 
 166   4      if (g==0) discrepMarker = m;
 167   4      }
 168   3      if(g==1) 
 169   3      DS18S20ROM[n] |= k;
 170   3      else 
 171   3      DS18S20ROM[n] &= ~k;
 172   3      WriteBit(g);                                            //位寫入函數
 173   3      m++; 
 174   3      k = k<<1; 
 175   3      if(k==0) 
 176   3      { 
 177   4      CRCCheck(DS18S20ROM[n]);        //CRC校驗
 178   4      n++; k++;
 179   4      }
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 4   

 180   3      }
 181   2      }while(n<8);                                                    //直到全部ROM字節0~7都完成
 182   1      if(m<65||CRCdsc)  
 183   1      LastData=0; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧在线看免费| 精品日韩在线一区| 欧美日韩亚洲高清一区二区| 欧美成人一区二区三区在线观看| 国产视频一区在线播放| 亚洲福利一区二区三区| 国产精品中文字幕日韩精品| 欧洲av在线精品| 中文字幕免费观看一区| 毛片av一区二区| 在线观看国产一区二区| 国产女同互慰高潮91漫画| 日韩av一二三| 欧美色图激情小说| 综合色中文字幕| 国产ts人妖一区二区| 欧美一级欧美一级在线播放| 亚洲伊人伊色伊影伊综合网| 成人午夜激情视频| 久久欧美一区二区| 黑人巨大精品欧美一区| 91麻豆精品91久久久久同性| 亚洲视频在线观看三级| 97se亚洲国产综合自在线不卡| 欧美精品一区二区三区在线 | 在线免费不卡视频| 中文字幕一区二区三区在线不卡| 精品一二三四区| 欧美绝品在线观看成人午夜影视| 亚洲精品自拍动漫在线| 99久久综合精品| 亚洲欧洲精品成人久久奇米网| 国产精品538一区二区在线| 欧美电视剧免费观看| 免费观看日韩av| 日韩欧美黄色影院| 蜜臀av一区二区三区| 欧美一级日韩一级| 狠狠网亚洲精品| 久久久一区二区三区捆绑**| 国产精品亚洲第一| 国产日韩欧美高清在线| 99精品视频一区二区三区| 国产精品成人免费在线| 色综合久久中文综合久久牛| 亚洲欧美一区二区三区孕妇| 粉嫩av一区二区三区粉嫩| 国产蜜臀97一区二区三区| 成人av免费在线| 亚洲精品日韩专区silk| 欧美人动与zoxxxx乱| 麻豆一区二区三| 国产日产欧美一区二区三区| 99精品在线观看视频| 亚欧色一区w666天堂| 日韩欧美中文字幕公布| 国产精品99精品久久免费| 中文字幕亚洲欧美在线不卡| 91理论电影在线观看| 日韩中文字幕亚洲一区二区va在线| 日韩一级黄色大片| 国产成人免费在线观看不卡| 专区另类欧美日韩| 欧美美女喷水视频| 国产成人亚洲综合色影视| 亚洲私人影院在线观看| 欧美一区二区视频观看视频| 麻豆国产91在线播放| 亚洲三级视频在线观看| 欧美一区二区三区喷汁尤物| 国产一区二区精品久久91| 综合电影一区二区三区| 欧美一区二区三区四区在线观看| 国产成人h网站| 亚洲成av人**亚洲成av**| 精品999在线播放| 日本高清不卡aⅴ免费网站| 男女男精品视频| 国产亚洲精品免费| 久久精品一区二区三区四区| 成人国产视频在线观看| 丝袜美腿高跟呻吟高潮一区| 日本一区二区三区在线观看| 色哟哟一区二区| 国产福利91精品一区二区三区| 亚洲一卡二卡三卡四卡| 欧美—级在线免费片| 在线播放欧美女士性生活| av资源站一区| 国产一区二区福利| 婷婷一区二区三区| 亚洲欧美电影一区二区| 国产欧美一区二区精品性色 | 国产成人综合网| 亚洲综合一二三区| 中文字幕色av一区二区三区| 日韩精品一区二区三区中文不卡 | 欧美一级日韩不卡播放免费| 色综合久久久久综合| 国产成人精品aa毛片| 毛片av一区二区三区| 视频一区视频二区中文字幕| 最新欧美精品一区二区三区| 精品久久久久久久久久久院品网| 欧美美女一区二区| 欧美日韩中文字幕一区二区| 91在线小视频| a亚洲天堂av| 国产高清不卡一区| 久久超碰97人人做人人爱| 日韩一区精品视频| 亚洲国产日韩在线一区模特| 亚洲精品菠萝久久久久久久| 国产精品国产三级国产| 久久无码av三级| 久久蜜桃av一区二区天堂| 26uuu国产一区二区三区| 精品久久久久久久久久久久包黑料 | 日韩经典中文字幕一区| 一区二区三区四区亚洲| 亚洲欧美偷拍三级| 亚洲欧美一区二区三区国产精品| 亚洲人吸女人奶水| 一区二区三区在线视频观看| 亚洲欧美日本在线| 亚洲一区二区三区精品在线| 亚洲一区二区av在线| 午夜精品成人在线| 人人爽香蕉精品| 国产毛片精品视频| 成人av电影在线网| 一本色道亚洲精品aⅴ| 在线视频你懂得一区| 欧美色欧美亚洲另类二区| 69久久99精品久久久久婷婷| 欧美一卡二卡在线观看| 国产欧美日产一区| 一区二区三区在线观看欧美| 日韩电影免费在线| 国产成人在线视频播放| 91色视频在线| 欧美一区二区三级| 国产精品理论片在线观看| 亚洲一区二区视频| 韩国精品在线观看| jlzzjlzz国产精品久久| 精品视频色一区| 精品福利在线导航| 亚洲日本在线视频观看| 天堂成人国产精品一区| 国产精品中文字幕一区二区三区| 91影院在线免费观看| 欧美一区二区黄| 亚洲国产精品成人久久综合一区 | 日韩电影免费在线| 国产成人精品综合在线观看| 欧美综合一区二区| 久久综合久久鬼色中文字| 亚洲欧美一区二区三区国产精品 | 亚洲第一成年网| 精品系列免费在线观看| 一本大道久久a久久综合| 欧美成人性战久久| 亚洲愉拍自拍另类高清精品| 激情五月激情综合网| 欧美日韩国产一级片| 国产精品色呦呦| 麻豆成人免费电影| 欧美在线制服丝袜| 国产精品免费免费| 美女任你摸久久| 欧美自拍丝袜亚洲| 国产精品久久看| 毛片一区二区三区| 欧美日韩国产成人在线免费| 国产精品国产三级国产普通话三级| 视频一区在线视频| 欧美色欧美亚洲另类二区| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩综合小视频| 91丝袜美腿高跟国产极品老师| 精品免费视频.| 日本视频中文字幕一区二区三区| av电影在线观看完整版一区二区 | 日韩一级黄色大片| 亚洲第一激情av| 欧美这里有精品| 亚洲激情成人在线| 成人的网站免费观看| 精品国产乱码久久久久久蜜臀 | 91超碰这里只有精品国产| 综合亚洲深深色噜噜狠狠网站| 国产成人欧美日韩在线电影| 精品国产sm最大网站免费看| 日本色综合中文字幕| 在线不卡免费欧美| 丝袜脚交一区二区| 欧美一二区视频| 久久国产婷婷国产香蕉| 欧美一区二区三区视频在线|