课程设计——温度控制器1_第1页
课程设计——温度控制器1_第2页
课程设计——温度控制器1_第3页
课程设计——温度控制器1_第4页
课程设计——温度控制器1_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、x x大学x x学院x x系课程设计报告x x大学x x学院x x课程设计基于单片机的温度控制器学生姓名学 号所在系专业名称班 级指导教师成绩x x大学x x学院二o 一年六月摘要:温度是生产过程和科学实验中普遍而且重要的物理参数。本文利用单片机结合 传感器技术而开发设计了这一温度监控系统。本文详细地讲述了基于单片机at89s51和 温度传感器ds18b20的温度控制系统的设计方案。系统采用数字温度传感器ds18b20采集 温度数据,lcd 1602同步显示温度设定值和当前测量值,可通过按键以1°c的步进改变温 度设定值,系统复位后默认设定温度值为40°co当温度低于设定值

2、时,单片机控制继电 器启动加热器加热,同时点亮红色发光二极管,当温度高于设定值时,加热器停止加热, 从而实现了测量和控制温度的目的。系统稍微改装可以作为生物培养液温度监控系统, 可以做热水器温度调节系统、实验室温度监控系统等等。系统具有控制方便、组态简单 和灵活性大等优点,经过反复测试,系统能够稳定运行。关键字:单片机,温度控制,传感器,lcd 1602abstract: temperature is a important physical parameters in production process and scientific experiments.the design and i

3、mplementation of temperature control system based on single chip microcontroller at89c51 and temperature transducer ds18b20, and this paper describes them in detail. the data of temperature are collected by ds18b20,lcd1062 display temperature settings and synchronize the current measured value; the

4、temperature settings can be change by the key-presses with 1 °c step. the default temperature value is 40 °c. when the temperature is under the settings, the heater starts with the red-led on,oppositely. when the temperature is higher than the settings the heater stopped heating.the system

5、 is very flexible and easy to control,a nd its con fig u rati on is simple. after repeated testi ng, the system can run stably.key words: single chip microcontroller, temperature control, sensor, lcd1602前言11总体设计方案11.1系统设计方案论证11.2系统结构框图12. 硬件设计22. 1元器件的选择22. 1. 1单片机的选择22.1.2传感器的选择22.2单片机控制模块32.3温度采集模

6、块42.4时间产生模块42.5显示模块52.6报警模块52.7控制模块63. 软件设计73.1主程序流程图73.2按键程序和主程序74. 系统调试134. 1测量方法134.2测试结果135. 设计总结156. 参考文献15附录16刖吞温度是生产过程和科学实验屮普遍而且重要的物理参数。在工业生产过程屮为了高 效地进行生产,必须对生产工艺过程中的主要参数,如温度,压力,流量,速度等进行 有效的控制。其中温度的控制在生产过程中占有相当大的比例。准确测量和有效控制温 度是优质,高产,低耗和安全生产的重要条件。在工业的研制和生产中,为了保证生产 过程的稳定运行并提高控制精度,采用微电子技术是重要的途径

7、。它的作用主要是改善 劳动条件,节约能源,防止生产和设备事故,以获得好的技术指标和经济效益。作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、 自动控制原理、传感器原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面 的知识,是对所学知识的一次综合测试。能够提高学生的对所学知识的综合运用能力, 更能锻炼学生的团队协作能力。本课题采用51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性 大等优点,而且可以大幅度提高被控温度的技术指标。另外,温度传感器方面,选用了 ds18b20,它属于新一代适配微处理器的智能温度传感辭,可广泛用于工业、民用、军事 等领域的温度

8、测量及控制仪器、测控系统和大型设备中。具有体积小,接口方便,传输 距离远等特点。ds18b20采用单总线专用技术,既可通过串行口线,也可通过其它i/o 口线与微机接口,无须经过其它变换屯路,直接输出被测温度值(9位二进制数,含符 号位)很好地实现本系统对温度的测量。1.总体设计方案1.1系统设计方案论证方案一,采用纯便件的闭环控制系统。该系统的优点在于速度较快,但可靠性比较 差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。r要实现题目所有的 要求难度较大。方案二,fpga/cpld或采用带有ip内核的fpga/cpld方式。即用fpga/cpld完成采 集,存储,显示及a/d等功能,

9、由ip核实现人机交互及信号测量分析等功能。这种方 案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;缺点是调试过 程复杂,成木较高。方案三,单片机与高精度温度传感器结合的方式。即用单片机完成人机界面,系统 控制,信号分析处理,由前端温度传感器完成信号的采集与转换。这种方案克服了方案 一、二的缺点,所以本课题任务是基于单片机和温度传感器实现对温度的控制。 1.2系统结构框图系统主要包括数据采集模块,单片机控制模块,显示模块,温度设置模块和时钟产 生模块,驱动屯路六个部分。系统框图如图1所示。温度传感器显示电路单键盘控制片报警电路机时钟产生控制电路图1系统框图其中数据采集模块负责实时

