收藏 分销(赏)

基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx

上传人:可**** 文档编号:966406 上传时间:2024-04-09 格式:DOCX 页数:40 大小:4.65MB
下载 相关 举报
基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx_第1页
第1页 / 共40页
基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx_第2页
第2页 / 共40页
基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx_第3页
第3页 / 共40页
基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx_第4页
第4页 / 共40页
基于单片机的种苗催芽室环境参数监控系统设计与实现应用电子技术.docx_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、 毕业设计(论文)题目: 基于单片机的种苗催芽室环境参数监控 系统设计与实现 姓名: 学号: 二级院系部: 机电工程系 班级: 高专电子09 专业: 应用电子技术 指导教师: 、 职称: 讲 师、副教授 二一二年 六 月xx畜牧兽医职业技术学院学生毕业设计(论文)诚信承诺书论文题目养殖场用单片机温度控制器的设计与实现学生姓名xx学号xxx所属专业应用电子技术班级高专电子09指导教师姓名xx、xx职称讲师、副教授学生承诺我承诺在毕业设计 (论文)活动中,遵守学校有关规定,恪守学术规范,本人毕业设计 (论文)内容除特别注明和引用外,均为本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的情

2、况,如果有违规行为,我愿意承担一切责任,接受学校的处理。 学生(签名): 年 月 日指导教师承诺我承诺在毕业设计 (论文)活动中,遵守学校有关规定,恪守学术规范,经过本人核查,该生毕业设计 (论文)内容除特别注明和引用外,均为本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的现象。 指导教师(签名): 年 月 日xx畜牧兽医职业技术学院学生毕业设计(论文)材料目录序号名 称备 注1全文2任务书3开题报告或实施方案4指导记录5678答辩记录9成绩评定表养殖场用单片机温度控制器的设计与实现【摘要】养殖过程中,养殖大棚的环境控制对于动植物的健康生长、最大程度地发挥其生长性能有着及其重要的意

3、义。养殖大棚的环境控制主要是针对温度、湿度等环境因子进行监视和控制。本次设计是根据养殖场的环境温度控制要求,研究并建立基于单片机的温度控制系统。本系统是以AT89C52单片机为核心,并与数字温度传感器DS18B20、四位一体的数码管、继电器、按键、小型电风扇、LED灯等器件结合起来,共同构成温度控制器。以养殖场的温度为设定参数,根据参数偏离设定值(理想的养殖温度)的程度由单片机自动启动相应的加热和降温设备,来升温或降温,实现对设定参数的闭环调节。该系统能够及时采集养殖场温度,并能自动升温和降温,从而将养殖场温度保持在恒温,该系统具有较高的测量精度和控制精度。本文首先对养殖场温度控制过程进行分析

4、,提出了多种控制方案,对各方案比较后确定了本设计的总体方案。然后进行原理图的设计,采用分步焊接、软件设计与调试,最后进行联调。通过对控制器进行实验和分析,表明系统运行情况正常,各功能模块功能的实现可行,采集的温度数据精确性较高,能满足控制的要求。除此之外,该系统电路简单、成本低,稍做修改还可以应用于其他温度控制的过程中,这大大地扩大了该系统的应用范围,在养殖中具有一定的实际意义。【关键词】AT89C52;DS18B20;温度控制;继电器控制AbstractKey words AT89C52; DS18B20; temperature control; relay control目 录【摘要】I

5、【关键词】IAbstractIIKey wordsII绪 论11.系统方案选择和论证21.1题目要求21.1.1基本要求21.1.2发挥部分21.1.3功能说明21.2系统基本方案31.2.1各模块电路的方案选择及论证31.2.2系统各模块的最终方案51.3 本章小结62.硬件设计与实现72.1系统硬件模块关系72.2主要单元电路的设计72.2.1温度采集部分设计72.2.2 加热和降温控制部分92.2.3键盘、显示、控制器部分102.3 系统总原理图112.4 本章小结113.系统软件设计123.1 读取DS18B20温度模块子程序123.2数据处理子程序123.3键盘扫描子程序133.4主

6、程序流程图133.5 源程序153.6 本章小结154.系统制作与调试164.1 数码管的调试164.2 按键的调试164.3 温度传感器的调试174.4 继电器控制部分的调试174.5 联调184.6本章小结21设计总结及展望22参考文献23附 录24附录1: 产品使用说明24附录2: 元件清单24附录3 : 系统硬件原理图25附录4:软件程序清单(含注释)26致 谢37绪 论动植物的生长都是在一定的环境中进行的,在生长过程中受到环境中各种因素的影响,其中对其影响最大的就是温度。若昼夜的温度变化很大,其对动植物生长极为不利,因此必须对温度进行监测和控制,使其适合动植物的生长,以提高其产量和质

