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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2349|回復: 6
打印 上一主題 下一主題
收起左側

單片機+DS18B20總輸出255

[復制鏈接]
跳轉到指定樓層
樓主
ID:686011 發表于 2020-10-3 16:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DS18B20總輸出255,數值不會改變18b20 程序如下:

  1. #include "STC15F2K60S2.h"

  2. sbit DQ = P1^4;  //單總線接口

  3. //單總線延時函數
  4. void Delay_OneWire(unsigned int t)  //STC89C52RC
  5. {
  6.         while(t--);
  7. }

  8. void delay_18b20()
  9. {
  10.         unsigned int x,y;
  11.         for(x = 1;x>0;x--)
  12.                 for(y=110;y>0;y--);
  13. }

  14. //通過單總線向DS18B20寫一個字節
  15. void Write_DS18B20(unsigned char dat)
  16. {
  17.         unsigned char i;
  18.         for(i=0;i<8;i++)
  19.         {
  20.                 DQ = 0;
  21.                 DQ = dat&0x01;
  22.                 Delay_OneWire(5);
  23.                 DQ = 1;
  24.                 dat >>= 1;
  25.         }
  26.         Delay_OneWire(5);
  27. }

  28. //從DS18B20讀取一個字節
  29. unsigned char Read_DS18B20(void)
  30. {
  31.         unsigned char i;
  32.         unsigned char dat;
  33.   
  34.         for(i=0;i<8;i++)
  35.         {
  36.                 DQ = 0;
  37.                 dat >>= 1;
  38.                 DQ = 1;
  39.                 if(DQ)
  40.                 {
  41.                         dat |= 0x80;
  42.                 }            
  43.                 Delay_OneWire(5);
  44.         }
  45.         return dat;
  46. }

  47. //DS18B20設備初始化
  48. bit init_ds18b20(void)
  49. {
  50.           bit initflag = 0;
  51.          
  52.           DQ = 1;
  53.           Delay_OneWire(12);
  54.           DQ = 0;
  55.           Delay_OneWire(80);
  56.           DQ = 1;
  57.           Delay_OneWire(10);
  58.     initflag = DQ;     
  59.           Delay_OneWire(5);
  60.   
  61.           return initflag;
  62. }



  63. unsigned char DS18B20()
  64. {
  65.         unsigned char low,hig;
  66.         unsigned int wendu;
  67.         init_ds18b20();
  68.         Write_DS18B20(0xcc);
  69.         Write_DS18B20(0x44);
  70.         Delay_OneWire(200);
  71.         init_ds18b20();
  72.         Write_DS18B20(0xcc);
  73.         Write_DS18B20(0xbe);
  74.         low = Read_DS18B20();
  75.         hig = Read_DS18B20();
  76.         wendu = low / 16 + hig * 16;
  77.         return wendu;
  78. }
復制代碼




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

使用道具 舉報

沙發
ID:823165 發表于 2020-10-3 17:28 | 只看該作者
讀出DS18B20數據需要取反吧。low=~low; hig=~hig;
回復

使用道具 舉報

板凳
ID:823165 發表于 2020-10-3 17:31 | 只看該作者
ds18b20多出高八位和低八位需要取反在運算。low=~low; hig=~hig;
回復

使用道具 舉報

地板
ID:823165 發表于 2020-10-3 17:33 | 只看該作者
ds18b20讀出高八位和低八位數據需要取反,在運算。
回復

使用道具 舉報

5#
ID:686011 發表于 2020-10-3 21:59 | 只看該作者
鋆鍇電子 發表于 2020-10-3 17:33
ds18b20讀出高八位和低八位數據需要取反,在運算。

不行,取反后就全為0了,并且數值不會變
回復

使用道具 舉報

6#
ID:453974 發表于 2020-10-7 08:48 | 只看該作者
看一看驅動程序有沒有問題,如果沒問題那就檢查一下硬件電路
回復

使用道具 舉報

7#
ID:451718 發表于 2020-10-7 11:46 | 只看該作者
延遲的問題吧,18B20對延遲要求還是比較嚴的,你這個軟件延遲, 移植到不同芯片上,時效可能差別很大。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久久久久久91 | 成人一区二区电影 | 夏同学福利网 | 色综合一区二区三区 | 亚洲国产日韩欧美 | 成人欧美一区二区三区黑人孕妇 | xx性欧美肥妇精品久久久久久 | www.日日干| 成人av免费 | 中文字幕成人 | 一级a毛片 | 亚洲国产一区在线 | 欧美成人一区二区 | 亚洲欧美日韩一区二区 | 久热精品在线观看视频 | 亚洲精品不卡 | 日韩免费1区二区电影 | 日韩激情一区 | 免费高清av | 国产熟熟| 日本三级做a全过程在线观看 | 欧美综合一区 | 日本一区二区高清不卡 | 毛片的网址 | 国产美女永久免费无遮挡 | av一级久久| 成年网站在线观看 | 久久久久一区二区三区四区 | 特黄毛片视频 | 午夜成人免费视频 | 中文字幕在线观看国产 | 中日字幕大片在线播放 | 国产精品入口久久 | 国产视频中文字幕在线观看 | 国产一二区免费视频 | 日韩国产在线 | 国产精品一区二区久久 | 夜夜草天天草 | 欧美日韩国产一区二区三区 | 日韩字幕一区 | 九九综合|