久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3274|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

獲取DS18B20序列號(hào)的單片機(jī)源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
1、獲取DS18B20序列號(hào),接多個(gè)DS18B20必用。
2、獲取后,通過(guò)串口發(fā)送給串口助手。
3、接線圖見(jiàn)附件。




單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit DS=P3^7;           //定義DS18B20接口
  6.    
  7. uchar SN[8];  //獲取8組序列號(hào),每組為2位16進(jìn)制數(shù)

  8. void delay();//延時(shí)子函數(shù),5個(gè)空指令
  9. void tmpwritebyte(uchar dat);
  10. uchar tmpread(void);
  11. bit tmpreadbit(void);
  12. void dsreset(void);
  13. void delayb(uint count);
  14. void readrom();

  15. void main()               //主函數(shù)
  16. {
  17.         uchar i;
  18.         TMOD=0x20;
  19.         TH1=0xE8;
  20.         TL1=0xE8;   //1200波特
  21.         PCON=0x00;
  22.         SCON=0x50;        //串口的工作方式,設(shè)置為方式1
  23.         TR1=1;
  24.         EA=1;       
  25.         ES=1;                //打開(kāi)串口中斷
  26.         readrom();
  27.         for(i=0;i<8;i++) //向PC發(fā)送得到的8組序列號(hào),PC可采用串口軟件接受
  28.         {       
  29.                 SBUF=SN[i];
  30.                 while(!TI){}
  31.                 TI=0;
  32.         }
  33.         while(1){}
  34. }

  35. void delay(void)                                                                //空5個(gè)指令
  36. {
  37.         _nop_();_nop_();_nop_();_nop_();_nop_();
  38. }

  39. void delayb(uint count)      //delay
  40. {
  41.   uint i;
  42.   while(count)
  43.   {
  44.     i=200;
  45.     while(i>0)
  46.     i--;
  47.     count--;
  48.   }
  49. }


  50. void dsreset(void)       //DS18B20初始化
  51. {
  52.   uint i;               
  53.   DS=0;
  54.   i=103;
  55.   while(i>0)i--;
  56.   DS=1;
  57.   i=4;
  58.   while(i>0)i--;
  59. }


  60. bit tmpreadbit(void)       // 讀一位
  61. {
  62.    uint i;
  63.    bit dat;
  64.    DS=0;i++;          //小延時(shí)一下
  65.    DS=1;i++;i++;
  66.    dat=DS;
  67.    i=8;while(i>0)i--;
  68.    return (dat);
  69. }


  70. uchar tmpread(void)   //讀一個(gè)字節(jié)
  71. {
  72.   uchar i,j,dat;
  73.   dat=0;
  74.   for(i=1;i<=8;i++)
  75.   {
  76.     j=tmpreadbit();
  77.     dat=(j<<7)|(dat>>1);   //讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個(gè)字節(jié)在DAT里
  78.   }
  79.   return(dat);             //將一個(gè)字節(jié)數(shù)據(jù)返回
  80. }


  81. void tmpwritebyte(uchar dat)   
  82. {                           //寫(xiě)一個(gè)字節(jié)到DS18B20里
  83.   uint i;
  84.   uchar j;
  85.   bit testb;
  86.   for(j=1;j<=8;j++)
  87.   {
  88.     testb=dat&0x01;
  89.     dat=dat>>1;
  90.     if(testb)     // 寫(xiě)1部分
  91.     {
  92.       DS=0;
  93.       i++;i++;
  94.       DS=1;
  95.       i=8;while(i>0)i--;
  96.     }
  97.     else
  98.     {
  99.       DS=0;       //寫(xiě)0部分
  100.       i=8;while(i>0)i--;
  101.       DS=1;
  102.       i++;i++;
  103.     }
  104. ……………………

  105. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
DS18B20_SN.rar (20.65 KB, 下載次數(shù): 58)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:481163 發(fā)表于 2020-5-11 16:23 | 只看該作者
樓主我測(cè)驗(yàn)這個(gè)程序?yàn)槭裁床恍心兀?qǐng)教一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费视频99 | 久久久国产一区二区三区 | 久久久久久久久久久久久9999 | 99精品网 | 久久久片 | 伊人在线 | 成人av播放 | 久久av资源网| 伊人久操 | 久久久青草婷婷精品综合日韩 | 日韩高清中文字幕 | 精品国产免费人成在线观看 | 亚洲人成网亚洲欧洲无码 | 欧美一级在线 | 欧美一级二级三级视频 | 国产成人综合在线 | 国产欧美在线一区 | 精品国产一区二区在线 | 国产精品久久久久久婷婷天堂 | 日韩免费福利视频 | 国产精品久久久久久久久久三级 | 亚洲视频在线看 | 免费在线观看h片 | 国产精品久久7777777 | 国产免费av在线 | 亚洲国产一区二区三区四区 | 国产精品18久久久久久久 | 亚洲日本一区二区三区四区 | 日本欧美黄色片 | 欧美毛片免费观看 | 精品国产乱码久久久久久1区2区 | 国产精品一区二区三级 | 日日夜夜天天干 | 成人免费区一区二区三区 | 久久精品国产亚洲一区二区三区 | 高清色 | 一级黄色片免费 | 精品日韩一区二区 | 一区不卡在线观看 | 成人黄色电影在线播放 | 久久伊人在 |