毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计

上传人:无*** 文档编号:78278621 上传时间:2022-04-21 格式:DOC 页数:26 大小:173.52KB
收藏 版权申诉 举报 下载
毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计_第1页
第1页 / 共26页
毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计_第2页
第2页 / 共26页
毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计_第3页
第3页 / 共26页
资源描述:

《毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计》由会员分享,可在线阅读,更多相关《毕业设计基于STC89C52R单片机的蔬菜大棚温度控制系统设计(26页珍藏版)》请在装配图网上搜索。

1、沧州师范学院毕业设计(论文) 基于STC89C52R单片机的蔬菜大棚温度控制系统设计学员姓名: 指导导师: 年 级: 专 业: 学 号: 年 月毕业设计(论文)开题报告题目基于STC89C52R单片机的蔬菜大棚温度控制系统设计专业电气自动化学生姓名一、国内外研究综述随着改革开放,我国的温室大棚产业得到迅猛的发展,以蔬菜大棚、花卉为主植物栽培设施栽培在大江南北遍地开花,随着政府对城市蔬菜产业的不断投入,在乡镇内蔬菜大棚产业被看作是21世纪最具活力的新产业之一。温室是蔬菜等植物在栽培生产中必不可少的设施之一,不同种类的蔬菜对温度生长所需条件的要求也不尽相同,为它们提供一个更适宜其生长的封闭的、良好

2、的生存环境,从而可以通过提早或延迟花期,最终将会给我们带来巨大的经济效益。随着单片机的飞速发展,通过单片机对被控对象进行控制日益广泛,其具有体积小、功能强、性价比高等特点,把单片机应用于温度控制系统中可以起到更好的控温作用,可完成对温度的采集和控制等的要求。单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,也就是说一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。测量温度的关键是温度传感器,温度传感器在国内外的发展经历了三个发展阶段:传统的分立式温度传感器,模拟集成温度传感器,智能集成温度传感器。目前,国际上新型温度传

3、感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 二、选题的依据和意义 本课题研究的主要内容是利用单片机作为主控机,对温室内的温度和进行实时监测和调控,以满足温室内作物生长的环境要求。主要内容包括: 温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重

4、要的意义。温度作为作物生长一个非常重要的参数,温度的变化影响作物的发芽、幼苗的成长、作物的开花、果实的成熟等等。对于不同的作物,其适宜的生长温度总是在一个范围。超过这个范围,作物或许会活着,但是其生长的规律将发生明显的变化。这对于我们所希望的要求作物能够优质、高产的愿望相距甚远,所以我们必须实时获取作物生长的环境温度。对于,超过作物生长适宜范围的温度能够报警并及时控制。三、研究内容及预期目标本课题研究的主要内容是利用单片机作为主控机,对温室内的温度和进行实时监测和调控,以满足温室内作物生长的环境要求。主要内容包括:1、温度实时准确显示。通过单总线数字式温度传感器DS18B20进行温度采集,,通

5、过单片机STC89C52R对采集到的数据进行处理,由LED显示屏对当前温度值进行显示。2、键盘输入并显示。操作人员可根据不同作物的不同时期的最适宜生长环境将温度值值由键盘输入并且由显示器进行显示。便于调节作物在不同生长期所需的最适宜生长环境,以满足不同用户的需求。3、超限报警功能。报警模块具有两项功能,即为报警灯和声音报警。当采集到的温度与标准值之间存在较大差异时,及时启动报警装置进行报警,并采取相应的措施。4、实现通信功能。配有通信接口可方便的与计算机进行通信,将采集到的温度值传送到计算机上,留下采集到的历史数据,以方便专业人士进行研究。预期目标:1、实现对温室温度参数的实时采集,测量空间多

6、点的温度:根据测量空间或设备的实际需要,由多路温度传感器对关键敏感点进行测量,由单片机对各路数据进行循环检测、数据处理、存储,实现温度的智能、多空间点的测量2、实现超限数据的及时报警。3、现场监测设备应具有较高的灵敏度、可靠性、抗干扰能力并具有存储、远程通信功能。4、通信系统具有较高的可靠性、较好的实时性和较强的抗干扰能力。与计算机通讯功能,采用RS232串行通讯方式最远传输距离为20米。5、长时间测量数据记录功能:可以根据需要设置数据记录时间间隔,数据存入数据存储器。6、监控计算机软件设计管理软件既要具有完成数据采集、处理的功能,其软件编程应具有功能强大、界面友好、便于操作和执行速度快等特点

