51单片机控制的DS18B20温度测量报警系统(可设置范围)

时间:2023-03-27来源:佚名

最近南方天天下大雨,下的人心情都郁闷了,最近应一个粉丝的留言,说毕业设计课题是一个单片机的温度自动测量报警装置。希望我可以帮帮他, 我就用常见的DS18B20做了一个报警系统,供大家学习和参考。

需要的功能及作用

单片机DS18B20温度测量系统的测量范围为0-99.9摄氏度,可设置上限报 警温度、下限报 警温度(即高于上限值或者低于下限值时蜂鸣器报 警),默认上限报 警温度为38℃、默认下限报 警温度为5℃。报警值可设置范围:最低上限报警值等于当前下限报警值,最高下限报 警值等于当前上限报 警值。将下限报 警值调为0时为关闭下限报 警功能。电源电压VCC为5V,可以焊一只USB座到板上,然后用相应的USB线连接至电脑,通过电脑USB口供电;DS18B20也可以根据需要用屏蔽电缆引出来。K1为进入/退出设置键;K2为增加键;K3为减少键。

老规矩废话不多说,先上实物图

51单片机控制的DS18B20温度测量报警系统(可设置范围)

电路设计原理图如下:

51单片机控制的DS18B20温度测量报警系统(可设置范围)

制作好的PCB成品如下:

51单片机控制的DS18B20温度测量报警系统(可设置范围)

因为项目比较简单就不放一些具体的工艺图片了

本项目C语言参考源代码 如下:

define DQ P3_6 //定义DS18B20总线I/O

/*****延时子程序*****/

void Delay_DS18B20(int num)

{

while(num--) ;

}

/*****初始化DS18B20*****/

void Init_DS18B20(void)

{

unsigned char x=0;

DQ = 1; //DQ复位

Delay_DS18B20(8); //稍做延时

DQ = 0; //单片机将DQ拉低

Delay_DS18B20(80); //精确延时,大于480us

DQ = 1; //拉高总线

Delay_DS18B20(14);

x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败

Delay_DS18B20(20);

}

/*****读一个字节*****/

unsigned char ReadOneChar(void)

{

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_DS18B20(4);

}

return(dat);

}

/*****写一个字节*****/

void WriteOneChar(unsigned char dat)

{

unsigned char i=0;

for (i=8; i>0; i--)

{

DQ = 0;

DQ = dat&0x01;

Delay_DS18B20(5);

DQ = 1;

dat>>=1;

}

}

/*****读取温度*****/

unsigned int ReadTemperature(void)

{

unsigned char a=0;

unsigned char b=0;

unsigned int t=0;

float tt=0;

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0x44); //启动温度转换

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0xBE); //读取温度寄存器

a=ReadOneChar(); //读低8位

b=ReadOneChar(); //读高8位

t=b;

t<<=8;

t=t|a;

tt=t*0.0625;

t= tt*10 0.5; //放大10倍输出并四舍五入

return(t);

}

鉴于篇幅有限,只能写部分代码,如需要完整技术文件请私信我或者在下方留言,看到后会第一时间回复。如果有不同的意见或者建议欢迎大家批评指正,让我们一起学习,共同进步!

最后祝大家学业有成,如果有兴趣也可以跟着做一做哦!

    相关阅读

    三相四线空开的接线图说明

    有关三相四线空开怎么接线的问题,在电路接线过程中,空气开关 是三根线,三相四线也称为动力线,黄绿红或ABC相,把三根火线 接入空开的上桩头。 三相四线空开的接线图 在漏电开...
    2022-12-15
    三相四线空开的接线图说明

    空调铜管裸露在外面有什么影响?

    几十年前安装的空调,铜管都是裸露的,没有现在这么讲究,但制冷制热效果一样杠杠的。先抛开“空调用铜管还是铝管好 ”不说,单从使用者的角度来说,将铜管裸露在外是有影响的...
    2022-12-12
    空调铜管裸露在外面有什么影响?

    空调小管(供液管)结霜是什么原因

    空调空调小管(供液管)结霜,常见原因如下: 1、缺冷媒 当空调中缺少冷媒时,极有可能出现空调结霜 现象。解决办法:及时查漏补漏,添加适量的制冷剂,使空调恢复运行。 2、系统...
    2022-12-12
    空调小管(供液管)结霜是什么原因

    脉冲电子电表怎么偷电,一招教会你偷电方法

    用来偷电的方法有多种,对于脉冲电子表应该怎么偷电,其实这个偷电方法很简单的,只需要拔掉一根线就可以达到偷电的目的了,一起来了解下吧。 脉冲电子电表的偷电方法 说明:...
    2022-12-17
    脉冲电子电表怎么偷电,一招教会你偷电方法

    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    有关LED灯的使用问题,晚上关了LED灯或者节能灯后,会发现仍然有微亮的光线,这种称之为“鬼火”,怎么来解决关了LED灯仍然微亮的问题,这里分享了二种解决方法,加中间继电器...
    2022-12-23
    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    有关小牛电动车解限速的方法,可以破解20公里限速的,破解流程不复杂,只要6个步骤就可以搞定,小牛电动车怎么解锁限速,可以来试一试本文给出的解锁限速的方法。 小牛电动车解...
    2022-12-13
    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    空调指示灯亮着会不会费电,一年能费多少度电

    对于空调指示灯亮着会不会费电的问题,会费电,这个不用怀疑。无论哪一种电器设备,哪怕是微小的指示灯,也会是费电的,只是费电量微乎其乎,一年消耗的电量可以忽略不计。...
    2022-12-23
    空调指示灯亮着会不会费电,一年能费多少度电

    雅迪电动车怎么解除25码,附详细解限速步骤说明

    雅迪电动车解除25码限速的方法 方法1:先不要打开电源,捏住刹把,调速把转到底,立即打开电源,在捏住刹把状态下连续转动调速把到最大限度3次,第三次调速把转到底保持5至8秒,...
    2022-12-13
    雅迪电动车怎么解除25码,附详细解限速步骤说明

    网站栏目