版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计任务书学生姓名: 专业班级:指导教师: 工作单位:信息工程学院题 目:数字式自动温度控制仪设计设计内容及要求:(1)以AT89系列单片机为核心,设计一款数字式自动温度控制仪。(2)测量温度范围:室温200C ;温度测量的精度为土仁C。(3)设置2个模拟输出通道:一个通道控制加热设备(输出05VDC控制0220VA)另一个通道控制电机转速(输出010V,控制转速02000rps),具体控制要求见下表。温度C室温100100100150150150180180时间2分钟2分钟5分钟2分钟2分钟5分钟转速rps5008001000150018002000(4)应用液晶显示器实时显示当前的温度
2、值、系统时间和电机转速;(5)完成系统硬软件设计;(6)完成系统仿真,提交课程设计报告。时间安排:1)第1天,查阅相关资料,学习设计原理2)第23天,方案选择和电路设计仿真。3)第4天,设计说明书撰写。4)第5天, 上交报告,同时进行答辩。指导教师签名:系主任(或责任教师)签名: TOC o 1-5 h z HYPERLINK l bookmark14 o Current Document 摘要 I HYPERLINK l bookmark16 o Current Document Abstract II HYPERLINK l bookmark18 o Current Document 1设
3、计要求及原理 1 HYPERLINK l bookmark20 o Current Document 设计要求 1 HYPERLINK l bookmark22 o Current Document 1.2电路的总体工作原理 1 HYPERLINK l bookmark24 o Current Document 2系统电路设计 2 HYPERLINK l bookmark26 o Current Document 2.1系统硬件电路图 2 HYPERLINK l bookmark32 o Current Document 2.2具体电路模块分析 3 HYPERLINK l bookmark34
4、 o Current Document 温度传感器模块(DS18B20 3 HYPERLINK l bookmark36 o Current Document DS1302 时钟电路 4 HYPERLINK l bookmark38 o Current Document 2.2.3加热电路 5 HYPERLINK l bookmark40 o Current Document 电机驱动电路 5 HYPERLINK l bookmark42 o Current Document 液晶显示电路(LCD1602 6 HYPERLINK l bookmark44 o Current Document
5、3软件设计流程图 8 HYPERLINK l bookmark48 o Current Document 4仿真以及性能分析 9 HYPERLINK l bookmark62 o Current Document 5心得体会 13 HYPERLINK l bookmark64 o Current Document 6参考文献 14 HYPERLINK l bookmark66 o Current Document 附录源程序 15武汉理工大学专业综合课程设计说明书 摘要本次课程设计主要研究的是数字式自动温度控制仪,利用单片机来控制温度以及电机的转动。它的主要组成部分有:AT89C52单片机、温
6、度传感器、LCD显示电路、温度控制 电路,系统时间显示电路。温度传感器 DS18B2C用于环境温度的采集与转换,DS1302用于 产生系统时间,LCD显示电路用于显示温度传感器采集到的温度和直流电机的转速及系统 时间,温度控制电路用于控制电机的转速及时间,AT89C52为系统的核心部分,进行数据的接收和处理。此系统可以实时的显示环境温度,并可以根据温度来控制电机的转速以及 这种转速维持的时间,将转速显示在液晶屏上,同时还可以控制加热设备。关键词:AT89C52DS18B20 LCD!示AbstractThe course is primarily desig ned research is d
7、igital automatic temperaturecontrol device, using SCMo control the temperature and the rotation of the motor. Its mai n comp onents in clude: AT89C52 microco ntroller, temperature sen sor, LCD display circuit, the temperature control circuit, the system time display circuit. DS18B20 temperature sen
8、sor for ambie nt temperature acquisiti on and conv ersi on, DS1302is used to gen erate the system time, LCDdisplay speed and system temperature sensor to the temperature and DC motor circuit is used to display the time, temperature con trol circuit for con trolli ng the motor speed and time, AT89C52
9、 as the core of the system, receiving and processing data. This system can display real-time ambie nt temperature and the temperature can be con trolled accord ing to the motor speed and the time to maintain this speed, the speed displayed on the LCD scree n, but you can also con trol the heat ing e
10、quipme nt.Keywords: AT89C52 DS18B20 LCD武汉理工大学专业综合课程设计说明书 1设计要求及原理1.1设计要求本课程设计的要求是以AT89系列单片机为核心,设计一个数字式自动温度控制仪。测 量温度范围:室温200C ;设置2个模拟输出通道:一个通道控制加热设备(输出05VDC 控制0220VAC,另一个通道控制电机转速(输出 010V,控制转速02000rps);温度 测量的精度为土 1C;应用液晶显示器实时显示当前的温度值、系统时间和电机转速;1.2电路的总体工作原理电路总体分为6个模块,分别是DS18B20温度控制模块,DS1302系统时间显示模块, 继电
11、器加上lamp模拟的加热设备模块,L298直流电机控制模块,LCD1602液晶显示模块, AT89C52微控制器。其中DS18B20与 DS1302用来显示当前温度与时钟,测量的值直接在LCD上面显示,另外DS18B20勺温度值还将控制直流电机的转速以及加热设备的启动。电机的控制为温度 控制,将温度分为3个档,这3个档分别对应不同的电机转速。当温度下降到30度以下时,加热设备开始工作。AT89C52芯片与LCD就负责数据的处理与显示。系统框图如图1:LCD显示模块加热设备电机驱动模块图1系统框图2系统电路设计2.1系统硬件电路图4.4RPiWk 戌TECTA -吨山LJ rw:|1-叩iMnr
12、a 2.XTAL2旳妙口PCI 4A乂匸ra硏cepa ft.RBTKJ 7/PPZ.IiWP5EMF2.1W1.*11=心沁P1M? pi im&P3 ITOPl 2p.?.inrP1JPJ ?j1EITTPMPisra S/T1 |Pl E鬥阿P1 ?K 7.fiT37Nt雀赛#申土eaBSSESbD5I3TO .图2系统电路图如图2,系统硬件电路主要由温度显示,时钟芯片,电机驱动模块,加热模块以及LCD显示组成。另外51单片机来控制数据的处理与传输。2.2具体电路模块分析221 温度传感器模块(DS18B20DS18B2C原理与特性:本系统采用了 DS18B2C单总线可编程温度传感器,来
13、实现对温度 的采集和转换,大大简化了电路的复杂度,以及算法的要求。内部结构主要由四部分组成: 64位光刻ROM温度传感器、非挥发的温度报警触发器 TH和TL、配置寄存器。DS18B20 的外形及管脚排列如图2-2所示GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3. O-5.5 V。本文使用外部电源供电。主要特点有:用户可自设定报警上下限温度值。不需要外部组件,能测量55+125C范围内的温度。 10C+85C范围内的测温准确度为土 0. 5C 。通过编程可实现912位的数字读数方式,可在至多750
14、ms内将温度转换成12位 的数字,测温分辨率可达0. 0625C。独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向 通讯。测量结果直接输出数字温度信号,以一线总线串行传送给CPU同时可传送CRC 校验码,具有极强的抗干扰纠错能力。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20支持多点组网的功能,多个 DS18B2C可以并联在唯一的三线上,实现组网 多点测温2。DS18B20M温电路图如图3所示。DS18B20在本次设计中用于模拟显示当前实时温度,同时控制电机转速以及加热设备,当温度低于30度时,加热设备开启,同时电机转速最低;当温度大于3
15、0度且小于40度时,加热设备关闭,电机转速适当地提高;当温度高于40度时,电机转速达到最大。2.2.2 DS1302时钟电路DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字 节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电 的能力。DS1302的外部引脚分配如图1所示及内部结构如图2所
16、示。DS1302用于数据记 录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时 记录,因此广泛应用于测量系统中。在系统电路中用DS1302芯片来显示系统时间,电路图如图 4。VCC1 VCC2XIRSTSCLKK2U51,DSISE.匚力: - CRY-SWL-.-.:TEC-图 4 DS13022.2.3加热电路在本次仿真当中,用电灯以及继电器来模拟加热设备,当温度低于30度时,单片机输出端输出低电平,同时继电器工作,线圈闭合,12V的电灯lamp点亮。电路图如图5。图5加热电路2.2.4电机驱动电路本次课设需要用一个模拟输出来控制电机的转动,于是用P2.0输出P
17、WM波形来控制电机转动,PWM的占空比的不同控制不同的电机转速,设置了3种不同的占空比,分别对应温度不同时电机的转速。由于单片机输出电流太小,无法驱动直流电机的转动,因此加 上L298来驱动直流电机。由于需要记录电机的转速, 采用的是编码电机 MOTORENCODER 该电机其中一脚当电机每转一圈会产生一个脉冲,利用该脉冲记录转速。电路图如图6,A图6电机驱动电路* *225液晶显示电路(LCD1602LCD1602的管脚图如图2-4所示。LM016L汾 I岀co CL lL LU OOQQOQQQL卜卜|寸卜間Z卜卜甘二甘礬H图7 LCD1602管脚图各引脚功能为:VSS地电源VDD-5V正
18、电源VL-液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K的电位器调整对比度RS-寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器R/W-读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS和R/W共同为低电 平时可以写入指令或者显示地址,当 RS为低电平R/W为高电平时可以读忙信号,当 RS为 高电平R/W为低电平时可以写入数据E-使能端,当E端由高电平跳变成低电平时,液晶模块执行命令DOD7-8位双向数据线BLA( 15管脚)-背光源正极BLK( 16管脚)-背光源负极LCD1602的基本操作时序写指令
19、 输入:RS=L,RW =L, 厂4 =指令码,E=高脉冲 输出(|丁:二数据写数据 输入:RS=H,K/lf =L,必=数据,E=高脉冲,输出:无LCD1602的写操作时序1)通过RS确定是写数据还是写指令。指令包括使液晶的光标显示/不显示,光标闪烁 /不闪烁,需/不需移屏,在液晶的什么位置显示等等。写数据是要显示什么内容。2)读/写控制端设置为写模式,即低电平。3)将数据或命令送达数据线上。4)给E 一个高脉冲将数据送入液晶控制器,完成写操作。3软件设计流程图8所示。按上述工作原理和硬件结构分析可知系统主程序流程图如下图开始初始化1F1DS18B20测出环境温度1判断温度的档位1Fk单片机
20、处理数据-f控制电机转速液晶显示结束图8主程序工作流程图4仿真以及性能分析仿真开始时,当温度还为30度时,此时电灯熄灭,LCD上显示的转速为48 r/min 电路图如图9。LCD2LMMLRP1假跑6七宅6ALE EA亠苗d 俺 TuiPfl.升*?PTWIEU1WEI Xi! vraKTSOK hO KJ匸已1却二2闻MDD RWAD1 甲抻E FA.3WH 凤Mr H.ftAfiSP2HAfi PS.IttS R?2JAlO RZJWH P24JAE2 PZ5W1323: 44: 20 Teni30.etSpeed: 048 户/許in 夥吏 Siui SoSBSSSdME2方 EREF-
21、. P1RPIPIP1円P1P1円 XMRKD 峙1但_ P3-3WT0P3WT0F3 5fHP3j业色PS/TO-L2W图9温度为30 C时由图10可见,此时温度29C,低于30度,右下角的加热设备电灯点亮,同时随着温 度的下降,电机转速转速也随之下降,LCD显示屏上显示为36 r/min,并显示了当前的温度以及系统时间。RP1RESPiHK.nI/V-附1i WQI FWBOrLCD2LMO込23;48;51 Ten:29.9cSpeed: 036 r/hirtIJIPQ.C J4TT l nyii鬥且佔U3VC1 wnX1Ssfscu*.42-j* flj 161.CRYSTAL图11当
22、温度升高到41度时,开关状态发生改变,电机转速也随温度升高而线性升高,为60 r/mi n 如图12LCD2一 冷RS I ETCIE*KL1CC ItK-13K图12PXTM.1k U ElgLCIFfl.1W?1KTAL2F0.3WKI讯柯脚RSTF0.7WD?psoT ALEEAP2 DMrS円310P2.W11P2.4CM2=2.SW13 lP2KU s.7W15F3XLKCPI D/T2PI 2F3 2fiDP3.4.T0 円題1Pl SP17U1PN田戸XICRVST4LA-y-31IBE3e0iRL1当温度在不同的范围时,题目中要求电机的转速为 800r/s和1500r/s,但由
23、于proteus 仿真的直流电机不能达到那么高的转速,因此,在仿真的过程当中,利用每分钟多少转来 显示,通过仿真不同的温度范围,都能达到预定的转速。而在实际当中,又通过修改pwm波的占空比,从而调节转速,测量电机转速的方法是测10秒内电机的转动圈数,然后乘上6就转换为电机每分钟的转速,这样简单但是必然会导致一定误差,但是不影响总体。 在程序中我只设置了 3种不同温度控制电机转速,如果需要更加精确的温度控制,随时可 以加上更加精细的温度档数。5心得体会正所谓“纸上得来终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知, 而不去实践、探索是不够的。因此在学期末来临之际,我们迎来了单片机的课程
24、设计,此 次设计就是综合运用以前学过的 C语言知识、Proteus仿真、keil软件、单片机的编程基 础知识等来设计一个自动温度控制仪。此次的课程设计我觉得最基础的应该是 C语言知识。作为一种入门语言,我们在大一 就已经学过,并且还参加了计算机二级考试。但当时学的时候就只了解一些语法知识,编 一些简单的程序,至于具体地能应用到哪个方面,从来就没有去考虑。以前也做过类似的 课设,可当时也没怎么把它当回事,纯粹是打酱油,随便在网上搜几个程序就可以解决老 师所布置下来的任务。其时,当时也并不明白原理性,就连操作也是看了别人的解释才稍 微地明白了那么一点,更不用说去探究各种不同的方法来完成相同的任务,
25、以此比较它们 的性能好坏。这学期因为很闲,就了解了一下 C语言的用法,因此经常跟它打交道,对于 一些简单的芯片、开发板的电路结构都有了个基本的了解,因此这次跟上次比起来感觉还 是顺手多了。但问题还是会常出现的,我们书本上的知识都是零散的,这就必须得把它们串起来, 然后用C语言把它们一一实现,因此少不了上网查阅各种资料,实在不懂的就跟同学们探 讨,在这个过程中,大家都可以交流自己的想法,我们学会了如何去接受别人的观点,偿 到了合作的甜头。在设计之前我根本就没有考虑到电机的转速特性,认为只要我们人为控 制,都可以达到预定的要求,因此就直接使用了步进电机,但不管怎样好像都无法实现目 标,最后在同学的
26、提醒下才使用直流电机来提速。在整个设计过程中我懂得了许多东西, 也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和 生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这 次课程设计的最大收获和财富,使我终身受益。在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设 计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己 能力的一种提高,这次课程设计使我明白了原来的那点知识是非常欠缺的,要学习的东西 还很多,我们要明白学习
27、是一个长期积累的过程,在以后的工作和生活中都应该不断的学 习,努力提高自己的知识和综合素质。6参考文献1郭天祥.51单片机C语言教程M.北京:电子工业出版社,20092楼然苗.51系列单片机设计实例M北京:北京航空航天大学出版社,20063彭伟.单片机C语言程序设计实训100例一基于8051+Proteus仿真.北京:电子工业 出版社,20104史翔,张岳涛.基于AT89C5仲片机微电阻测量系统J.甘肃科技,2007年8月 王东峰,王会良单片机C语言应用100例M.北京:电子工业出版社,2010附录源程序Mai n.c : #in elude #i nclude LCD.h#i nclude
28、DS18B20.h 电机转动时pwM输出口;/控制加热设备输出/PWM低电平所占时间#include DS1302.hsbit outv=P2A0;sbit ctr =卩2人3;uchar flag2=1;uchar tflag=1;uchar timeflag=0;uchar per=10;void ini tall();void chesu();void in itTO();void DispTemp( uint tem);void DispTime();void DispSP();/*主函数 *void mai n()ini tall();while(1)DispTemp(gettemp
29、();DispTime(); if(timeflag) DispSP(); void DispTemp( uint tem)/*温度显示函*if(tflag)/第一次调用温度显示函数tflag=0;write_stri ng(0,10,Tem:);if(tem=300&tem=330) per=5;elseper=0;write_com(0 x80+14);write_data(tem/100+48); write_data(tem%100/10+48); write_data(.);write_data(tem%10+48);write_data(0);/ 显示摄氏度* DS1302时间显示
30、函数*void DispTime()uchar j;gettime();write_com(0 x80);for(j=0;jper) outv=1;elseoutv=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256; if(times=200)times=0;timeflag=1;/*电机转速显示函数*void DispSP()uint coun t=0;timeflag=0; write_com(0 xc0+7);cou nt=TH1*256+TL1; write_data(cou nt*6/100+48); write_data(cou nt*6%
31、100/10+48); write_data(cou nt*6%10+48);TH 仁0;TL1=0;LCD.c:#in clude #i ncludeLCD.h sbit RS=P1A0;sbit EN=P1A1;武汉理工大学专业综合课程设计说明书D0=0; 武汉理工大学专业综合课程设计说明书 摄氏度的图案显示uchar Pic=0 x10,0 x06,0 x09,0 x08,0 x08,0 x09,0 x06,0 x00; / void delayms( uint x)uint i,j;for(i=0;ix;i+)for(j=0;j124;j+);void write_com(uchar
32、com)RS=0;P0=com;delayms(5);EN=1;delayms(5);EN=0;void write_data(uchar com1)RS=1;P0=com1;delayms(5);EN=1;delayms(5);EN=0;中输出字符串void write_string(uchar col, uchar line, uchar *table) /LCDif(col=0)write_com(0 x80+li ne);while(*table!=O)write_data(*table+);else if(col=1)write_com(OxcO+li ne);while(*tabl
33、e!=0)write_data(*table+);else return;void ini tLCD()uchar k;EN=0;write_com(0 x38);write_com(0 x0c);write_com(0 x06);write_com(0 x01);清屏;write_com(0 x40);for(k=0;k8;k+) write_data(Pick);DS18B20.C:#in clude#in clude#in clude#i ncludeLCD.h#i ncludeDS18B20.h2*ms+5 ( s)sbit D0=P1A2;/ 数据线void delayus(ucha
34、r ms)/ 微秒级的延时;while(-ms);void in it()D0=1;delayus(4);D0=0;delayus(175);延时 750 卩 s;delayus(175);D0=1;delayus(200);void write_byte(uchar dat)/ 写字节uchar i ;for(i=8;i0;i-)武汉理工大学专业综合课程设计说明书 DO=dat&0 x01;delayus(20);D0=1;dat=1;uchar read_byte()/ 读数据uchar dat1,j;for(j=8;j0;j-)D0=0;dat1=1;/注意什么时候移入delayus(2);D0=1;if(D0)dat 1=dat1|0 x80; delayus(20);return dat1;ui nt gettemp() /获得温度数值跳过读ROM旨令 开始温度转换;每次进行通信时都要进行复位操作 跳过读ROM旨令 读取RAM中的数据uchar a,b ; ui nt temp ; in i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园物业委托管理合同
- 租赁合同简约版
- 租房合同拟定
- 学校零星维修合同
- 延安东弘启泰汽车服务有限公司员工入职合同
- 简单租房合同范本
- 工程合同价款调整有哪些方法
- 二手收割机买卖合同
- 安居房施工合同
- 解除劳动合同证明书内容完备三联
- 高中体育足球教案
- 2025届内蒙古赤峰市、呼和浩特市高考考前模拟物理试题含解析
- 三年级数学(上)计算题专项练习附答案
- 中等职业学校《机械制造工艺基础》课程标准
- 临床医学内科学消化系统疾病教案脂肪性肝病教案
- 2024年江苏省南通市中考英语试卷(含答案解析)
- 期末练习(试题)-2024-2025学年译林版(三起)(2024)英语三年级上册
- 成人中心静脉导管(CVC)堵塞风险评估及预防-2024团体标准
- DL∕T 5342-2018 110kV~750kV架空输电线路铁塔组立施工工艺导则
- 安全治本攻坚三年行动方案及重大事故隐患会议纪要(完整版)
- 部编版小升初语文必考点集训-文言文专练(2)(含参考译文及答案)
评论
0/150
提交评论