7、。7、要求达到的技术指标:温范围:一20一100测温精度:士0.5四、计划进度 2013年11月4日至2013年11月10日搜集材料,完成论文初稿2013年11月11日至2013年11月22日完成第二、三设计 2013年11月23日至2013年11月30日完成论文及实物指导教师签字年 月 日毕业设计(论文)任务书题目基于STC89C52R单片机的蔬菜大棚温度控制系统设计专业电气自动化学生姓名所在系机电工程系导师导师一、设计(论文)内容设计的主要内容为:利用单片机STC89C52R实现温室大棚温度的智能控制,使室温温度能够控制在作物最佳生长温度20-25度之间。2. 通过对单片机STC89C52

8、R的编程,由温度传感器DS18B20对温度进行测量,最后把测量到的温度送LED数码管显示。如果超过上下限温度,则控制蜂鸣器报警且令继电器对温度进行实时控制。3. 四位数码管能够保持不间断显示室温,最高位为符号位,如果温度为正,则不显示;如果温度为负,则显示负号;第2-3位显示温度的整数部分,并在第三位上显示小数点;第四位显示小数部分。二、主要技术指标(或研究目标)1使用STC89C52R单片机2测温范围:01003测温分辨力:=14. 测温准确度:=0.55. 测温点数:可以扩展到8点6. 温度显示:采用个7段段数码管7. 温限可进行灵活设定三、设计(或研究)的内容设计的主要内容为:如何利用单

9、片机STC89C52R实现温室大棚温度的智能控制,使室温温度能够控制在作物最佳生长温度20-25度之间。2. 怎样通过对单片机STC89S52R的编程,由温度传感器DS18B20对温度进行测量,最后把测量到的温度送LED数码管显示;3.如果室温超过上下限温度,则控制蜂鸣器报警且令继电器对温度进行实时控制。四、应收集的资料及参考文献1、李丽荣,张长全,郑建红 51单片机应用设计 北京:北京理工大学出版社 2012.9 2、谭浩强 C程序设计 北京:清华大学出版社,2012.43、胡宴如,耿孙燕. 模拟电子技术. 北京:高等教育出版社,2005.64、杨志忠,卫桦林. 数字电子技术. 北京:高等教

10、育出版社,2006.35、李全利. 单片机原理及应用技术. 北京: 高等教育出版社, 2006.56、付家才. 单片机控制工程实践技术. 北京:化学工业出版社, 2005.37、邓木生,曹德跃. 电子技能训练. 北京:机械工业出版社, 2002.48、张晶,郑立平 电机控制与拖动技术 大连:大连理工上学出版社2012.29、Protel软件的应用10、李新德,毕万新,胡辉 传感器应用技术 大连:大连理工大学出版社 2012.711、Keil软件的应用五、计划进度2013年11月4日至2013年11月10日搜集材料,完成论文初稿2013年11月11日至2013年11月22日完成第二、三设计 20

11、13年11月23日至2013年11月30日完成论文及实物指导教师签字时间年 月 日目录摘 要 第1章 绪论 1.1 温度控制系统设计的背景、发展历史及意义 11.2 课题研究的目的意义 1第2章 系统方案设计 22.1 温度控制系统设计方框图 22.2 方案论证 2第3章 电路设计 3.1 STC89C52R的介绍 33.2 最小电路的介绍 63.3键盘电路设计 63.4显示电路设计 73.5 报警电路设计 73.6传感器电路设计 83.7 电机控制电路设计 8第4章 程序设计 94.1 系统主程序设计 94.2 显示程序设计 94.3 温度处理程序设计 94.4 上下限温度设定程序 104.

12、5 程序流程图 104.6 程序源代码 10第5章 总结 22参考文献 23摘要 本文根据蔬菜大棚温度控制系统的要求和特点,设计了一种基于51单片机的蔬菜大棚温度控制器。该控制器以单片机为控制核心,结合外围信号采集电路、键盘扫描电路、LCD显示电路、报警电路和继电器控制电路,实现了蔬菜大棚的的智能控制。DS18B20温度传感器将采集的数据在传感器内部经模数转换后传送给单片机,单片机将得到的数据分别与键盘预先设定的上限温度值和下限温度值比较,如果数据大于上限温度值值,开启电机并报警,如果数据小于下限温度值,启动电机并报警,并且电路还有预报警,当温度高于预报警上限值,进行报警,提醒用户,当温度低于

