基于单片机DS18B20温度报警系统 无线蓝牙显示

发布者:心动代码最新更新时间:2023-09-27 来源: elecfans关键字:单片机  DS18B20  温度报警系统 手机看文章 扫描二维码
随时随地手机看文章

一、系统方案
随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到。这些技术的发展有效的带动着社会生产力的发展和信息化的提高,同时电子产品也越来越智能。


本设计采用AT89C51单片机为主控芯片,采用数字型防水温度传感器DS18B20制作温度检测报警器,通过四位数码管显示温度值,系统设立几个按键,可以通过按键进行设置温度的上、下限值,当所采集温度超过设定值时,系统会控制蜂鸣器和对应LED发出声光报警。这个设计简单、成本低、具有实用性。

wKgaomS6V8GAFRAIAAAbkScxwko851.png


二、硬件设计
原理图如下:

wKgZomS6V8iAYsxdAABISBUIH3Y873.png

三、单片机软件设计
1、首先是串口初始化:
void Uart_init()
{

TMOD=0x20;//定时器0工作方式1

EA=1;//开总中断


TH1=0xfd;
TL1=0xfd;
TR1=1;
ET1=0;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}

2、中断服务程序
void Usart() interrupt 4
{
receiveData=SBUF;//出去接收到的数据
RI = 0;//清除接收中断标志位
ES=0;
SBUF=receiveData;//将接收到的数据放入到发送寄存器
while(!TI); //等待发送数据完成
TI=0; //清除发送完成标志位
ES=1;
}
3、按键检测程序
/*****外部中断0服务程序*****/
void int0(void) interrupt 0
{
EX0=0; //关外部中断0
if(DEC==0&&set_st==1)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(shangxian);
}
while(DEC==0);
if(H_ZF==0&&L_ZF==0)
{
shangxian--;
if(shangxian<=xiaxian+1)
shangxian=xiaxian+1;
}
else if(H_ZF==0&&L_ZF==1)
{
shangxian--;
if(shangxian<0&&xiaxian==1)
{
shangxian=0;
H_ZF=0;
}
else if(shangxian<0&&xiaxian>1)
{
shangxian=1;
H_ZF=1;
}
}
else if(H_ZF==1)
{
shangxian++;
if(shangxian>=xiaxian-1)
shangxian=xiaxian-1;
}
}
else if(DEC==0&&set_st==2)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(xiaxian);
}
while(DEC==0);
if(L_ZF==0)
{
xiaxian--;
if(xiaxian<0)
{
xiaxian=1;
L_ZF=1;
}
}
else if(L_ZF==1)
{
xiaxian++;
if(xiaxian>=55)
{
xiaxian=55;
}
}
}
}
/*****外部中断1服务程序*****/
void int1(void) interrupt 2
{
EX1=0; //关外部中断1
if(ADD==0&&set_st==1)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(shangxian);
}
while(ADD==0);
if(H_ZF==0)
{
shangxian++;
if(shangxian>=125)shangxian=125;
}
else if(H_ZF==1)
{
shangxian--;
if(shangxian<=0)
{
shangxian=0;
H_ZF=0;
}
}
}
else if(ADD==0&&set_st==2)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(xiaxian);
}
while(ADD==0);
if(L_ZF==0)
{
xiaxian++;
if(xiaxian>=shangxian-1)
xiaxian=shangxian-1;
}
else if(H_ZF==0&&L_ZF==1)
{
xiaxian--;
if(xiaxian<=0)
{
if(shangxian==0)
{
xiaxian=1;
L_ZF=1;
}
else
{
xiaxian=0;
L_ZF=0;
}
}
}
else if(H_ZF==1&&L_ZF==1)
{
xiaxian--;
if(xiaxian<=shangxian+1)
xiaxian=shangxian+1;
}
}
}
4、核心算法程序
/*****读取温度*****/
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;
if(t&0xf800)
{
t=~t+1;
fuhao=1;
}
else
fuhao=0;
tt=t*0.0625;
t= tt*10+0.5; //放大10倍输出并四舍五入
return(t);
}
四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。

wKgaomS6V9KAfQCgAAEzy1a0TDw562.png


关键字:单片机  DS18B20  温度报警系统 引用地址:基于单片机DS18B20温度报警系统 无线蓝牙显示

上一篇:使用单片机实现无线控制家电报警器的资料说明
下一篇:AT89C52单片机对电风扇红外遥控发射电路的设计

推荐阅读最新更新时间:2024-11-09 05:01