7、量。 本设计就是对养殖场内温度控制要求进行分析,综合考虑系统的精度、效率以及经济性要求多方面因素之后,设计一种基于单片机的养殖温度自动控制系统。该系统能够实现自动监控,使其温度控制在设定值的某个范围内,同时可以通过按键输入设定温度等控制指令,完成监控系统的工作。基于此,本课题的主要研究内容有以下几个部分:1 温度控制系统的总体方案设计部分该部分主要研究养殖场温度控制的实现原理,确定温度控制系统的具体实现过程,进行系统的总体设计,给出硬件系统结构框图,完成硬件各部分元器件的选择等。2 系统硬件设计部分该部分主要完成单片机基本电路(时钟、复位电路等)、数据采集电路、显示输出接口、按键输入接口、继电

8、器控制等模块电路的设计,最后给出总原理图的设计。3 系统程序设计部分此部分主要完成主服务程序、温度采集与处理、按键输入温度设定、温度显示、继电器控制等程序模块的设计。4 系统实现该部分主要是从硬件与软件两个方面探讨系统的实现过程,采用分步焊接与调试,并对系统进行了相应的试验分析,以验证系统所具有的功能。 本系统实现的温度控制目标功能如下:(1) 系统能对环境温度进行采集和显示(现场观温,软件记录)。(2) 能通过按键设定动植物生长期适宜温度并显示。(3) 当环境温度参数超过设定的上下限值时控制相应的设备启动。(4) 可实时显示当前温度信息,并加以控制。(5)能分辨出的最小温度TH或T ROM操

9、作命令- 存储器操作命令- 处理数据,3.2数据处理子程序由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MS Byte)高5位是用来保存温度的正负(标志为S的bit11bit15),高字节(MS Byte)低3位和低字节来保存温度值(bit0 bit10)。其中低字节(LS Byte)的低4位来保存温度的小数位(bit0 bit 3)。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留两位小数即可,即本系统的温度精确到了0.01度。算法核心:首先程序判断

10、温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度Copy到单片机的RAM中,里面已经是温度值的Hex码了,然后转换Hex码到BCD码,分别把小数位,个位,十位的BCD码存入RAM中。数据处理子程序流程图如图3-2所示。数据传递温度是否为负?求补运算NYBCD码转换返回图3-2数据处理子程序流程图按键功能: 1. Enter P1.1(S1)控制键2. Up P1.2(S2) 加1键3. DownP1.3(S3) 减1键键盘子程序流程图如图3-3所示。总模块流程图如图3-4所示。本软件设计采用循环查询来

11、处理各个模块,温度是缓慢变化量所以可以满足性能要求。图3-3键盘子程序流程图开始初始化调用A/D转换子程序DS18B20存在?数据处理子程序显示子程序键盘扫描子程序继电器控制子程序Y错误处理显示N图3-4主程序流程图 源程序的设计采用的是汇编语言,由于源程序代码较长,故将其放在附录中,具体参见附录4。 系统软件的设计同样也采用分模块的设计思路,然后利用主程序去调用各模块,主要设计了数据处理子程序、显示子程序、键盘扫描子程序、继电器控制子程序。4.系统制作与调试在具体的产品制作过程中,我们采用的是分模块焊接与调试,目的是为了防止全部焊接调试困难,若一次不成功,查找错误麻烦。首先用万用表对数码管进

12、行共阴还是共阳的识别以及各引脚功能的识别,然后把单片机工作最小系统电路焊接好,采用合适的方法连接数码管与单片机。最后编写数码管驱动程序,用烧写器将程序编入到AT89S52单片机中。具体调试体会如下:在这里最关键的就是数码管动态显示原理的理解与编程,刚开始编了一个简单的程序显示1234,但第一次显示的数不对,乱码,结果发现a和e段接线不小心搭在一起了,线分开后,显示就正常了。然后又修改程序让其显示小数,如24.94,如图4-1所示。为了进一步理解动态显示程序的原理,将显示程序中的延时变长发现显示的数有闪烁现象,变得更长4个都不能同时显示。由此可见,动态显示的关键是要选择一个合适的延时时间,在这里

13、采用的延时约为2ms。图4-1 数码管显示效果图数码管调试正常后,按原理图将按键与单片机连接,焊接很简单,关键是程序的编写。刚开始编好程序后发现按下上调或下调键,温度上升或下降的速度非常快,人眼无法分辨出温度的值,因此没办法设定温度。解决办法:发现是按键处理子程序中延时时间太短了。修改延时时间后,按下上调或下调键温度上升或下降速度明显没刚开始快了,但是还是比较快。又进行二次延时时间的修改,这次温度每变化一度人眼都可分辨出。在此基础上,我们对按键的功能进行修改,每按一次上调或下降按钮,温度变1度,这样可以避免长时间按着上调或下降按钮温度在不停的变。我们对按键处理子程序进行了修改,加了几条判断按键

