基于51单片机的温度报警系统

本文详细介绍了基于51单片机的温度报警系统设计,包括温控系统概念、设计目的、C51程序设计和Proteus仿真实现。通过该系统,可以实现温度数据采集、显示、控制及报警功能,加深了对51单片机和C语言的理解与应用。
摘要由CSDN通过智能技术生成

目录

前言

一、温控系统是什么?

二、设计目的

1.环境需求

2.设计基础

三、设计

1.C51程序设计

2.Proteus仿真

(1).元器件如下

(2).原理图。

总结


前言

微型计算器自20世纪70年代诞生以来,得以迅速发展、普及和应用。随着增强型8051单片机和嵌入式微处理器技术的飞速发展,以及单片机C语言应用的普及,单片机应用领域越来越广泛。

 

一、温控系统是什么?

随着社会的快速发展,科技的加速进步,测温仪器在各个领域应用越来越广泛,自动化和智能化已经成为现代的温度控制系统的主流发展方向。因为各行各业对于温度控制有着越来越高的要求,所以对温度的控制和测量就显得较为重要。温度控制器的使用范围越来越广泛,各种能够应用于不同领域的智能自动温度控制器随着产生。自动温度控制系统主要完成数据采集,温度定时的显示,温度控制,温度定时的设定以及报警等功能.

二、设计目的

对51单片机所学知识进一步强化理解和应用。

1.环境需求

软件:Proteus  (文章中使用Proteus 8.6)

          Keil (文章中使用Keil C51)

2.设计基础

掌握《C语言》、《单片机原理及应用》两门课程。

三、设计

1.C51程序设计

/*-----------------------------------------------
  名称:18B20温度测量报警
  内容:在LCD1602第一行可以显示当前温度,
		第二行显示设定的温度区间,超过此温度区间,蜂鸣器报警。
		温度区间可以通过用户按键设置
------------------------------------------------*/
#include<reg51.h>     //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<math.h>
#include<INTRINS.H>

#define uchar unsigned char
#define uint unsigned int 
/******************************************************************/
/*                    定义端口                                    */
/******************************************************************/
sbit led1=P1^3;// 温度超出范围指示灯
sbit led2=P1^4;

sbit buzzer=P3^3;//蜂鸣器引脚

sbit DQ=P3^7;//ds18b20 端口

sbit RS = P0^4;//1602数据/命令选择端(H:数据寄存器L:指令寄存器) 
sbit RW = P0^5;//1602读/写选择端 
sbit E  = P0^6;//1602使能信号端

sbit key1=P3^4;//用户按键
sbit key2=P3^5;
sbit key3=P3^6;
/******************************************************************/
/*                    全局变量                                    */
/******************************************************************/
int temp;//测得温度
char temp_max=40,temp_min=10;//设定的温度 
char TempH,TempL;
uchar flag_get,num=0;
uchar code tab[]={'0','1','2','3','4','5','6','7','8','9'};//液晶显示
uchar tab1[]="min:010  max:040";//液晶第二行显示内容
uchar  str[8];
/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void delay1(uint i)//短延时函数
{
 	while(i-
评论 188
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值