基于51单片机的温度控制系统的设计
- 格式:docx
- 大小:725.49 KB
- 文档页数:32
基于单片机的温度控制系统设计
1、设计要求
要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下:
①数码管或液晶显示屏显示室内当前的温度;
②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别就是设置键、加 1 键、减 1 键与启动/复位键;
③DS18B20温度采集;
④超过设置值的芳C时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。
2、方案论证
根据设计要求,本次设计就是基于单片机的课程设计, 由于实现功能比较简单我们学习中接触到的51 系列单片机完全可以实现上述功能, 因此可以选用
AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警与指示模块中,可以选用 3 种不同颜色的LED 灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。
方案一:使用LED 数码管显示采集温度与设定温度;
方案二:使用LCD 液晶显示屏来显示采集温度与设定温度。
LED 数码管结构简单, 使用方便,但在使用时,若用动态显示则需要不断更改位选与段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD 显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但就是编程要求比LED 数码管要高。综合考虑之后,我选用了LCD 显示屏作为温度显示器件, 由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度, 可以直观的瞧到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。
3、硬件设计
根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD显示模块、报警与指示模块。其相互联系如下图1所示:
图1硬件电路设计框图
3、1单片机时钟电路
形成单片机时钟信号的方式有内部
时钟方式与外部时钟方式。本次设计采用
内部时钟方式,如图2所示。
单片机内部有一个用于构成振荡器
的高增益反相放大器,引脚XTAL1与
XTAL2分别为此放大器的输入端与输出端,
其频率范围为1、2~12MHz,经由片外晶体
振荡器或陶瓷振荡器与两个匹配电容一起
形成了一个自激振荡电路,为单片机提供时钟源。
3、2复位电路
复位就是单片机的初始化操作,其作用就是使CPU与系统中的其她部件都处于一个确定的初始状态,并从这个状态开始
工作,以防止电源系统不稳定造成CPU 工作
不正常。在系统中,有时会出现工作不正常
的情况,为了从异常状态中恢复,同
图2单片机内部时钟方式电路
图3单片机按键复位电路
时也为了系统调试方便,需要设计一个复位电路。
单片机的复位电路有上电复位与按键复位两种形式 ,因为本次设计要求需要 有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统的上 电复位与系统在运行时用户的按键复位功能。 3、3键盘接口模块
本次设计需要的按键有 4个,除去 圖 一个复位按键外,还有3个功能按键,因 千 口
此选择独立式键盘。如图4,将键盘直接 与单片机 P1 口的 P1、0、P1、1、P1、 2相连。3个键设计思路如下:当按下S1 键时,系统进入上下限警戒值调整状态; 当第一次按下S1键时,进行上限警戒值 设定,当第二次按下S1键时,进行下限警 戒值设定,当第三次按下S1键时,回到正常工作
状态。在警戒值调整状态下,按下 S2键,上下限警戒值加1,按下S3键,上下限警戒值减1,正常工作状态下,按下S2 与S3键无作用。 3、4温度采集模块
本次设计中的温度传感器使用的就是 DALLAS 公司的单总线数字温度传感 器DS18B20,这就是一种常用的温度传感器,具有体积小、硬件开销低、抗干扰能 力强、精度高的特点。
DS18B20采用独特的一线接口,具有只需要一条口线通信多点的能力,简化了 分布式温度传感应用,无需外部元件。可用数据总线供电,电压范围为3、0 V 至5、 5V,测量温度的范围为-55C 至+125 C ,在-10C 至+85C 范围内精度为±)、5C 。
图4键盘接口模块
S3
温度传感器可编程的分辨率为 9~12位,温度转换为12位数字格式最大值为 750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系
统、消费电子产品温度计、或任何热敏感系统。由于
DS18B20就是一条口线通
信,所以中央微处理器与DS18B20只有一个一条口线连接。因为每一个DS18B20 的包含一个独特的序号,多个DS18B20可以同时存在于一条总线,这使得温度传 感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温 设备或机器,并进行过程监测与控制。
图5 DS18B20封装及引脚
DS18B20的核心功能就是它的直接读数字的温度传感器。温度传感器的精 度为用户可编程的9、10、11或12位,分别以0、5C ,0、25C ,0、125 E 与0、0625C 增量递增。在上电状态下默认的精度为 12位。DS18B20启动后保持低功耗等待 状态;当需要执行温度测量与AD 转换时,总线控制器必须发出[44h ]命令。在那之 后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器
中QS18B20继续保持等待状态。当 DS18B20由外部电源供电时,总线控制器在 温度转换指令之后发起“读时序”
QS18B20正在温度转换中返回0,转换结束返
回1。如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉 拉高,否则将不会由返回值。
在硬件上QS18B20与单片机的连接有两种方法:一种就是VDD 接外部电 源,GND 接地,DQ 与单片机的I/O 口相连;另一种就是用寄生电源供电,此时,VDD 、 GND 接地,DQ 接单片机的I/O 口。无论就 是接外部电源还就是用内部寄生电源 ,I/O 口线要接5k Q 左右的上拉电阻。
本次设计中,采用外部电源方式,其连
GND
DALLAS
DS1B20
1 2 3
sh 】1 NC
7
1 NC
©
]NC
5
可脚
功能 GND
接地
DQ
数掳输入丿输出,对于单线操 作,漏概幵路°当工作在寄生 电源棋式时用来提供电瀬<■
VDD
可选的VDD 引即。工作于寄 生电源橫式时VDD 必须接地心
HOTTCJM VII-W
DS IKB20 To-^2
NC
口1
NC III v m czn DU [ "[J