14、是否按了一次这么一个过程。最终按键实现的功能如下:如果想设定温度,首先要按控制键(ENTER),然后再按上调或下调温度按钮才可调整温度(每按一次调整1度),调好以后再按控制键(ENTER),单片机才能感受到,并启动相应的加热或降温装置。每按一次上调按键效果如图4-2所示,每按一次下调按键效果图如图4-3所示。 图4-2 上调按键效果图 图4-3 下调按键效果图按键与显示部分调试好后,进行DS18B20温度传感器与单片机的连接,它采用独特的单线接口方式,仅需一个端口引脚,但必须先建立ROM操作协议,才能进行存储器和控制操作。DS18B20的数据读写是通过时间隙处理位和命令字来完成信息交换的,需要

15、严格的时序协议以确保数据的完整性。第一次编好DS18B20温度程序后,显示的温度不正常,然后就仔细阅读程序,发现是时序出了问题,修改时序后温度就正常了。由此可见,DS18B20传感器的工作关键靠程序,程序中的时序又是最重要的。继电器控制电风扇和加热器,由于元器件的限制,没有加热器,故在此用LED灯来模拟加热器,灯亮代表加热器加热。故在此先做继电器控制电风扇这部分电路,其与继电器控制加热器原理一样。先将继电器控制风扇这部分电路与单片机连接好,然后编写程序。温度传感器测得当前温度值并正常显示后,按键设定温度,若设定温度比当前温度低时,电风扇应自动启动降温,但是刚开始电风扇却不动,查找程序怎么也找不

16、到原因。程序没问题就寻找电路的原因,查阅了大量的资料,然后问了有经验的老师,修改了好几次电路但是由于元器件型号等问题,前面几次都没成功,有时要这个地方大约耗了一个月的时间。在此期间电风扇转到的效果:电风扇需要启动时有时转有时不转,需要停下来时却停不下来,与想要的效果完全不一样。最后在指导老师任玲的帮助下,发现三极管导体了但是继电器就是不闭合,风扇不转。原来没有考虑好三极管的导通电流问题,最后在三极管的b极接了一个15K上拉电阻,然后接到5V电源上,问题终于得到了解决。总结:继电器控制电风扇主要是电路设计上的缺陷,经过电路的改进,目前问题已解决。电风扇与单片机连接效果如图4-4所示。图4-4 电

17、风扇与单片机的连接实物图分步调试后,最后进行联调,由于条件限制,在本设计中采用室内温度进行测试,若设定温度高于当前温度值,加热器模拟灯会亮,但是室内温度不会变化那么快,我们采用体温来实现温度的快速升高,达到设定值,加热器灯灭。具体调试过程如下:(1)DS18B20温度传感器测得当前温度值为28.38,显示如图4-5所示。 图4-5 温度传感器实测温度实物图(2)设定温度值为32.50,比当前实际温度高4。设定温度效果图如图4-6所示。图4-6 温度设定效果图(3)按下确认键后,因设定温度比当前实际温度高,因此加热器模拟灯亮,代表加热器开始加热。效果如图4-7所示,只要不超过32.50,加热器都

18、应该在加热。图4-7 模拟加热器灯亮(4)在此采用体温加热,当温度超过了32.50,加热器就应该停止工作,效果如图4-8,电风扇启动,效果如图4-9所示,直到32.50左右加热和风扇停止工作。图4-8 加热器停止加热图4-9 电风扇转动(5)实物总体效果图如图4-10所示。图4-10 系统总体效果图本章对温度控制器的制作与调试过程给出了详细地介绍,通过本次毕业设计,我懂得了理论与学习是密不可分的,一开始头脑中的思路是很清晰但实践起来时就开始有点手忙脚乱了,所以说实践是很重要的。设计总结及展望本毕业设计是将电路、电工、模电、数电、单片机、汇编语言等书本知识与理论结合的一次大实践。在参考和总结前人

19、研究成果的基础上,查阅大量的资料,针对目前我国养殖场温度控制的要求而设计出来的控制器。该温度控制器能及时检测室内温度,并用数码管显示当前温度,根据当前温度与理想环境温度(设定温度)之间的差别,加热器或者风扇将自动启动,直至达到设定温度停止工作。该系统的特点:(1)能够及时采集养殖场、温室大棚和水的温度,误差小于0.1;(2)能够设定温度,可以设定为农作物生长的理想温度;(3)若实际温度比设定温度高时,电风扇自动启动降温,直到达到设定温度,自动停止;(4)若实际温度比设定温度低时,加热器自动启动加温,直到达到设定温度,自动停止;(5)该系统的控制精度高。 电路焊接不够光滑,该系统可以广泛地应用在