13、预报警下限值时,进行报警,提醒用户。整个过程LCD实时显示上限温度值、下限温度值、实际温度值。关键字: 单片机;信号采集;温度控制系统;键盘扫描。LCD显示第一章 绪论1.1 温度控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温 度控制系统发展的主流方向。 特别是近年来, 温度控制系统已应用到人们生活的各个方面, 但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种 实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。 温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在 工业

14、生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、 酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂 锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才 能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、 柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就 会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可 见,温度的测量和控制是非常重要的。 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测 和温度控制。

15、随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温 度控制器应运而生。1.2 课题研究的目的意义本设计的内容是温度测试控制系统,控制对象是温度。温度控制在日常生活及工业领 域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。而以往温度控制是 由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。针对此问 题,本系统设计的目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能 强大,小巧美观,便于携带,是一款既实用又廉价的控制系统。第二章 系统方案设计2.1蔬菜温度控制系统设计方框图LCD显示继电器蜂鸣器复位电路 DS18B20输入键盘STC89

16、C52R系统硬件电路框图如图2.1所示,蔬菜温度控制装置由单片机最小系统、LCD液晶显示电路、键盘电路、报警电路、温度传感器、继电器控制等七部分组成。系统工作原理:将温度传感器采集的数据输入单片机,单片机将得到的数据分别与键盘预先设定的上限温度和下限温度比较,如果数据大于上限温度单片机控制报警并接通电机电源(相当于接升温器),如果数据小于下限温度单片机控制报警并接通电机电源(相当于接降温器),整个过程LCD实时显示:上限温度值、下限温度值、实际温度值。2.2 方案论证在设计中要对空压机内压力、上、下限压力显示,显示模块的设计方案如下。方案一:测温电路的设计,可以使用热敏电阻之类的器件利用其感温

17、效应,在将随被测温度变 化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电 感温电路比较麻烦。 路上, 就可以将被测温度显示出来, 这种设计需要用到 A/D 转换电路方案二:考虑使用温度传感器,结合单片机电路设计,采用一只 DS18B20 温度传感器,直接读 取被测温度值,之后进行转换,依次完成设计要求。比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现, 故实际设计中拟采用方案二。第三章 电路设计3.1单片机STC89C52R的介绍图2-3 STC89C52R单片机引脚图芯片引脚如图2-3所示:VCC : 电源。GND: 地。P0口:P

18、0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口: 是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2

19、分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8 位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX

20、RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如上表2-1所示。在flash编程和校验时,P3口也接收一些控制信号。RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST

21、 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE

22、 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当STC89C52R从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放

23、大器的输出端。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:STC89C52R 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事

24、件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。工作模式由T2CON中的相关位选择。定时器2 有2 个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。中断:STC89C52R 有6个中断源如表2-2所示:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。

25、IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清01。符号位地址功能EAIE.7中断总允许控制位。EA=0,中断总禁止;EA=1,各中断由各自的控制位设定-IE.6预留ET2IE.5定时器2中断允许控制位ESIE.4串行口中断允许控制位ET1IE.3定时器1中断允许控制位EX1IE.2外部中断1允许控制位ET0IE.1定时器0中断允许控制位EX0IE.0外部中断1允许控制位3.2 STC89C

26、52R单片机最小系统图3-2-1 晶振电路图3-2-2 复位电路如图3-2-1、图3-2-2所示,复位电路和时钟电路是维持单片机最小系统运行的基本模块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大2。3.3键盘电路 因为本设计使用键盘数比较少,只要5个按键就足够了,故可以直接

27、接在端口即可。图3-3-1键盘电路 3.2显示电路设计 将P1与显示的数据端相连,采用模拟时序形式电路。电路接线如图3-2图3.2显示电路3.3报警电路设计报警电路对实时温度的检测,温度过高或过低报警灯亮,并且蜂鸣器根据不同的报警情况,发出不同频率的声音。图3.3 报警电路3.4传感器电路设计本设计使用的是DS18B20,采用单总线方式连接。图3.4 传感器电路3.5电机控制电路设计 电机电路利用继电器来控制电机开断。电路如图图3.5图3.5电机控制电路设计第4章 程序设计4.1 主程序设计 主程序主要完成初始化、以及调用显示、指示灯、温度采集等等。具体模块包括:1、显示程序设计2、温度采集程