C51——STC89C51RC单片机的基本特性
STC89C51RC单机是STC公司推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统的8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。其中HD版本和90C版本内部集成了MAX810专用复位电路。该电路在6MHz时可以稳定工作,如果系统工作在12Mhz或以上,建议使用外部RC上电复位电路。 主要特点有: 1. 指令代码完全兼容传统8051单片机; 2. 工作电压范围:3.3V - 5.5V; 3. 工作频率范围:0 - 40MHz,实际工作频率可以达到48MHz; 4. 用户应用存储空间:8KB Flalsh 5. 片上RAM资源:512B 6. GPIO数量:35个 7. 程序下载方式:Rx
[单片机]
如何快速零基础到入门51单片机(二)
此讲我们主要介绍如何安装Keil5与STC-ISP 一 Keil5软件一共有许多版本,我们现在学的是51单片机所以我们要选择C51这个版本。(建议使用破解版) 华维单片机编程:免费领!单片机入门到高级开挂学习路径(附教程+工具) 37 赞同 · 8 评论 文章 破解版使用方法:先打开Keil_Lic.exe,然后进入Keil软件时不能双击进入,要先点击鼠标右键,选择以管理员的身份进入. 点击File然后选中License Management(许可证管理),把CID中的内容复制下来,填入Keil_Lic.exe中的CID处,点击生成按钮,然后把生成的代码复制,退出Keil_Lic.exe,回到K
[单片机]
如何快速零基础到入门51<font color='red'>单片机</font>(二)
消息称汽车MCU、MPU后端需求保持强劲
8月19日,据DIGITIMES报道,供应链消息人士称,汽车MCU和MPU的后端需求仍处于高速发展阶段,OSAT和封装材料供应商在今年年底前都能看到清晰的订单。 消息人士表示,包括日月光科技在内的领先OSAT公司已经从国际IDM公司获得了未来两个季度的汽车MCU后端外包订单,帮助支持此类芯片的主流QFP工艺所需引线框架的出货势头。 消息人士称,中国台湾的后端合作伙伴从2022年第三季度开始与美国、日本和欧洲的IDM商谈2023年的订单,发现这些IDM厂商对2023年下半年的业务前景变得谨慎。 消息人士指出,汽车芯片IDM预计将在2023年下半年略微减少外包后端业务的订单,但明年下半年汽车MCU和MPU的需求是否会出现逆
[汽车电子]
STM32F103单片机时钟树结构图及时钟配置
2.1 时钟树结构图 STM32属于Cortex-M3内核的单片机,时钟结构比之前的51单片机较复杂的多,根据数据手册,STM32F103的时钟结构如下图所示。 根据上图可以看到,STM32F103系列单片机具有4个时钟源,内部的8MHz时钟发生器,外部的晶体振荡器接口,最高支持16MHz,外部的32.768kHz晶体振荡器接口和内部的40kHz时钟发生器,其中32.768kHz和40kHz主要用于内部RTC时钟脉冲,8MHz的晶振通过PLL时钟倍乘器,将系统总线时钟提高为72MHz。 STM32F103系列内部具有2条外设时钟总线,APB1和APB2,其中APB2的时钟最高可达72MHz,APB1的时钟最高可达36MHz
[单片机]
STM32F103<font color='red'>单片机</font>时钟树结构图及时钟配置
车规MCU的启动加载程序是什么
启动加载程序(bootloader) 车规MCU的启动加载程序(bootloader)是一种用于在汽车电子控制单元(ECU)上加载和更新应用程序的软件。它具有以下主要功能和实现要点: 引导加载:启动加载程序负责在MCU上启动和加载应用程序。它通过读取存储器中的引导加载代码,并将其加载到MCU的内部存储器中执行,从而启动应用程序。 存储器管理:启动加载程序需要管理存储器的分区和使用。它负责将应用程序加载到正确的存储器区域,并确保存储器的正确初始化和擦除。 通信接口:启动加载程序通常通过车辆网络(如CAN和LIN总线)或其他通信接口与外部设备(如诊断工具或服务器)进行通信。它使用这些接口来接收新的应用程序固件,并将其写入MCU的存
[嵌入式]
8051单片机-多机通信的研究
单片机构成的多机通信系统中常采用总线型主从式结构。在多个单片机组成的系统中,只允许存在一个主机,其他的就是从机,从机要服从主机的控制,这就是总线型主从式结构。 当51单片机进行多机通信时,串口要工作在方式2和方式3。假设当前多机通信系统有1个主机和3个从机,从机地址分别是00H、01H、02H。如果距离很近它们直接可以以TTL电平通信,一旦距离较远的时候,常采用RS-485串行标准总线进行数据传输。 为了区分是数据信息还是地址信息,主机用第九位数据TB8作为地址/数据的识别位,地址帧的TB8=1,数据帧的TB8=0。各从机的SM2必须置1。 在主机与某一从机通信前,先将该从机的地址发送给各从机。由于各从机SM2=1,接
[单片机]
8051<font color='red'>单片机</font>-多机通信的研究
3、寄存器
单片机中各种针脚、串口、时钟、定时/计数器、看门狗等都需要通过软件来设置,这就要用到寄存器。 寄存器有很多要查阅的表格,根据具体的表格去理解各种设置。 如下表,与针脚设置有关的寄存器,Px是P0~P2。 由上表可知,SEL可以设置针脚为通用I/O还是外设I/O,具体参照下表。 例如,P1SEL &=~ 0x03,0000 0011位反运算后,P1_0、P1_1两个引脚为0,设置为通用I/O端口。以后具体的案例中会附上相应的寄存器列表。
[单片机]
3、寄存器
初学者想自学单片机需要买什么呢?
我刚开始学习单片机的时候一脸懵逼,看了下网上一些扫盲文。 模拟电路、数字电路、微机原理、C语言、寄存器、数据手册、数据结构等等一大堆专业名词… 不知道的还以为单片机是造导弹的技术…. 实际刚开始学根本用不着学这么多,无际从事单片机开发10余年,下面给大家捋一捋。 捋完你就会不禁来一句:卧槽,比哄女朋友简单多了! 学习单片机开发啊,不像学纯软件,能空手套白狼。 单片机开发是偏向硬件的编程,也就是写程序去控制硬件。 虽然网络喷子很多劝退的,说什么学得多,拿得少。 但我觉得起码学起来比纯软件有趣多了,至少不会说写半天程序,只是在电脑屏幕里打印冷冰冰的字符串。 基本学个几天,你就能电路板上的灯点起来,然后可以大胆地发挥你天马行空的想象。
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved