论文部分内容阅读
[摘 要]本论文根据日常生活及工业生产过程中对温度检测及控制的需求,设计了一种实时温度监控系统。该系统以C8051F320单片机为控制核心,利用DS18B20温度传感器对温度进行检测,通过继电器控制加热及吹风设备,从而实现了对温度的实时检测和自动控制。另外,该系统还具有良好的人机交互界面,检测的实时温度可以同步显示,用户可以手动设置温度报警的上下限值,当检测温度越限值时就会发生报警。
[关键词]C8051F320单片机 DS18B20温度传感器 温度控制
中图分类号:TS761.6 文献标识码:A 文章编号:1009-914X(2016)22-0091-01
数字恒温温度控制系统的设计,是为了保证实现类似温室大棚温度维持在特定温度的应用,对于低碳排放,节约能源和环保有很重要的意义,以保证工作系统在稳定的状态下工作。本设计要求系统测量的温度的点数为4个。测量精度0.1℃测量,恒温控制范围为25℃~80℃。
1.系统分析
本课题使用了C8051F320单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用一个温度传感器对温度进行检测,通过4×4键盘模块对正常温度进行设置,显示电路采用 LCD1602模块,使用ULN2803作为加温设备和吹风设备的控制。根据数字温度恒温控制功能的要求,并结合对C51系列单片机的资源分析,所以采用C8051F320单片机作为电路系统的控制核心。数字温度恒温控制系统的总体布局如图1-1所示。按键将设置好的温度上限和下限值传给单片机,通过温度显示模块显示出来。温度限制设置好后,单片机开始运行,温度传感器受控现场各点温度,并通过一定的数字算法计算现场有效温度值,如果低于下限温度,则启动加热设备,并发出报警;如果高于上限温度,则启动吹风设备,并发出报警信号。如此循环反复以达到恒温控制的目的。
2.系统的软件设计
2.1 主程序设计
根据系统的总体功能分析,系统软件的主流程图如图2-1所示,主要完成对系统及LCD初始化、判断键盘是否有键按下、中断及数据处理、LCD温度显示、温度传感器DS18B20的匹配、报警判断子程序、继电器控制子程序。
2.2 子程序设计
2.2.1 温度采集程序设计
由于DS18B20采用严格的单线通信协议,编程必须按照时隙要求来进行。DS18B20 命令和数据的读写由主机来控制,包括初始化、ROM操作命令、RAM操作命令等。
(1)初始化:主机控制DS18B20完成任何操作之前必须先初始化
(2)ROM操作命令:由于本系统只一个DS18B20温度传感器存在 ,不需要指出某个特定的 DS18B20 ,所以主机只需发出跳过ROM命令即可。
(3)RAM操作命令:主机发出温度转换命令44H,DS18B20开始进行温度采集和转换。
DS18B20温度采集程序流程图如图2-2所示。
如果采用多个DS18B20温度传感器就必须匹配和接口允许,匹配的地址是激光烧写的单个DS18B20的64位ID(世界码唯一码)。
2.2.2 LCD显示子程序设计
首先对1602液晶显示器进行初始化,初始化后,进行显示模式设置,依次为显示清屏、显示光标移动设置,最后进行时间设置。1602液晶驱动程序流程图如图2-3所示。
2.2.3 键盘输入程序设计
当通电或复位以后,系统进入键盘管理状态,单片机接收设定温度和启动。当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键按下,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如80℃时就会报警,最后当启动键闭合时启动加热。
系统上电后,根据相应的状态,利用键盘进行相应设置,当温度设定好之后,再按OK键确定,系统开始测温。
键盘管理子程序流程如图2-4所示。
2.2.4 控制及報警程序设计
将当前温度与设定好的温度比较,若当前温度小于设定温度时,启动报警,开启电热器;若当前温度大于设定温度时,启动报警,开启吹风设备;当二者相等时,保持这一状态,并显示温度。
通过电路设计,配备相应的软件,该控制系统能够顺利运行,实验结果表明,基于C8051F320单片机的温度监控系统能够完成对温度的实时检测和控制,具有体积小、成本低、响应速度快、可靠性高和智能化程度高等特点。
参考文献:
[1] 单片机原理和应用,西安电子科技大学出版社,李建忠.
[2] C8051F320 Datasheet, (Silab公司).
[3] C语言程序设计, 清华大学出版社,谭浩强.
[4] 8051单片机C语言彻底应用,科学出版社,赖麒文.
[5] DS18B20 Datasheet单数字温度传感器.
[6] LCD1602 Datasheet LCD液晶显示设计.
[关键词]C8051F320单片机 DS18B20温度传感器 温度控制
中图分类号:TS761.6 文献标识码:A 文章编号:1009-914X(2016)22-0091-01
数字恒温温度控制系统的设计,是为了保证实现类似温室大棚温度维持在特定温度的应用,对于低碳排放,节约能源和环保有很重要的意义,以保证工作系统在稳定的状态下工作。本设计要求系统测量的温度的点数为4个。测量精度0.1℃测量,恒温控制范围为25℃~80℃。
1.系统分析
本课题使用了C8051F320单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用一个温度传感器对温度进行检测,通过4×4键盘模块对正常温度进行设置,显示电路采用 LCD1602模块,使用ULN2803作为加温设备和吹风设备的控制。根据数字温度恒温控制功能的要求,并结合对C51系列单片机的资源分析,所以采用C8051F320单片机作为电路系统的控制核心。数字温度恒温控制系统的总体布局如图1-1所示。按键将设置好的温度上限和下限值传给单片机,通过温度显示模块显示出来。温度限制设置好后,单片机开始运行,温度传感器受控现场各点温度,并通过一定的数字算法计算现场有效温度值,如果低于下限温度,则启动加热设备,并发出报警;如果高于上限温度,则启动吹风设备,并发出报警信号。如此循环反复以达到恒温控制的目的。
2.系统的软件设计
2.1 主程序设计
根据系统的总体功能分析,系统软件的主流程图如图2-1所示,主要完成对系统及LCD初始化、判断键盘是否有键按下、中断及数据处理、LCD温度显示、温度传感器DS18B20的匹配、报警判断子程序、继电器控制子程序。
2.2 子程序设计
2.2.1 温度采集程序设计
由于DS18B20采用严格的单线通信协议,编程必须按照时隙要求来进行。DS18B20 命令和数据的读写由主机来控制,包括初始化、ROM操作命令、RAM操作命令等。
(1)初始化:主机控制DS18B20完成任何操作之前必须先初始化
(2)ROM操作命令:由于本系统只一个DS18B20温度传感器存在 ,不需要指出某个特定的 DS18B20 ,所以主机只需发出跳过ROM命令即可。
(3)RAM操作命令:主机发出温度转换命令44H,DS18B20开始进行温度采集和转换。
DS18B20温度采集程序流程图如图2-2所示。
如果采用多个DS18B20温度传感器就必须匹配和接口允许,匹配的地址是激光烧写的单个DS18B20的64位ID(世界码唯一码)。
2.2.2 LCD显示子程序设计
首先对1602液晶显示器进行初始化,初始化后,进行显示模式设置,依次为显示清屏、显示光标移动设置,最后进行时间设置。1602液晶驱动程序流程图如图2-3所示。
2.2.3 键盘输入程序设计
当通电或复位以后,系统进入键盘管理状态,单片机接收设定温度和启动。当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键按下,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如80℃时就会报警,最后当启动键闭合时启动加热。
系统上电后,根据相应的状态,利用键盘进行相应设置,当温度设定好之后,再按OK键确定,系统开始测温。
键盘管理子程序流程如图2-4所示。
2.2.4 控制及報警程序设计
将当前温度与设定好的温度比较,若当前温度小于设定温度时,启动报警,开启电热器;若当前温度大于设定温度时,启动报警,开启吹风设备;当二者相等时,保持这一状态,并显示温度。
通过电路设计,配备相应的软件,该控制系统能够顺利运行,实验结果表明,基于C8051F320单片机的温度监控系统能够完成对温度的实时检测和控制,具有体积小、成本低、响应速度快、可靠性高和智能化程度高等特点。
参考文献:
[1] 单片机原理和应用,西安电子科技大学出版社,李建忠.
[2] C8051F320 Datasheet, (Silab公司).
[3] C语言程序设计, 清华大学出版社,谭浩强.
[4] 8051单片机C语言彻底应用,科学出版社,赖麒文.
[5] DS18B20 Datasheet单数字温度传感器.
[6] LCD1602 Datasheet LCD液晶显示设计.