28、序设计3、温度处理程序设计4.2 显示程序设计显示程序主要将几个数组的内容通过LCD1602的写数据指令显示在LCD屏上。4.3 温度处理程序设计 将采集到的实时温度与设定的上限,下限,上限预报警,下限预报警温度进行比较,若超过上限温度红灯亮,并且发出高频率的报警声。如果实时温度介于上限预报警和上限温度之间,黄灯亮,并发出低频率的报警声。在超过下限温度时红灯亮,也发出高频率的报警声,如果实时温度介于下限预报警和下限温度之间,黄灯亮,并发出低频率的报警声。4.4 上下限温度设定程序采用外部中断1的方式,可以实时进行设定温度上下限值。温度上下限设定的范围为-2099度。4.5 程序流程图开始显示欢

29、迎界面输入上下限温度值温度采集并显示温度比较判断是否超否超过设定值报警并进行温度处理是否4.6 程序源代码#include #include #define LCD_DB P2sbit DQ = P10;sbit BUZZER = P11;sbit PWM = P12;sbit LCD_RS = P14;sbit LCD_RW = P15;sbit LCD_E = P16;sbit HEAT = P17;void initial(void);void read_DHT11(void);void LCD_write_command(unsigned char com);void LCD_disp

30、lay_char(unsigned char x, unsigned char y, unsigned char dat);unsigned char read_DHT11_char(void);void control_temperature_humidity(void);void delay_xms(unsigned int time_xms);void delay_x10us(unsigned int time_x10us);unsigned char stop_system = 0;unsigned char lineOne = TS(0-50): C;unsigned char li

31、neTwo = HS(20-90): %RH;unsigned int T0_number = 0, T1_number, PWM_width_H;unsigned char temperature_ten, temperature_one, humidity_ten, humidity_one;unsigned char temperature_H, temperature_L, humidity_H, humidity_L, checkData;void initial(void)unsigned char i, j;TMOD = 0x11;/定时器0工作方式1,16位计数器;定时器1工作

32、方式1,16位计数器TH1 = 0xFC;/定时器1溢出周期1ms,延时TH1 = 0x66;TH0 = 0xFC;/定时器0中断周期1ms,PWM TL0 = 0x66; EA = 1;ET1 = 1;ET0= 1;EX0 = 1;IT1 = 1;TR0 = 1;LCD_write_command(0x38);/设置8位格式,2行,5x7LCD_write_command(0x0c);/设置整体显示,关闭光标,且不闪烁LCD_write_command(0x06);/设置输入方式,增量不移位LCD_write_command(0x01);/清屏for (i = 0; i 16; i+)LCD

33、_display_char(i, 1, lineOnei);for (j = 0; j 16; j+)LCD_display_char(j, 2, lineTwoj);LCD_display_char(14, 1, 0xDF);/显示void read_DHT11(void) DQ = 0; delay_xms(18); DQ = 1; delay_x10us(2); if (DQ = 0) while (DQ = 0);while (DQ = 1);humidity_H = read_DHT11_char();humidity_L = read_DHT11_char();temperatur

34、e_H = read_DHT11_char();temperature_L = read_DHT11_char(); unsigned char read_DHT11_char(void)unsigned char i, temp_one, temp_two; for (i = 0; i 8; i+)while (DQ = 0);delay_x10us(3);if (DQ = 0)temp_one = 0;elsetemp_one = 1;temp_two 28) /温度转速PWM_width_H = 100;else if (temperature_H = 23)HEAT = 0;PWM_w

