单片机课程设计——基于51单片机的温度控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告
题目:温度控制系统设计
学院:通信与信息工程学院
专业:测控技术与仪器专业
班级:测控三班
成员:徐郡
二〇一四年六月十二日
一、引言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。
传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。
因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。
本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。
课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。
本设计具有操作方便,控制灵活等优点。
本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。
文中对每个部分功能、实现过程作了详细介绍。
整个系统的核心是进行温度监控,完成了课题所有要求。
二、实验目的和要求
2.1学习DS18B20温度传感芯片的结构和工作原理。
2.2掌握LED数码管显示的原理及编程方法。
2.3掌握独立式键盘的原理及使用方法。
2.4掌握51系列单片机数据采集及处理的方法。
三、方案设计
总体设计方案采用AT89C52单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由5个模块组成:主控制器、测温电路、显示电路、控制电路、报警及指示电路。
主控制器由单片机AT89C52实现,测温电路由DS18B20温度传感器实现,显示电路由4位LED数码管直读显示,,报警指示电路由蜂鸣器和发光二级管构成,控制电路由按键构成。
本设计所使用的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等特点,其输出温度采用数字显示,主要用于对温度的精度要求较高的场所,或科研实验室使用,并且加有报警装置,超过限制温度可发出报警信号,还可以调整报警上下限温度。
该设计控制器使用单片机AT89C52,测温传感器使用DS18B20,用4位共阳极LED数码管以I/O口传送数据,实现温度显示,能准确达到以上要求。
四、实验原理
利用温度传感器芯片监测环境温度,将温度信号转换为数字信号传送到单片机内部,单片机通过对温度数据进行处理,利用四位八段数码管显示环境温度,并利用蜂鸣器和发光二极管发出超限警报信号。
通过按键操作可以改变报警温度的上下限。
五、材料清单
六、基本芯片及其原理
6.1单片机
89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS 产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM 定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
本次课程设计所使用的单片机为STC89C52单片机,是深圳宏晶科技生产的完全兼容INTEL公司MCS-51系列的单片机。
6.2温度传感器及其原理
传感器DS18B20具有体积小、精度高、适用电压宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使用户可以充分发挥“一线总线”的优点。
同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
6.2.1 DS18B20的特性
(1)适应电压范围更宽,电压范围:3.0~5.5V,寄生电源方式下可由数据
线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
6.2.2 DS18B20内部结构及DS18B20的管脚排列
64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。
不同的器件地址序列号不同。
DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
DS18B20的引脚定义:
图一DS18B20引脚定义
(1)DQ为数字信号输入/输出端。
(2)GND为电源地。
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
6.2.3 DS18B20的编程
(1)DS18B20的初始化:
①先将数据线置高电平“1”。
②延时(该时间要求的不是很严格,但是尽可能的短一点)
③数据线拉到低电平“0”。
④延时750us(该时间的时间范围可以从480us到960us)。
⑤数据线拉到高电平“1”。
⑥延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。
据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
⑦若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。
⑧将数据线再次拉高到高电平“1”后结束。
初始化程序代码如下:
void ds_reset(void)
{
char presence=1;
while(presence)
{
while(presence)
{
DQ=1;
_nop_();
_nop_();
DQ=0;
delay(50);
DQ=1;
delay(6);
presence=DQ;
}
delay(45);
presence=~DQ;
}
DQ=1;
}
(2)DS18B20的写操作:
①数据线先置低电平“0”。
②延时确定的时间为15us。
③按从低位到高位的顺序发送字节(一次只发送一位)。
④延时时间为45us。
⑤将数据线拉到高电平。
⑥重复上(1)到(6)的操作直到所有的字节全部发送完为止。
⑦最后将数据线拉高。
写操作程序代码如下:
void ds_write(uchar ds_wrdata)
{
uchar i;
for(i=8;i>0;i--)
{
DQ=1;
_nop_();
_nop_();
DQ=0;
_nop_();
_nop_();
_nop_();
_nop_();
DQ=ds_wrdata&0x01; //最低位移出
delay(6);
ds_wrdata=ds_wrdata/2; //右移1位
}
DQ=1;
delay(1);
}
(3)DS18B20的读操作:
①将数据线拉高“1”。
②延时2us。
③将数据线拉低“0”。
④延时15us。
⑤将数据线拉高“1”。
⑥延时15us。
⑦读数据线的状态得到1个状态位,并进行数据处理。
⑧延时30us。
读操作程序代码如下:
uchar ds_read(void)
{
uchar i;
uchar value=0;
for(i=8;i>0;i--)
{
DQ=1;_nop_();
_nop_();
value>>=1;
DQ=0;
_nop_();
_nop_();
_nop_();
_nop_();
DQ=1;
_nop_();
_nop_();
_nop_();
_nop_();
if(DQ)value|=0x80;
delay(6);
}
DQ=1;
return(value);
}
6.2.4 DS18B20传感器的温度数据关系:
图二温度传感器的温度数据关系
6.2.5 DS18B20的外部电源供电方式:
在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。
图三 外部电源供电连接图
七、系统框图
本系统设计由5个模块组成:主控制器(单片机)、温度采集模块、温度显示模块、控制电路模块、报警及指示模块。
主控制器由单片机AT89C52实现,测温电路由DS18B20温度传感器实现,显示电路由4位LED 数码管直读显示,报警指示电路由蜂鸣器和发光二级管构成,控制电路由按键构成。
系统框图如下:
图四 系统框图
温度显示
温度采集 控制按键 报警指示
P1.0 P1.3~P1.7
P0.0~P0.7 P2.0~P2.3
P3.0~P3.3
单
片机
八、工作流程图
8.1主程序流程图
图五主要功能流程图
图六指示、报警模块流程图
图七
九、硬件电路图
图八显示模块
图九按键控制模块
图十报警、指示电路图十一温度传感器连接图
图路电件硬体整二十图
十、总结
通过做本课题,使我们了解传感器的基本理论知识,更深入的了解单片机的开发应用和PC编程控制。
为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心。
同时也培养了我们认真的做事态度。
从得到题目到查找资料,从对题目的研究设定到电路图的设计,电路图的设计到程序设计……在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我们感触颇深,它是对我们的钻研精神,创新精神,面对困难的心态,做事的毅力和耐心的考验。
我们在这个过程中深刻的感受到了做设计的意义所在,和我们一样真正投入了身心去做的人也一定会有同样的感触。
本课题的重点、难点是:
●初步接触温度传感器,要对传感器的原理、结构、应用等各方面从头开
始琢磨。
●考究调整电路的实现过程以及怎么样通过单片机来间接的控制。
●从仿真电路到实际电路的调试。
十一、参考文献
[1] 倪云峰.单片机原理及应用[M].西安:西安电子科技大学出版社,2009.
[2] 刘娟.单片机C语言与protues. 北京:中国电力出版社,2010.7
[3] 张齐.单片机原理与应用系统设计.北京:电子工业出版社,2010.2
十二、附件
附件一:软件源代码。