这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » TI » 课程3+任务3+使用数码管展示DS18B20温度数据并实现高温告警功能

共4条 1/1 1 跳转至

课程3+任务3+使用数码管展示DS18B20温度数据并实现高温告警功能

助工
2024-06-10 23:08:08     打赏

课程3+任务3+使用数码管显示DS18B20采集的温度数据并实现高温告警功能

一、任务概述

主要内容:用DS18B20芯片采集温湿度数据,数码管显示实际温度数值,当DS18B20采集到的温度超过设置的阈值时,蜂鸣器报警。

温度范围:0~26

采集温度时长:1s,

二、DS18B20原理介绍,显示原理

1、原理图


2、实物图

18B20.png


3、接线图

18B20接口图片1.png


三、SysConfig配置介绍(定时器配置)

使用图形化编程工具SysConfig,添加定时器,很方便,能直接生成自己想要时间的定时器中断。这个页面和代码页面在一起,能清晰的看到自己调用的IO口,能实时修改接口的配置。

1718068420321463.png



四、代码展示

/******************************ds1820程序***************************************/
 void delay_18B20(uchar k)//延时1微秒
{
 	while(k--);
}

void ds1820rst()/*ds1820复位*/
{  
     
	 DQ = 1;          //DQ复位
	 delay_18B20(4);  //延时
	 DQ = 0;          //DQ拉低
	 delay_18B20(100); //精确延时大于480us
	 DQ = 1;          //拉高
	 delay_18B20(40);	 
}  
  
uchar 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);//延时106us
	 }
 	return(dat);
}

void ds1820wr(uchar wdata)/*写数据*/
{
    unsigned char i=0;
    for (i=8; i>0; i--)
   { 
     DQ = 0;
     DQ = wdata&0x01;
     delay_18B20(10);//延时106us
     DQ = 1;
     wdata>>=1;
   }
}
  
 

uint read_wendu()/*读取温度值并转换*/
{
  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位小数
     disdata[1]=tvalue%1000/100;//十位数
    disdata[2]=tvalue%100/10;//个位数
    disdata[3]=tvalue%10;//小数位
  return(tvalue);
}


五、总结

利用端午节,做完这个项目,学到了 很多 ,有资料辅助,省了很大的时间。我这里是夏都,温度还是比较合适的,室外温度是22度,室内温度大概23度左右。

1718030285411459.jpg

1718030466745737.jpg


六、演示视频地址

https://b23.tv/mIYG4eP









高工
2024-06-11 12:54:42     打赏
2楼

谢谢分享


高工
2024-06-11 17:25:11     打赏
3楼

谢谢分享


高工
2024-06-21 05:09:12     打赏
4楼

谢谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]