10、采集温度数据,采集到的温度数据传输到单片机,由单 片机处理后的数据送显示部分显示。设置模块可设置预定温度,当检测到的温度低于设 定温度时,单片机控制驱动电路启动加热,并发出报警声;当检测温度高于设定温度吋, 停止加热。时钟模块是采用专用的实时时钟芯片,通过单片机来读取数据送显示部分显示。2.硬件设计2. 1元器件的选择2.1.1单片机的选择单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格 便宜等要求,本课题选择at89s51作为主控芯片。at89s51是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp (in-system programniabl

11、e)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的 高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片 内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s51 可为许多嵌入式控制应用系统提供高性价比的解决方案。at89s51单片机引脚图如图2所示pin1pl.l2pl23pl .34pl .45"56pl .67pl.?8ret9mo10p?l11p3.212也.313p3.414p3.51516xi19gnd20p1.0pl.lpl.2pl.3pl.4p1.5(mosi) p1.6(

12、miso) p1.7(sck) rstp3.0(rxd)p3.ktxd) p3.2(int0) p3.3(int1) p3.4(t0) p3.5(t11p3.6(吨p3.7(ro)xtal2xtal1gndvccpo.o(ado) po.l(adl)p0 2(ad2)p0 3(ad3)p04ad4)p0.5(ad5)p0 6(ad6)p07jad7) ea(vpp) alhprqg) psenp2.7(a15)p2.6(a14)p2.5(a13)p2aa12)p2.3(a11)p2.2(a10)p2.1(a9)p2.0(a8)图2单片机引脚图2.1.2传感器的选择本系统采用dallas半导体公

13、司生产的一线式数字温度传感器ds18b20采集温度数 据,ds18b20属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军 事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。ds18b20的性能特点:第一,采用单总线专用技术,既可通过串行口线,也可通过 其它i/o 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制 数,含符号位);第二,测温范围为-55°c-+125°c,测量分辨率为0.0625°c;第三,内 含64位经过激光修正的只读存储器rom;第四,适配各种单片机或系统机;第五,用

14、 户可分别设定各路温度的上、下限;第六,内含寄牛电源。ds18b20内部结构主要由四部分组成:64位光刻rom,温度传感器,菲挥发的温度报 警触发器th和tl,高速暂存器。ds18b20的管脚排列如图3所示。pr. 3 5封装m3 一1 8gnd2 7 ds18b203 6nc 一nc 一45 vcc一 nc一 nc一 ncsosi封装图3 ds18b20引脚分布图2.2单片机控制模块控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设 定与温度越限时控制电路的启动。本控制模块由单片机at89s51及其外围电路组成,电 路如图4所示。图4单片机控制模块r2r2gnd2.3温

15、度采集模块温度由dallas公司生产的一线式数字温度传感器ds18b20采集°ds18b20测温范 围为-55。c+125° c,测温分辨率可达0. 0625° c,被测温度用符号扩展的16位补码 形式串行输出。cpu只需一根端口线就能与诸多ds18b20通信,占用微处理器的端口 较少,可节省大量的引线和逻辑电路。本设计采用三引脚pr-35封装的ds18b20o vcc接外部+5v电源,gnd接地,i/o与 单片机的p2. 1 (to)引脚相连。图5温度采集模块2.4时间产生模块ds1302是美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟电路,

16、它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5v5. 5vo采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节 的时钟信号或ram数据。图中显示出ds1302的引脚排列,其中vccl为后备电源,vcc2 为主屯源。在主屯源关闭的情况下,也能保持时钟的连续运行。ds1302由vccl或vcc2 两者中的较大者供电。当vcc2大于vccl+0. 2v时,vcc2给ds1302供电。当vcc2小 于vccl时,ds1302由vccl供电。xi和x2是振荡源,外接32. 768khz晶振。rst是复 位/片选线,通过把rst输入驱动置高电平来启动所有

17、的数据传送。rst输入有两种功 能:首先,rst接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终 止单字节或多字节数据的传送手段。当rst为高屯平时,所有的数据传送被初始化,允 许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送, i/o引脚变为高阻态。上电运行时,在vcc$25v之前,rst必须保持低电平。只有在 sclk为低电平时,才能将rst置为高电平。i/o为串行数据输入输出端(双向)。sclk始终是输入端。图6时间产生模块2. 5显示模块本系统使用lcd 1602作为显示器。单片机通过采集温度传感器和实时时钟的数据, 然后处理,把处理后

18、的数据送到显示器显示。图7显示模块2.6报警模块报警电路是由蜂鸣器加一个三极管组成的,当温度超过设定值时,通过单片机向三 极管基极发送低电平,让三极管导通。从而驱动蜂鸣器发声,起到报警的作用。图8报警模块2.7控制模块控制电路是通过一个继电器来控制外围电器。当温度低于预设值,单片机就发送指 令来控制继电器导通。当温度高于设定值时,则反之。图9控制模块3.软件设计3. 1主程序流程图图10主程序流程图3. 2按键程序和主程序#include <regx52>h>winclude <intrins.h>#define uintunsigned int#define u

