基于单片机的锅炉报警系统 课程设计
一、引言
随着科技的不断发展,人们对生活质量的要求越来越高。在冬季寒冷的气候条件下,锅炉成为了人们取暖的重要设备。然而,由于各种原因,锅炉在使用过程中可能会出现故障,如果没有及时处理和修复,将会对人们的生命财产安全造成威胁。因此,在本课程设计中,我们将基于单片机技术设计一款锅炉报警系统。
二、系统设计
1. 系统功能
本系统主要实现以下功能:
(1)检测锅炉温度和水位;
单片机printf函数(2)当温度或水位超出正常范围时,发出报警信号;
(3)通过LCD显示当前锅炉温度和水位。
2. 系统硬件设计
本系统采用AT89C51单片机作为控制核心,并配合温度传感器、水位传感器、蜂鸣器、LCD等外围设备完成系统功能。
(1) AT89C51单片机
AT89C51是一种高性能CMOS 8位微控制器,具有8KB Flash程序存储器、128字节RAM数据存储器和32个I/O口。它具有很强的扩展能力,可以与各种外围设备配合使用。
(2) 温度传感器
温度传感器采用DS18B20数字温度传感器,它具有精确度高、体积小、功耗低等特点。通过单总线接口,可以实现多个传感器的数据采集。
(3) 水位传感器
水位传感器采用浮球式水位开关,当水位超出预设范围时,开关输出信号。
(4) 蜂鸣器
蜂鸣器作为报警信号输出设备,当温度或水位超出正常范围时,发出报警声音。
(5) LCD显示屏
LCD显示屏用于显示当前锅炉温度和水位信息。
3. 系统软件设计
本系统主要由两部分组成:单片机程序和PC机上位机程序。
(1) 单片机程序
单片机程序主要实现以下功能:
① 初始化各个外围设备;
② 循环读取温度和水位数据;
③ 判断数据是否超出正常范围;
④ 如果超出范围,则发出报警信号;
⑤ 将当前温度和水位信息通过LCD显示。
(2) PC机上位机程序
PC机上位机程序主要实现以下功能:
① 通过串口与单片机通信,获取温度和水位数据;
② 将数据显示在PC机上。
三、系统实现
1. 硬件连接
将AT89C51单片机与温度传感器、水位传感器、蜂鸣器、LCD等外围设备连接好。
2. 软件编写
(1) 单片机程序编写
单片机程序采用Keil C51编写,主要代码如下:
#include <reg52.h>
#include <stdio.h>
#include "lcd.h"
sbit DQ=P3^7; //定义DS18B20的DQ引脚
void Delay10us() //10us延时函数
{
    unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=2;a>0;a--);
}
void Delayms(unsigned int ms) //ms延时函数
{
    unsigned int i,j;
    for(i=0;i<ms;i++)
        for(j=0;j<114;j++);
}
unsigned char Init_DS18B20() //初始化DS18B20
{
    unsigned char i;
    DQ=1;
    Delay10us();
    DQ=0;
    Delayms(20);
    DQ=1;
    Delay10us();
    i=DQ; //读取DS18B20的应答信号
    Delay10us();
    return i;
}
void Write_DS18B20(unsigned char dat) //向DS18B20写入一个字节数据
{
    unsigned char j;
    for(j=8;j>0;j--)
        {
            DQ=0;
            Delay10us();
            DQ=(dat&0x01);
            Delay10us();
            DQ=1;
            dat>>=1;