找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2965|回復: 3
打印 上一主題 下一主題
收起左側(cè)

DS18B20溫度測試

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2014-10-24 14:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
#define led P1
#define ledw P2
uchar ledtab[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit dq=P3^7 ;
uchar delay,f;            

void dela(uchar i)   //5us   t=5+i*2
{
while(--i);
}

void ds18b20_reset()
{
while(1)
{
dq=1;
dq=0;
delay=250;    //540us延時,當delay=1時延時為2us ,T=2*x
while(--delay);
dq=1;
delay=25;
while(--delay);
while(dq==0)
{
  delay=220;
  while(--delay);
  if(dq==1)
  break;   
}
delay=150;
while(--delay);
break;
   }
}

void ds18b20_write(uchar dat)
{
uchar i=0;
for(i=0;i<8;i++)
{
  dq=1;
  dq=0;
  delay=3;
  while(--delay);
  dq=dat&0x01;
  delay=35;
  while(--delay);
  dq=1;
  dat=dat>>1;
}
}

uchar ds18b20_read()
{
uchar i=0,m=0;
for(i=0;i<8;i++)
   {
    //m>>=1
    dq=1;
  dq=0;
  delay=4;
  while(--delay);
  dq=1;
  delay=4;
  while(--delay);
  if(dq==1)
  m|=0x01<<i;
  //m=m|0x80;
   delay=25;
   while(--delay);
   dq=1;
   delay=1;
   while(--delay);   
   }
   return m;
}
         
uchar ds18b20_temp()
{
uchar temp=0,temph=0,templ=0,k=0;
ds18b20_reset();
ds18b20_write(0xcc);
ds18b20_write(0x44);

ds18b20_reset();
ds18b20_write(0xcc);
ds18b20_write(0xbe);

templ=ds18b20_read();
temph=ds18b20_read();

if((temph&0xf80)!=0)
{
  f=1;
  templ=~templ;
  temph=~temph;
  k=templ+1;
  templ=k;
  if(templ>0xff)
  {
  temph++;
  }
}
else
f=0;
templ=templ>>4;
temph=temph<<4;
temp=templ|temph;
return temp;
}

void main()
{
uchar a=0,b=0,c=0,temp=0;
while(1)
{   
temp=ds18b20_temp();
a=temp/100;
b=temp0/10;
c=temp;

if(f==1)
{
  led=0xbf;
  ledw=1;
  dela(5000);
  ledw=0;
  dela(600);
}
led=ledtab[c];
ledw=8;
dela(5000);
ledw=0;
dela(600) ;

  
  led=ledtab;
  ledw=4;
    dela(5000);
  ledw=0;
  dela(600) ;


  led=ledtab[a];
  ledw=2;
  dela(5000);
  ledw=0;
  dela(600) ;
  }
}

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

使用道具 舉報

沙發(fā)
ID:70769 發(fā)表于 2014-12-21 04:46 | 只看該作者
很好,正需要
回復

使用道具 舉報

板凳
ID:114963 發(fā)表于 2016-4-18 17:02 | 只看該作者
坑爹啊,原理圖都不見
回復

使用道具 舉報

地板
ID:162582 發(fā)表于 2017-5-27 12:58 | 只看該作者
仿真顯示不正常?
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表