19、char unsigned char#include/zlcdl602. h#includez,dsl302. h#includedsl8b20.hvoid keyscan();void wenduxianshi ();void buzzer ();void jidianqi ();void delay(uint z);uchar 1=0, temp=40;sbitk2二 p3 0;sbitk3= p3j;sbitk4= p3"2;sbitt= p2 0;sbitb= p2“2;void delay(uint z)uint i, j;for(i=0;i<=z;i+)for(j=

20、0;j<=500;j+);void keycan()iif(k2=0);delay(12);if(k2=0) l+;if (1=7)1=0;swit ch(l) case 0:if(k3=0) ;delay(12) ;if(k3=0)(times1)+;if(times1)=60)(times 1 )=0;wri te_l302(0x82,t imes1);if(k4=0);delay(10);if (k4=0)(timeslj)-;if(timesl)=0)(times1)=60;write_1302(0x82, timesl);break;case 1:iif(k3=0);delay

21、 (10);if (k3=0)(times2)+;if(times2)=24)(times2)=0;write_1302(0x84, times2);if(k4=0);delay (10);if(k4=0)(times2)-;if (times2)二二0)(times2)=24; write_1302(0x84, times2);break;case 2:if(k3=0);delay (10);if (k3=0)(times3)+;if(times3)=31)(times3)=0;write_1302(0x86, times3); if(k4=0);delay(10);if (k4=0)(ti

22、mes3)一一;if (times 3 )=0)(times3)=31; write_1302(0x86, times3); break;case 3: if(k3=0) ;delay(12);if(k3=0)(times4)+;if(times4)=12)(times4)=0;write_1302(0x88, (times4);if(k4=0);delay (12);if(k4=0)(limes4)-;if(times4)=0)(times4)=12;write 1302(0x8& timcs4);break;case 4:if(k3=0);delay(10);if(k3=0) (t

23、imes6)+;write_1302(0x8c, times6) ;if(k4=0);delay(10);if (k4=0)(times6);write_l302(0x8c, times6);break;case 5:if(k3=0);delay (10);if(k3=0)(limes5)+;if(times5)=8)(times 5 )=1;write 1302(0x8a, times5);if(k4=0);delay (10);if (k4=0)(times5)-;if (times5)二二0)(times5 )=7;write_1302(0x8a, times5) break;case

24、6:if(k3=0);delay (10);if (k3=0)temp+if(k4=0);delay(10);if (k4=0)temp-;break;default: break;void wenduxianshi() lcd_coniniand (oxcb);lcd write_stting(k);lcd dat(l%10+0x30);lcd_write_string(z,);lcd_dat(temp/10+0x30);lcd_dat(temp%10+0x30) ; void buzzer()辻(tcmp=xl)b=0;delay(200);b=l;delay(200);void jidi

25、anqi ()if(temp=xl)t=0;void main(void)init_1302();lcd1602_init();settime_1302(inittime);wh订c(l) keycan() display () ;xianshi () ;wenduxianshi () ; jidianqi ();buzzer () ; 4.系统调试4. 1测量方法系统温度测量的准确度。我们将标准温度计和温度控制系统的探头放在一起,选定 若干不同温度点,记录下标准温度计的温度和温度控制系统测量显示的温度进行比较。 设定开启加热温度,改变环境温度,验证检测到的温度高于设定温度时是否停止加热, 检

26、测到的温度小于设定温度时是否启动加热。4.2测试结果第一,本系统测量显示温度与标准温度计测量温度对比如表6所示。表6温度测量准确度标准温度汁测量温度(°c)本系统测量显示温度(°c)232325253030404045456060根据温度测量数据的对比可知,本系统能够准确地测量并显示环境温度。第二,设定不同的开启加热温度,改变环境温度,系统工作情况如表7所示。表7 系统加热测量设定温度(°c)环境温度(°c)发光二极管(亮/灭)1510亮1515灭1530灭2520亮2524亮2525灭2530亮4030亮4039亮4040灭4050灭发光二极管亮表示启动加热,灭表示停止加热。根据表7可知,系统可以自由设定 不同的加热温度,温度设定当环境温度低于设定温度时系统启动加热,当环境温度高于 或等于设定温度时,系统停止加热。经过反复测试,系统温度设定范围为0120°c,最小区分度为1°c,温度控制的误 差wi°c;能够测量并用数码管显示当前实际温度值;通过复位键可以使系统设定温度 述原默认值,通过加一键和减一键可以以1°c步进设置预定温度;环境温度低于设定温 度时,启动加热,红色发光二极管点亮,环境温度高于或等于设定温度时,停止加热, 红色

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论