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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于STC12C5A60S2的18B20驅動

[復制鏈接]
跳轉到指定樓層
樓主
ID:103094 發(fā)表于 2016-11-7 21:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/****************************************************************************/
//程序名稱:     DS18b20頭文件               
          
/****************************************************************************/
#ifndef __DS18B20_H__
#define __DS18B20_H__

//#include <reg52.h>
#include <intrins.h>    //包含_nop_()延時函數

#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint  unsigned int
#endif
/******************************************************************************/
//溫度傳感器定義
sbit DQ = P3 ^ 7;//ds18B20
uint tvalue;//溫度值
uchar tflag,flagdat;//溫度正負標志
/******************************ds1820程序***************************************/
void delay_18B20(unsigned int i)//延時1微秒
{
  // while(i--);
  uint j;
  for(;i>0;i--)
  for(j=12;j>0;j--);


}
/******************************************************************************/
void ds1820rst()//ds1820復位*
{ unsigned char x=0;
DQ = 1;          //DQ復位
delay_18B20(4); //延時
DQ = 0;          //DQ拉低
delay_18B20(100); //精確延時大于480us
DQ = 1;          //拉高
delay_18B20(40);
   }
   unsigned char ds1820rd()//讀數據
{ unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{   DQ = 0; //給脈沖信號
    dat>>=1;
    DQ = 1; //給脈沖信號
    if(DQ)
    dat|=0x80;
    delay_18B20(10);
}
   return(dat);
}
/******************************************************************************/
void ds1820wr(uchar wdata)//寫數據
{unsigned char i=0;
    for (i=8; i>0; i--)
   { DQ = 0;
     DQ = wdata&0x01;
     delay_18B20(10);
     DQ = 1;
     wdata>>=1;
   }
}
read_temp()//讀取溫度值并轉換
{uchar a,b;
ds1820rst();   
ds1820wr(0xcc);//跳過讀序列號
ds1820wr(0x44);//啟動溫度轉換
ds1820rst();   
ds1820wr(0xcc);//跳過讀序列號
ds1820wr(0xbe);//讀取溫度
a=ds1820rd();
b=ds1820rd();
tvalue=b;
tvalue<<=8;
tvalue=tvalue|a;
    if(tvalue<0x0fff)
   tflag=0;
    else
   {tvalue=~tvalue+1;
tflag=1;
   }
tvalue=tvalue*(0.625);//溫度值擴大10倍,精確到1位小數
return(tvalue);
}
/******************************************************************************/
#endif

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

使用道具 舉報

沙發(fā)
ID:103094 發(fā)表于 2016-11-7 21:03 | 只看該作者
經測試用LCD12864顯示正常
回復

使用道具 舉報

板凳
ID:138155 發(fā)表于 2016-11-9 08:29 | 只看該作者
可以直接讀出18B20的發(fā)射數據
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 不卡视频一区二区三区 | 久久久久久高潮国产精品视 | 欧美8一10sex性hd | www.狠狠干 | 国产精品乱码一二三区的特点 | 精品久久久久久久久久久久久久久久久 | 一本大道久久a久久精二百 国产成人免费在线 | 成人在线视频一区 | 国产一区二区精品在线 | 一区二区三区国产 | 日韩精品久久久久 | 久久小视频 | 日韩三级在线观看 | 99re国产视频| 国产精品乱码一二三区的特点 | 欧美色欧美亚洲另类七区 | 伊人久久成人 | 欧洲av一区 | 色天天综合 | 久久成人精品 | 久久久久久久电影 | 免费成人高清在线视频 | 欧美中文字幕一区二区三区亚洲 | 久久精品日 | 久久91精品久久久久久9鸭 | av电影一区二区 | 美女在线一区二区 | 久久综合久 | 亚洲精品视频在线看 | 欧美精品被 | 日韩国产精品一区二区三区 | 午夜精品久久久久久久 | 久久国产精品久久久久久 | 免费一区在线 | 日韩精品一区二区三区久久 | 亚洲精品欧美一区二区三区 | 精品久久av| 狠狠草视频 | www.日本在线观看 | 免费黄色大片 | 久久蜜桃资源一区二区老牛 |