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

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

?? ds1820.lst

?? 51單片機開發與應用技術詳解(珍藏版)PPT及源碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 184   1      else                                                            //搜索成功
 185   1      {                                                                       
 186   2      LastData = discrepMarker;                       //置位LastData, lastOne和nxt
 187   2      EndFlag = (LastData==0);
 188   2      nxt = TRUE;                                             //表示總線上還有其它器件,搜索未結束
 189   2      }
 190   1      return nxt;
 191   1      }
 192          
 193          
 194          uchar FindFirstDevice(void) 
 195          {
 196   1      LastData = 0; 
 197   1      EndFlag = FALSE;
 198   1      return SearchDevice();                                  //搜索器件函數SearchDevice
 199   1      }
 200          
 201          
 202          
 203          void ReadData(void) 
 204          {
 205   1      int j;
 206   1      char pad[10];
 207   1      printf("\nReading ScratchPad Data\n");
 208   1      WriteByte(0xBE);                                                //讀暫存器命令(代碼為BEH)
 209   1      for (j=0;j<9;j++)                                                       //循環讀取暫存器中9個字節的數據
 210   1      {
 211   2      pad[j]=ReadByte();                                              //字節讀取函數
 212   2      }
 213   1      printf("\n ScratchPAD DATA =%X%X%X%X%X%X\n",
 214   1      pad[8],pad[7],pad[6],pad[5],pad[4],pad[3],pad[2],pad[1],pad[0]);
 215   1      }
 216          
 217          
 218          void FindDevices(void) 
 219          {
 220   1      uchar m;
 221   1        if(!Reset())                                                  //復位總線
 222   1      {                                                                       //如果存在器件則開始處理
 223   2              if(FindFirstDevice())                                   //調用FindFirstDevice函數
 224   2      {
 225   3                      numROMs=0;
 226   3                      do                                                      //循環
 227   3      {
 228   4                              numROMs++;
 229   4                              for(m=0;m<8;m++) 
 230   4      {                                               //識別ROM代碼
 231   5                                      ROMFound[numROMs][m]=DS18S20ROM[m]; 
 232   5                              }
 233   4                       printf("\nDS18S20 ROM CODE =%02X%02X%02X%02X\n",
 234   4                       ROMFound[5][7],ROMFound[5][6],ROMFound[5][5],ROMFound[5][4],
 235   4                       ROMFound[5][3],ROMFound[5][2],ROMFound[5][1],ROMFound[5][0]);
 236   4                       }while (SearchDevice()&&(numROMs<10)); //直到沒有發現其它器件
 237   3              }
 238   2        }
 239   1      }
 240          
 241          
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 5   

 242          
 243          void ReadTemperature(void) 
 244          {
 245   1      char get[10];
 246   1      char temp_lsb,temp_msb;
 247   1      int k;
 248   1      char Ftemperature,Ctemperature;
 249   1      Reset();                                                                //復位
 250   1      WriteByte(0xCC);                                                //跳過ROM序列號命令(代碼為CCH)
 251   1      WriteByte(0x44);                                                //啟動溫度轉換命令(代碼為44H)
 252   1      Delay(5);
 253   1      Reset();
 254   1      WriteByte(0xCC);                                                //跳過ROM序列號命令(代碼為CCH)
 255   1      WriteByte(0xBE);                                                //讀暫存器命令(代碼為BEH)
 256   1      for (k=0;k<9;k++)
 257   1      {
 258   2      get[k]=ReadByte();                                              //循環讀取
 259   2      }
 260   1      printf("\n Scratch DATA = %X%X%X%X%X\n",
 261   1      get[8],get[7],get[6],get[5],get[4],get[3],get[2],get[1],get[0]);
 262   1      temp_msb = get[1];
 263   1      temp_lsb = get[0];
 264   1      if (temp_msb <= 0x80)
 265   1      {         
 266   2      temp_lsb = (temp_lsb/2);                                //移位,得到完整的溫度值
 267   2      }                                                               
 268   1      temp_msb = temp_msb & 0x80;                     //屏蔽符號位之外的所有數據位
 269   1      if (temp_msb >= 0x80) 
 270   1      {
 271   2      temp_lsb = (~temp_lsb)+1;                               // temp_lsb取補
 272   2      } 
 273   1      if (temp_msb >= 0x80) 
 274   1      {
 275   2      temp_lsb = (temp_lsb/2);                                        //移位,得到完整的溫度值
 276   2      }
 277   1      if (temp_msb >= 0x80) 
 278   1      {
 279   2      temp_lsb = ((-1)*temp_lsb);                             //符號位
 280   2      } 
 281   1      printf( "\nTempC= %d degrees C\n", (int)temp_lsb );//攝氏溫度值輸出
 282   1      Ctemperature = temp_lsb; 
 283   1      Ftemperature = (((int)Ctemperature)* 9)/5 + 32;
 284   1      printf( "\nTempF= %d degrees F\n", (int)Ftemperature );//華氏溫度值輸出
 285   1      }
 286          
 287          
 288          void main(void) 
 289          {
 290   1      uchar Select_Menu;                                      //功能選擇
 291   1      
 292   1      SCON=0x50;                                                      //初始化串行口模式1
 293   1      TMOD=0x20;                                                      //初始化T1為定時功能,模式2
 294   1      PCON=0x80;                                                      //設置SMOD=1
 295   1      TL1=0xF4;                                                       //波特率4800bit/s,初值
 296   1      TH1=0xF4;                                                
 297   1      
 298   1        TR1 = 1;                                                      //啟動T1
 299   1        TI = 1;                                                               //啟動發送
 300   1      
 301   1        while(1)                                                              //主循環
 302   1      {                                               
 303   2        printf (" AT89S52 Control DS18S20\n");                //輸出信息
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 6   

 304   2        printf("\n*********************************************************\n");
 305   2        printf (" Select Control Menu Option\n");
 306   2        printf (" 1. Reset 1-Wire.\n");
 307   2        printf (" 2. Read DS18S20 ROM Code.\n");
 308   2        printf (" 3. Search DS18S20 ROM.\n");
 309   2        printf (" 4. Find All DS18S20.\n");
 310   2        printf (" 5. Read DS18S20 Scratch.\n");
 311   2        printf (" 6. Read DS18S20 Temperature.\n");
 312   2        printf (" 7. Exit.\n");
 313   2        printf (" Please Input Menu Option:\n");
 314   2      
 315   2              Select_Menu = _getkey();                        //從鍵盤輸入選擇數字
 316   2              switch(Select_Menu)
 317   2      {
 318   3                      case '1':                                               //復位1-Wire總線
 319   3                              printf ("\n You Select 1. Reset 1-Wire\n");
 320   3                              Reset();                                        //復位函數
 321   3                              break;
 322   3                      case '2':                                               //讀DS18S20 ROM
 323   3                              printf ("\n You Select 2. Read DS18S20 ROM Code \n");
 324   3                              Reset();
 325   3                              ReadROMSerialNumber();  //讀取ROM代碼函數
 326   3                              break;
 327   3                      case '3':                                               //搜索DS18S20
 328   3                              printf("\n You Select 3. Search DS18S20 ROM \n");
 329   3                              Reset();
 330   3                              FindFirstDevice();                      //搜索第一個器件
 331   3                              printf("\nDS18S20 ROM CODE =%02X%02X%02X%02X\n",
 332   3                                ROMFound[5][7],ROMFound[5][6],ROMFound[5][5],ROMFound[5][4],
 333   3                                ROMFound[5][3],ROMFound[5][2],ROMFound[5][1],ROMFound[5][0]);
 334   3                              break;
 335   3                      case '4':                                               //搜索所有DS18S20
 336   3                              printf ("\n You Select 4. Find All DS18S20\n");
 337   3                              Reset();
 338   3                              FindDevices();                          //查找器件函數
 339   3                              break;
 340   3                      case '5':                                               //讀取高速暫存器
 341   3                              printf ("\n You Select 5. Read DS18S20 Scratch \n");
 342   3                              Reset();
 343   3                              WriteByte(0xCC);                        //跳過ROM序列號命令(代碼為CCH)
 344   3                              ReadData();                             //讀取高速暫存器
 345   3                              break;
 346   3                      case '6':                                               //讀取溫度
 347   3                              printf ("\n You Select 6. Read DS18S20 Temperatur\n");
 348   3                              ReadTemperature();              //讀取溫度值
 349   3                              break;
 350   3                      case '7':                                               //退出程序
 351   3                              printf ("\n You Select 7. Exit\n");
 352   3                              goto Exit;                              //轉向Exit標號處
 353   3                              break;
 354   3                      default: 
 355   3      printf ("\n Error: Please Select Right Menu Option\n");
 356   3                              break;
 357   3                      }; 
 358   2        }
 359   1      Exit: printf("Exit the program!");                              //退出
 360   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1237    ----
   CONSTANT SIZE    =   1089    ----
C51 COMPILER V8.08   DS1820                                                                07/04/2008 11:10:12 PAGE 7   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     52      37
   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一区二区三区免费野_久草精品视频
蜜臀久久99精品久久久画质超高清| 99久久免费视频.com| 精品国产乱码久久久久久久 | 全国精品久久少妇| 欧美一区二区三区免费在线看| 麻豆91在线看| 欧美激情在线观看视频免费| 成人精品一区二区三区四区| 洋洋av久久久久久久一区| 欧美精品在线观看一区二区| 久久国产剧场电影| 中文字幕永久在线不卡| 欧美无砖专区一中文字| 美国三级日本三级久久99| 亚洲国产经典视频| 91国在线观看| 麻豆91精品视频| 国产精品久久毛片av大全日韩| 在线观看国产91| 久久国产精品一区二区| 中文字幕不卡的av| 欧美日韩精品一二三区| 狠狠狠色丁香婷婷综合激情| 亚洲女人****多毛耸耸8| 在线不卡免费av| 国产大陆精品国产| 亚洲国产精品久久久久秋霞影院| 日韩欧美久久久| 波多野结衣欧美| 午夜精品一区二区三区电影天堂| 久久影视一区二区| 99免费精品在线| 男男gaygay亚洲| 国产精品午夜久久| 制服丝袜亚洲播放| 成人av网站免费观看| 日韩精品高清不卡| 最新日韩av在线| 日韩欧美一二三四区| av亚洲精华国产精华| 蜜桃视频在线一区| 亚洲欧洲日本在线| 欧美tickling挠脚心丨vk| 一本大道久久a久久综合婷婷| 久久激情五月婷婷| 亚洲精品久久嫩草网站秘色| 亚洲精品在线免费观看视频| 日本精品一区二区三区高清| 国产精品18久久久久久vr| 亚洲国产一区二区a毛片| 久久精品人人做人人爽97| 欧美精品一二三区| 99久久精品免费看国产| 久久精品久久久精品美女| 亚洲乱码国产乱码精品精的特点| 日韩免费在线观看| 欧美视频一二三区| av综合在线播放| 国产精品88av| 免费日本视频一区| 亚洲午夜一区二区三区| 国产精品私房写真福利视频| 日韩欧美高清在线| 欧美午夜理伦三级在线观看| 成人精品鲁一区一区二区| 麻豆一区二区99久久久久| 一区二区免费视频| 亚洲欧美在线aaa| 久久精品一区二区三区不卡| 91精品国产aⅴ一区二区| 色婷婷久久久久swag精品| 国产精品一区二区不卡| 久色婷婷小香蕉久久| 亚洲国产cao| 一区二区日韩av| 综合久久久久综合| 国产三级精品三级在线专区| 日韩欧美国产一区二区三区| 欧美偷拍一区二区| 91亚洲午夜精品久久久久久| 国产成人午夜精品影院观看视频 | 91精品国产91热久久久做人人| 91电影在线观看| 不卡视频一二三| 国产精品18久久久久久vr| 久久99国内精品| 日本女人一区二区三区| 亚洲国产cao| 亚洲第一成人在线| 亚洲激情第一区| 亚洲日本乱码在线观看| 中文无字幕一区二区三区 | 日产国产欧美视频一区精品 | 国产成人av一区二区三区在线观看| 久久成人av少妇免费| 日本成人在线不卡视频| 日韩国产欧美在线视频| 日韩主播视频在线| 日韩精品亚洲专区| 午夜欧美视频在线观看 | 国产成人精品综合在线观看| 精品一区二区三区日韩| 久久精品国内一区二区三区 | 日韩电影网1区2区| 日本女人一区二区三区| 日本不卡的三区四区五区| 日本不卡高清视频| 麻豆一区二区在线| 精品一区二区三区久久久| 久久草av在线| 国产精品综合av一区二区国产馆| 久久精品国产99国产| 国产最新精品免费| 国产麻豆成人精品| 东方aⅴ免费观看久久av| 国产不卡一区视频| 99久久精品久久久久久清纯| 99久久精品国产导航| 一本色道a无线码一区v| 在线视频你懂得一区| 欧美日韩一级片在线观看| 欧美日韩一区二区在线视频| 欧美一区二区三区视频在线| 日韩三级视频中文字幕| 欧美va日韩va| 亚洲国产精品成人综合色在线婷婷| 国产精品美女久久久久久久久久久| 国产精品福利在线播放| 一区二区在线观看视频在线观看| 亚洲成人一区二区| 乱一区二区av| 国产成人亚洲精品狼色在线| 色综合久久久久综合体桃花网| 欧美亚洲综合在线| 91精品国产丝袜白色高跟鞋| 欧美mv日韩mv亚洲| 欧美极品aⅴ影院| 一区二区三区在线免费视频| 婷婷成人激情在线网| 精久久久久久久久久久| 粉嫩av一区二区三区| 91久久精品国产91性色tv| 欧美久久久久久久久久| 久久久久久免费| 亚洲欧美另类小说| 日韩精品亚洲专区| 国产成人av一区| 在线观看av一区| 欧美成人精品高清在线播放| 国产精品午夜在线观看| 亚洲国产精品人人做人人爽| 国产在线不卡视频| 色综合久久中文字幕综合网| 日韩美女视频在线| 国产精品你懂的在线| 午夜视频在线观看一区二区三区 | 色激情天天射综合网| 777午夜精品视频在线播放| 久久九九久久九九| 亚洲国产aⅴ天堂久久| 国产在线不卡一卡二卡三卡四卡| 91视频免费播放| 日韩欧美精品在线| 亚洲少妇中出一区| 美女国产一区二区| 99久久伊人精品| 日韩亚洲欧美综合| 中文字幕一区二区三区不卡 | 亚洲精品视频在线看| 日本午夜一本久久久综合| 国产成人午夜99999| 欧美日韩中文国产| 中国色在线观看另类| 青草国产精品久久久久久| 成人av电影在线| 日韩欧美一级二级三级久久久| 亚洲免费成人av| 国产精品一区二区视频| 欧美日韩精品高清| 国产精品免费人成网站| 青青草成人在线观看| 色av成人天堂桃色av| 欧美精品一区二区三区四区 | 中文幕一区二区三区久久蜜桃| 日本成人在线网站| 一本大道av一区二区在线播放| 久久婷婷国产综合精品青草| 香蕉成人伊视频在线观看| www.成人在线| 亚洲精品在线网站| 日韩精品亚洲专区| 色视频一区二区| 欧美激情综合五月色丁香| 免费av网站大全久久| 在线观看国产日韩| 国产精品乱人伦一区二区| 久草中文综合在线| 欧美另类变人与禽xxxxx| 综合久久国产九一剧情麻豆| 国产精品自拍网站|