当前位置:网站首页>基于单片机的DS18B20的数字温度监控报警系统设计【LCD1602显示+Proteus仿真+C程序+论文+按键设置等】
基于单片机的DS18B20的数字温度监控报警系统设计【LCD1602显示+Proteus仿真+C程序+论文+按键设置等】
2022-04-23 14:13:00 【蒋宇智】
注:获取全套资源,请见后文说明…
设计要求
1.测量温度值精度为±1℃;
2.系统允许的误差范围为1℃以内;
3.系统可由用户预设温度值,测温范围为-55℃~+125℃;
4.通过DS18B20传感器和系统连接,能实时准确检测到现场温度;
5.把现场实时检测到的温度值通过LCD1602液晶显示出来;
6.报警温度设定和报警:根据需要可以设置报警温度,并且当达到报警温度时会发出报警提示;
系统概述
本系统采用一种改进型温度传感器DS18B20作为检测元件,温度范围为-55~125ºC,最高分辨率可达0.0625ºC。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本设计是一种基于AT89C52单片机的温度监控系统仿真设计,系统采用DS18B20作为温度监测元件,测量范围-55℃-~+125℃,使用LCD1602液晶模块显示测取的温度值以及设定的温度上下限值,按键模块用来设置温度报警上下限。若当前获取的温度不在设定温度上下限范围内时,蜂鸣器报警,LED指示灯点亮,指示当前报警信息。
系统由4个部分组成,它们是AT89C52单片机最小系统(包括复位电路和晶振电路)、DS18B20采温模块、LCD显示模块、按键设置模块和报警模块,其设计框架如下。
仿真电路图
仿真结果运行
当从DS18B20采集到的温度低于温度下限时,仿真结果如下图所示,可知蓝色LED指示灯点亮,蜂鸣器报警。
部分C程序
主程序
void main()
{
init();//LCD初始化
Init_time();
Init_DS18B20();//DS18B20初始化
while(1)
{
if(s1==0||s1num>=1)
{
keyscan(); TR0 = 0; D1 = 1; D2 = 1;}//按键扫描
else
{
ReadTemp();//读取温度值
write_temp_value(0,temp_value);//LCD显示温度值
comp();
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}
/LCD初始化程序***/
void init()
{
lcden=0;
lcdrw=0;
write_com(0x38); //设置16x2 显示5x7 点阵,8 位数据接口
write_com(0x0c); //设置开始显示不显示光标
write_com(0x06); //写一个字符后地址指针加1
write_com(0x01); //显示清零数据指针清零
write_com(0x80); //将数据指针第一行第一个字处,
write_com(0x80+9); //定义当前指针位置
write_data(‘H’);
write_data(’:’);
write_data(’+’);
write_data(‘2’);
write_data(‘0’);
write_data(0xdf);
write_data(‘C’);
write_com(0x80+9+0x40); //定义当前指针位置
write_data(‘L’);
write_data(’:’);
write_data(’+’);
write_data(‘1’);
write_data(‘0’);
write_data(0xdf);
write_data(‘C’);
h=0x14;
l=0+0x0a;
D1=1;
D2=1;
figh=0;
figl=1;
}
资源分享内容有
(1)基于DS18B20的数字温度监控系统Proteus仿真毕设论文【完整版】;
(2)Proteus仿真文件;
(3)Keil C语言程序文件;
(4)参考文献资料(DS18B20、LCD1602手册等);
(5)Visio流程图文件;
分享如下
资源获取方法
资源获取方法
资源获取方法
重要的事情说三遍!!!!!!!!!!!
由于本设计为作者原创设计,获取完整的论文报告、Keil C程序、Proteus仿真、Visio流程图文件和参考文献资料。
请微信搜索关注公众号:交院小智
版权声明
本文为[蒋宇智]所创,转载请带上原文链接,感谢
https://blog.csdn.net/JiaoDaBoy/article/details/103198165
边栏推荐
猜你喜欢
随机推荐
单相交交变频器的Matlab Simulink建模设计,附Matlab仿真、PPT和论文等资料
flannel 原理 之 TUN模式
kprobe 的 3 种使用
js 进度条,显示加载进度
Get the thread return value. Introduction to the use of future interface and futuretask class
翻牌效果
man man随记和crontab的@reboot用法
After entering the new company, the operation and maintenance engineer can understand the deployment of the system from the following items
ansible及常用模块的使用
C语言知识点精细详解——初识C语言【1】
爬虫练习题(一)
Introduction to the use of countdownlatch and cyclicbarrier for inter thread control
js 抛物线运动方法封装
dp-能量项链
如何轻松做好一个项目
Qt界面优化:Qt去边框与窗体圆角化
51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码
顺序表的操作,你真的学会了吗?
Basic regular expression
剑指offer刷题(2)--面向华为