自动温控系统项目设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

自动温控系统本三级项目要求根据给定芯片设计一个自动温度采集、显示、报警、控制降温设备的应用系统。我们以8086微处理器为控制器,将直流电源模拟的温度信号送至A/D转换器,转换成数字量,8088CPU将其获取并转换成温度在数码管上显示,同时系统在温度超过限定值的情况下有报警和启动降温系统的功能。关键词:温度数码管显示A/D转换前言:温度测控系统是一个闭环反馈控制系统,它是用温度传感器将检测到的实际温度A/D转换,送入计算机中,与设定值进行比较,得出偏差。对此偏差进行修正,从而实现对温度的控制[2]。温度测控系统在现实生产、生活中有着广泛的应用,如仓库存储、家禽养殖以及许多工业生产,都需要对环境温度进行监视和控制。有一种采用模糊控制来设计温控系统,模糊控制技术是基于模糊集合理论发展起来的一门前沿高新技术,具有精度高,响应快,过度过程超调量小适应性强,控制规律简单等特点,应用日益广泛。目前大多数温度控制系统都具有温度时延、控制精度不够、智能程度低等缺点,而单片机温控系统可以很好的运用于实际的生活和生产中,同时投入也不大,成本低,具有很好的实际运用价值,所以对于温度控制系统的研究单片机温控系统是个很好的典范,也是主要的发展方向,同时加入一些先进的控制整定技术可以使其控制的精度大大提高,对未来的发展有很大的意义。在本次三级项目中我们预期的目标如下:温度控制系统能够在高温下启动声光报警的功能,并对于不同范围的高温启动不同转速的直流电机。但是在实现过程中,我们仅仅做了最基本的功能,报警与降温,对降温系统直流电机的转速也没有体现。项目组分工:正文1、总体设计1.1总体设计方案总体要求:三级项目要求利用实验箱中的ADC0809、DAC0832、8253、8255等芯片设计并实现一个自动温度采集、显示、报警、控制降温设备的应用系统。本次设计以8086微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器,由于实验条件有限,以0~5V可调的直流电来模拟,0809采集直流电转换成数字量,8088CPU获得数字量转换成温度让数码管显示,同时系统还可以通过DAC0832来驱动直流电机进行降温工作和声光报警系统。1.2系统工作框图1.3程序设计流程图2、分模块设计2.1A/D转换与8255A将直流电压信号输入到A/D的模拟信号输入端。当工作时,CPU用输出指令movdx,al(dx此时是A/D的IO口),使A/D启动转换。此后延时一段时间用输入指令读取数字值。CPU将数字值转换成对应的温度值,8255的PA口输出段选信号,PC0、PC1分别代表十位和个位的位选信号。通过8255的A、C口输出在数码管上显示温度。下面简要介绍一下A/D转换的原理因为所选的AD0809所转换的电压范围不大,这样一来,当所采集的温度是0℃时,所转换的电压量是0V,通过A/D转换后所对应的数字量是00000000。当采集的温度是255℃时,所转换的电压量是10V,通过A/D转换后所对应的数字量是11111111。这样看来,从A/D输出的数字量和显示的温度是一一对应的。假如数字量是00000011时,通过8255A编程就可在显示器上显示3℃。通过实验台左下角的电位器RW1输出0~5V直流电压送入ADC0809,启动A/D转换器,输入命令读取转换结果并显示。2.2温度显示A/D转换器将模拟信号转换成数字信号,设定0FFH对应50摄氏度,因而33H对应10度,05H对应1度。将这种对应关系依靠程序用CPU进行处理后,将要显示的数值赋给BX,在数据段的表中找到对应的数码管段码,打开响应的输出口显示,延时一段时间后关闭该口,打开另一位对应的口,依上面的步骤输出对应数值。数码管显示原理如下图:2.3报警模块报警模块原理如下图所示,报警靠0832计数器0控制的蜂鸣器,在程序开始的时候就初始化了计数器。计数器由8255的PC2、PC3口控制(GATE0接PC2、PC3和OUT0相与再输出接蜂鸣器2.4温度控制模块温度的控制是通过给降温系统通断电来实现,本次设计中的降温系统即直流电机,当温度超过35摄氏度时,DAC0809的UB输出电平5V启动降温系统3、接线采样:CS/0809接Y3/IO地址IN0/0809接0~5V直流信号显示:PA7~PA0/8255接DP~A/LED数码管PC1~PC0/8255接S1~S0、LED数码管GND接S3~S2/LED数码管CS/8255接Y1/IO地址降温:CS/DAC0832接Y2/IO地址UB/DAC0832接直流电机报警:CS/8254接Y0/IO地址CLK0/8254接1M时钟PC2/8255接GATE0/8254A/与门接OUT0/8254B/与门接PC3/8255Y/与门接蜂鸣器4、程序设计见附录总结本次三级项目的设计总体来说达到了基本要求,但是没有达到预期的效果,没有光报警的显示,而且对于不同温度范围的降温没有体现直流电机的转速问题,这一情况表明我们对于基础知识的掌握还是不够到位,在设计过程中,对于理论知识有了更加深入的理解,获得了一些经验但也遇到了一些问题①设计前要进行充分的分析,对程序的执行流程要有清晰的思路以及详细的分析,画好流程图。②汇编的基础一定要扎实,否则很容易出现低级错误,如:乘除指令的应用。③对程序进行必要的注释,否则反过来自己都看不懂。④在子程序中最好开头和结尾对子程序中用到的寄存器都进行入出栈操作,防止破坏原数据。对于三级项目的意见及建议微机原理三级项目的设置对于我们掌握理论知识有着极大的帮助,在这个过程中收获很多,但是在一些客观因素方面还是需要改进的1、时间安排不太好较为紧凑,由于实验装置的问题对于我们进行实验有了很大的限制,而且所有的三级项目基本都赶在了学期末,同时我们又忙于备考,在这个时间做出来的东西多少存在应付的成分,我建议我们可以把三级项目放在考试后,集中去做。2、对于三级项目的分组人数没有必要设置六到七个,三到四个人完全可以完成三级项目的任务要求。望老师可以参考一下参考文献[1]牛晓霞.燕山大学微机原理实验指导书.2014[2]钱晓捷.16/32位微机原理、汇编语言及接口技术教程.北京:机械工程出版社.2011附录datasegmentio8253aequ280hio8253ctrlequ283h;8253端口io8255aequ288hio8255ctrlequ28bh;8225端口DAC0832equ290h;DACDAC0832端口io0809aequ298h;ADC0809端口leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码Dataendscodesegmentassumecs:code,ds:dataStart:Movsi,offsetledMovax,dataMovds,axMovdx,io8255ctrl;设置8255A口输出C口输出Moval,80hOutdx,alMovdx,io8253ctrl;设置计数器0,即蜂鸣器工作频率Moval,36hOutdx,alMovdx,io8253aMoval,18hOutdx,al;先低后高Moval,04hOutdx,alagain:Movdx,io0809aOutdx,al;ADC工作movcx,0ffh;延时Delay1:loopdelay1Inal,dx;采样得到温度movah,00hPushaxCmpal,0b3hjbedisplay;比较Cmpal,0e6hjbesetMovdx,io8255ctrlMoval,05h;设置PC2为高Outdx,alMoval,07hOutdx,al;设置PC3为高,GATE0打开,蜂鸣器工作Set:Movdx,DAC0832;DAC输出高电平,电机工作Moval,0ffhOutdx,aldisplay:popax;显示movcx,00htext1:cmpal,33hjbsk1subal,33haddcx,01hjmptext1sk1:pushaxmovbx,cxmoval,[bx+si]Movdx,io8255aOutdx,al;显示十位数温度Moval,03hMovdx,io8255ctrlOutdx,alMovcx,100Delay2:loopdelay2moval,02houtdx,alpopaxmovcx,00htext2:cmpal,05hjbsk2subal,05haddcx,01hjmptext2sk2:movbx,cxmoval,[bx+si]Movdx,io8255aOutdx,alMoval,01hMovdx,io8255ctrlOutdx,alMovcx,100Delay3:loopdelay3Moval,00hOutdx,alMovdx,io8255ctrl;清零PC2、PC3,关闭蜂鸣器Moval,04hOutdx,alMoval,06hOutdx,alMovdx,DAC0832;DAC输出0电平,电机停止Moval,80houtdx,alJmpagainCodeendsEndstart

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功