找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2622|回复: 3
打印 上一主题 下一主题
收起左侧

DS18B20温度测试

[复制链接]
跳转到指定楼层
楼主
ID:262 发表于 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 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:70769 发表于 2014-12-21 04:46 | 只看该作者
很好,正需要
回复

使用道具 举报

板凳
ID:114963 发表于 2016-4-18 17:02 | 只看该作者
坑爹啊,原理图都不见
回复

使用道具 举报

地板
ID:162582 发表于 2017-5-27 12:58 | 只看该作者
仿真显示不正常啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表