20、养殖大棚等场所的温度控制,保证农作物理想的生长温度,提高产量!参考文献1 边春元.单片机应用开发实用子程序M. 北京:人民邮电出版社,2005.2 李建兰.基于STC12C系统单片机的DS18B20编程M. 北京:人名邮电出版社,2005.3 高吉祥.全国大学生电子设计大赛培训系列教程M. 主编:电子工业出版社,2007.4 周坚.单片项目教程M. 北京航空航天大学出版社,2011,1.5 徐爱钧 彭秀华.Keil Cx51 V7.0 单片机高级语言编程M. 北京: 电子工业出版社 .2007,2.6 潘永雄 沙河 刘向阳.电子线路CAD实用教程M. 西安电子科技大学出版社,2008,2.7

21、李斌 张晶.MCS-51单片机应用技术项目教程M. 北京航空航天大学出版社,2011,8.8 肖红兵.跟我学用单片机M. 北京:航空航天大学出版社,2006.9 乌海荣.浅谈单片机在温控系统J.华章,2011,24.10 钟晓伟 宋蛰存.基于单片机的实验室温湿度控制系统设计J. 林业机械与木工设备,2010,38(1).11 易顺明, 赵海兰, 袁 然.基于单片机的大棚温湿度控制系统设计J.现代电子技术,2011,34(7).附 录附录1: 产品使用说明本水温控制系统能在099范围内设定任意温度值,超出此范围将有出错显示8888,之后返回到99或0。通过按ENTER(P1.1)键确认开始温度设

22、定;P1.2的UP键为加1键,每按一次使设定温度值加1,P1.3的DOWN键为减1键,每按下一次设定温度值减1。设置完温度要再按ERTER键确认温度设定完成,之后显示实测温度值。当温度传感器没有接入时也将有出错提示显示8888。附录2: 元件清单 元件数量元件数量AT89S52单片机 1个小电风扇1个DS18B20温度传感器1个PCB白板1块11.0592MHZ晶振1个10uf电解电容1个四位一体数码管1个30pf瓷片电容4个按键3个稳压电源1个开关1个电阻若干继电器1个导线若干9012三极管4个LED灯1个9014三极管2个7805稳压器1个二极管2个;主程序TEMPERATURE_L DA

23、TA 31H ;DS18B20低8位BUFFER TEMPERATURE_H DATA 30H ;DS18B20高8位BUFFERTEMPERATURE_HC DATA 32H ;计算后十位的BCD码存放BUFFERTEMPERATURE_LC DATA 33H ;计算后的个位和小数位的BCD码存放BUFFERTEMPERATURE_ZH DATA 34H ;计算后十位和个位HEX码的存放BUFFER P_DS18B20 EQU P1.5 ;读取DS18B20的输入端口 DIS_BUF_Y DATA 35H ;数码管小数点后第二位 DIS_BUF_X DATA 36H ;小数点后第一位 DIS

24、_BUF_G DATA 37H ;数码管个位 DIS_BUF_S DATA 38H ;数码管十位 P_SWITCH EQU P3.1 ;加热器控制接口,1-加热,0-断开 P_FAN EQU P1.6 ;电风扇控制接口,1-降温,0-断开KEY_BUF_G DATA 39H ;键盘输入后的个位值KEY_BUF_S DATA 49H ;键盘输入后的十位值K_ENTER EQU P1.1 ;输入数据确认按钮K_UP EQU P1.2 ;上调按钮K_DOWN EQU P1.3 ;下调按钮FLAG EQU 20H.0 ;标志位,确定是否存在DS18B20,1-存在,;0-不存在ENTER_FLAG E

25、QU 20H.1 ;键盘输入的标志位,为0说明键盘正在输;入,为1说明键盘输入退出 ORG 0000H LJMP M ORG 0400H M:MOV SP,#40H ;初始化 MOV KEY_BUF_G,#0 ;由于KEY_BUF是由用户输入的,所以先赋值初始化 MOV KEY_BUF_S,#0 CLR P_SWITCH CLR P_FAN M1:LCALL READ_TEMP ;调用读温度子程序 JB FLAG,NORMAL ;判断是否有DS18B20的存在 LCALL ERR ;不存在时显示错误信息 SJMP M1NORMAL: LCALL DATA_DEAL ;处理从DS18B20得到的数据LCALL SET_DIS_BUF ;赋值给DIS_BUF_Y,X,G,SLCALL DISPLAY ;调用数码管显示子程序 LCALL SCAN_KEY ;扫描键盘 LCALL SWITCH ;处理继电器 SJMP M1 ;程序名称:SCAN_KEY ;功能:扫描键盘;入口参数:DIS_BUF_G,DIS_BUF_S, ;出口参数:KEY_BUF_G,KEY_BUF_S, SCAN_KEY: JB K_ENTER,QUIT;如果有ENTER键入,则开始键盘输入 LCALL K_DELAY JB K_ENTER,QUIT

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服