资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验总成绩: 装 订 线报告份数: 课程设计实验报告专业班级: 学生姓名: 学号(班内序号): 年 月 日一、摘要摘要随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。近年来,电风扇也增加了各种功能,解决了我们的需求。电风扇的起停的自动控制,能很有效地解决人们在夏天时,温度过高时电风扇能自动加速,当温度过低时,电风扇会自动减速甚至停止转动,避免了人们睡觉时需要醒来关闭或开启风扇的问题,具有很现实的意义。依次为目的,设计一种基于AT89C52单片机的智能温控系统,利用温度传感器实时采集温度,利用ULN2003控制电机的转动,实现此功能。 关键字:AT89C52,DS18B20,LCD1602,进步电机 二、英文摘要 AbstractWith the rapid development of modern information technology, temperature measurement and control systems play in industry, agriculture and peoples daily life with an increasingly important role in the lives of its people have a great impact, so the temperature acquisition and control system design and research has a very important significance.In recent years, fans have increased the variety of functions, to solve our needs. From the fans stop automatic control, can be very effective in solving people in the summer, when the temperature is too high fan automatically accelerated when the temperature is too low, the fan will automatically slow down or even stop the rotation, avoiding the need to sleep when people wake up close or open the fan issue, with a very real sense. In order for the purpose of design based on AT89C52 intelligent temperature control system, real-time acquisition temperature using a temperature sensor using ULN2003 rotating motor control to achieve this functionality. Keywords: AT89C52, DS18B20, LCD1602, progressive motor三、引言1、1 温度控制系统设计发展历史及意义温度控制系统广泛应用于社会生活的各个领域,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。1、2温度控制系统的目的 温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度C都需要监控以防止发生意外。针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度监测和控制系统,实现对温度的实时检测,具有提醒和控制的功能,本设计的内容是温度测试控制系统,控制对象是温度。它的特点在于应用广泛,功能强大,小巧美观,便于携带,是一款既实用又廉价的控制系统。1、3温度控制系统完成的功能本设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能:此设计中温度恒定值设置为22,上下跳转温度为1,设计精度值为0.01。当温度低于设定下限温度即22时,电机转动。当温度上升到上限温度时,电机转动。当温度高于设定上限温度即25时,电机加速,对外界采取降温措施。四、硬件设计 1、单片机AT89C52AT89C52为8 位通用微处理器,采用工业标PDIP封装的AT89C52引脚图准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。2、温度传感器电路温度信号采集单元对于温度的采集需要用到DS18B20一总线温度传感器,以下DS18B20的一些介绍:DSl8B20温度传感器是美国DALLAS半导体公司继DSl820之后最新推出的只用改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据要求通过简单的编程实现9l2位的数字直读方式。可以分别存93.75ms和750ms内完成9位和12位的数字量,并且从DSl8B20读出的信息或写入DSl8B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接DSl8B20供电,而无需额外电源。因而使用DSl8B20可使系统结构更趋简单,可靠性更高。他在测温精度,转换时时间,传输距离,分辨率等方面较DSl8B20有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。DS18B20的内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DSl8B20有2种封装形式:3脚PR-35直插式和8脚SOIC贴片式管脚排列如图所示:3、液晶显示屏输出 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点。 4、 电机驱动步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。5、 总电路图五、软件设计 1、主程序 读取温度值开始温度显示温度处理比较当前温度与设定值比较温度 返回void main(void)uint tem;P2 = 0x00;P0 = 0x00;P2 = 0x20;buzzer = 0;relay = 0;P2 = 0x40;P0 = 0x00;initT0();init_1602();while(1)if(a=5)tem = readtemp();display_1602(tem);a = 0;if(tem 2200)tem = readtemp();display_1602(tem);deal(1,1000);else tem = readtemp();display_1602(tem);deal(10,1000);2、温度采集子程序uint readtemp(void)/读取,转换温度uchar low,high;uint temp=0;init_ds18b20();writebyte(0xcc);writebyte(0x44);delay(2);init_ds18b20();writebyte(0xcc);writebyte(0xbe);low=readbyte();high=readbyte();/1011 1000 0000 1000 temp = (high*256+low)*0.0625*100; return temp;3、显示程序void display_1602(uint tem) uchar n,i,j,k,l;i= tem/1000;j= tem%1000/100;k= tem%100/10;l = tem%10; for(n=0;n16;n+)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号