目 录
一、主要功能
基于51单片机,具有晶振电路、复位电路、DS18B20温度传感器、LED灯和蜂鸣器灯光报警模块、LCD1602显示模块、L298N驱动电机散热模块和按键模块。
主要功能:
系统开始运行,显示屏显示最大温度阈值和最小温度阈值,并且通过DS18B20温度传感器读取当前温度值显示出来,和显示当前的状态。可以通过按键来增减温度上限阈值和温度下限阈值,如果当前温度在阈值之内,显示状态位正常;温度超过最大阈值,灯光报警模块启动,散热模块启动,驱动电机转动,实现降温功能;温度低于最小阈值,灯光报警模块启动,加热模块启动,告知人们正在加热升温。
主要实现要求:
1、温度采集
2、温度上下限调值
3、超值报警,具有加热和降温功能
4、LCD1602液晶显示温度、状态
二、硬件资源
1、51单片机最小系统
2、电机模块
3、按键模块
4、蜂鸣器和LED灯模块
5、LCD1602显示模块
6、DS18B20温度传感器模块
三、程序编程
/*****************************************************************************************************************************
CSDN 夜间去看海制作
*******************************************************************************************************************************/
#include <REGX52.H>
#include<intrins.h>
#include<stdio.h>
#include "Delay.h"
#include "LCD1602.h"
#define uchar unsigned char
#define uint unsigned int
sbit led = P1^7; //LED灯引脚
sbit P22 = P2^5; //蜂鸣器引脚
sbit DS=P2^4; //DS18B20温度传感器
sbit Motor1_IN1 = P2^0; //电机IN口
sbit Motor1_IN2 = P2^1;
sbit Motor1_EN = P2^3; //电机使能端
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
unsigned char count;
typedef unsigned char u8;
typedef unsigned int u16;
static flag=1,flag1=1;
static int n1=1;
static uint temp;
static float ftemp = 0.0f;//温度转变
uint temp;
static unsigned char num;
static int maxnumber=60,minnumber=30;
int i=0;
static int c,temp1;
void tmpchange(