搜档网
当前位置:搜档网 › 单片机课程设计——基于51单片机的温度控制系统设计

单片机课程设计——基于51单片机的温度控制系统设计

单片机课程设计——基于51单片机的温度控制系统设计
单片机课程设计——基于51单片机的温度控制系统设计

单片机课程设计报告

题目:温度控制系统设计

学院:通信与信息工程学院

专业:测控技术与仪器专业

班级: 测控三班

成员: 徐郡

二〇一四年六月十二日

一、引言

温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。

随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。

作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。

为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。

本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。

二、实验目的和要求

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)和PLC C(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)

{

?uchari;

?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.5DS18B20的外部电源供电方式:

在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。

图三 外部电源供电连接图

七、系统框图

本系统设计由5个模块组成:主控制器(单片机)、温度采集模块、温度显示模块、控制电路模块、报警及指示模块。主控制器由单片机AT89C52实现,测温电路由DS 18B 20温度传感器实现,显示电路由4位LED 数码管直读显示,报警指示电路由蜂鸣器和发光二级管构成,控制电路由按键构成。

系统框图如下:

图四 系统框图

温度显示

温度采集 控制按键 报警指示

P1.0 P1.3~P1.7

P0.0~P0.7 P2.0~P2.3

P3.0~P3.3

片机

八、工作流程图

8.1主程序流程图

图五主要功能流程图

图六指示、报警模块流程图

图七

九、硬件电路图

图八显示模块

图九按键控制模块

相关主题