35、idth_H = (temperature_H - 18) * 10;void delay_xms(unsigned int time_xms)T1_number = 0;TR1 = 1;while (1)if (time_xms = T1_number)break;TR1 = 0;void delay_x10us(unsigned int time_x10us)while (time_x10us-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();void main(void)initial();while(1)

36、delay_xms(2000); read_DHT11(); LCD_display_DHT11(); control_temperature_humidity();void INT_0(void) interrupt 0stop_system = 1;void Timer_0(void) interrupt 1TH0 = 0xFC;/定时器0中断周期1ms,PWM TL0 = 0x66;T0_number+;if (T0_number 100)T0_number = 0;else if (T0_number PWM_width_H)PWM = 1;elsePWM = 0;void Timer

37、_1(void) interrupt 3TH1 = 0xFC;/定时器1溢出周期1ms,延时 TL1 = 0x66;T1_number+;第6章 总结写这篇总结时,当初很多的困难到现在已体会不到了。现在回过来看当初,我认为一切都很值。在这中间每天都有很多挫折在等待着我,但我始终坚信“失败是更近一步走向成功”。在软件的调试过程中,遇到的问题有很多,下面就几个比较突出的问题进行说明。1)在对Keil C的使用时不知道怎么才能让它生成HEX文件,从而进行仿真,因为以前没有用过类似的软件,不会并且也不知道需要生成HEX文件,导致前期的工作很难进行2 )因为用的是DHT11数字传感器,在编程过程中需要对

38、所测得温度进行处理,而且需要给定一个温度范围,建立一个温度与电机转速的数学模型,经过反复的计算、实验才实现。3)因为考虑到经济实用方面,所以在进行实物操作之前,采用proteus软件对程序和硬件电路进行仿真,可是在仿真过程中,独立按键总是不灵敏,这需要对延迟时间进行调整,而程序中设置的延迟时间总是不能够很符合实际操作,所以在这方面浪费了大量的时间进行反复的操作和实验4)在仿真过程中,因为用到的是LCD1602显示模块,这种显示模块是可以显示字符的,并且这种模块本身带有字库,但事实仿真过程中,电路要求相对宽松,不需加上拉电阻,而实际的电路调试过程需要加上拉电阻。不管困难有多么多,我都通过我能寻求

39、帮助的一切方式去解决问题。早在选题之前,我就利用平时的时间看DS18B20芯片资料,当初认为DS18B20延时要很精确,所以我必须写出精确的延时程序。但是C语言延时是不好精确地,为了写出那种很精确的延时程序,在网上找了很多资料,还有可以利用keil这个软件进行一些调试,也可测出延时时间。延时解决后,以为一切都会很顺利,但往往看起来容易的事情总有想不到的问题。在写DS18B20驱动程序时,读出来显示的温度值总是不对,左看右看,我知道问题肯定是出在数据处理上。于是我上网看别人是怎么进行数据处理,结合很多网上程序后,最后选择了其中一种的方法,但一切并不顺利,一篇又一篇的调试,不知调试了多少次终于成功

40、了。DS18B20驱动写出来了后,1602显示程序以前写过,所以可以移植过来,所以减少了不少的时间。大的结构确定后,就是修改一些细节上。比如我的温度比较范围是从-20-99,这在软件控制上,看上去很简单。可最后代码写下来也不少。而且我也是调试了蛮多次的。主要是以前从没有独立做过这种课程设计。所以没有经验,很多细节上处理的不是很好。所以自己只有不断地去学习别人怎么处理,然后结合自身来处理细节上的问题。利用了几天的时间,终于是在PROTEUS上仿真成功了。但我的设计还是存在一些问题,比如反映时间不是很快,这些问题是值得去注意的。再者,在Proteus上仿真通过,而没有做出实物,那也永远只是理论水平

41、。所以,尽管课程设计完成了,我要做的还远远不够。在写课程设计的论文时,也得到了同学的帮助,同学也帮忙完成了一些。通过这次课程设计,让我对于单片机的项目有了一个认知。我更近一步看清了前方的路。很多东西是接下来必须去做的。总之,要学的还很多,只有不断地学习,才能轻松的处理事情。有句话说的很对“只有很努力,才能看起来毫不费力”。课程设计搞完了,我的单片机学习还是不会断,因为我学的还真不够。最后感谢给与我指点的老师和同学。虽然我没有很强烈的表达在表面,但我一直都记住的。没有你们,我可能会走很多弯路才能做到,一生中遇到你们这些贵人是我的荣幸。感谢你们。参考文献1 赵晶.Protel99 高级应用M. 人民邮电出版社, 2006.2 谷树忠.Protel DXP实用教程M. 电子工业出版社,2003.3 刘湘涛、江世民.单片机原理与应用M.电子工业出版社, 2006.4 孙育才. ATMEL新型AT89S51系列单片机及其应用M.清华大学出版社, 2005.5 李华MCU-51系列单片机实用接口技术M北京:北京航空航天大学出版社,19936 张迎新、雷道振.单片机初级教程M.北京航天航空大学出版社, 2006.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!