毕业设计论文基于AT89C51单片机的智能温控系统设计

上传人:仙*** 文档编号:75009411 上传时间:2022-04-14 格式:DOC 页数:32 大小:292.03KB
收藏 版权申诉 举报 下载
毕业设计论文基于AT89C51单片机的智能温控系统设计_第1页
第1页 / 共32页
毕业设计论文基于AT89C51单片机的智能温控系统设计_第2页
第2页 / 共32页
毕业设计论文基于AT89C51单片机的智能温控系统设计_第3页
第3页 / 共32页
资源描述:

《毕业设计论文基于AT89C51单片机的智能温控系统设计》由会员分享,可在线阅读,更多相关《毕业设计论文基于AT89C51单片机的智能温控系统设计(32页珍藏版)》请在装配图网上搜索。

1、【摘要】:本文介绍了一个由AT89C51为控制芯片、温度传感器DS18B20、抽水机等器件构成的一个智能温度控制系统。本系统的可实现的功能:1、四位数码管轮流显示温度一、温度二以及这两个温度的温差;2、系统根据温差的大小采取相应的措施以减小温差:当温差大于或等于5而小于10时,系统发出黄色警告同时启动小功率喷水机向空中喷水;当温差大于10时,系统发出红色警告同时启动大功率喷水机向空中喷水;3、当温度一、温度二中至少一个温度大于30度而小于35度时,系统发出黄色警告同时启动小功率喷水机向空中喷水;大于35度时,系统发出红色警告同时启动大功率喷水机向空中喷水。最终达到减小温度及温差对植物生长造成的

2、负面影响的目的,或者使人达到避暑的目的。目前 言.2 1 总体设计方案.41.1 智能温控系统设计方案论证1.2 方案的总体设计框图2 系统电路原理图.5 3 MCS-51系列单片机简介.63.1 时钟电路引脚3.2 控制信号引脚3.3 I/O(输入/输出)接口引脚 3.4 MCS-51单片机的复位方式和复位电路4 温度显示的数码管简介.135 温度传感器DS1820简介.155.1 DS1820简介5.2 DS1820内部结构框图5.3 提高DS1820测温精度的途径5.4 DS1820使用中注意事项 6 软件编程.246.1 智能温控系统总流程图6.2 DS18B20子程序流程图6.3 根

3、据温度一、二的大小使喷水机动作的子程序流程图6.4 温差子程序流程图6.5 根据温差的大小使喷水机动作的子程序流程图7 调试结果.25致 谢.34心得体会.35 参考文献.36 附录(系统设计程序)37前言根据自然规律我们容易知道:温度和温差对我们的植被生长有很大的影响,适合植被生长的温度只有一个很小的范围,当温度过大或过小都会给我们的植被生长带来负面的作用,日夜温差或根部和空气之间的温差过大同样会影响植被的水循环和光合作用,从而影响生长。当前在我国很多农村,减小温度和温差对农作物、果树的影响的一些措施和方法都还停留在旧社会的水平,在这种情况下,一旦气温不好,农民朋友就得花费大量的人力、物力,

4、这样做不但效果不怎么样,反而使生产的成本大大提高,降低经济效益。当前我国正大力提倡农业现代化、增加农民收入,智能温控系统的制作无疑是雪中送炭。1 总体设计方案 1.1 智能温控系统设计方案论证考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用两只温度传感器DS18B20。通过此传感器,单片机可以很容易读取被测温度值,将温度进行转换输出,再将两温度进行相减得出温差输出,最后根据的温度和温差的大小,使喷水机进行相应动作,即可满足设计要求。 1.2 方案的总体设计框图 温度计电路设计总体设计方框图如图(1-1)所示,控制器采用单片机AT89S51,温度传

5、感器采用DS18B20,用4位LED数码管以串口传送数据实现温度轮流显示。 单片机主控制器时钟震荡电路复位电路DS18B20-1DS18B20-2LED显示黄色警告和小功率喷水机驱动电路红色警告和大功率喷水机驱动电路图(1-1) 总体设计方框图2 系统电路设计 系统电路图如图(21)所示 图(21) 系统电路图3 MCS-51系列单片机简介 MCS-51系列单片机研制于1980年,由Intel公司所开发,其结构是8048的延伸,改进了8048的缺点,其ROM、RAM都可扩充至64KB,也增添了如乘(MUL)、除(DIV)、减(SUBB)、比较(CJNE)、栈入(PUSH)、栈出(POP)、16

6、位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。8052有6个中断源,MCS-51系列单片机存储器容量如表(2)所示。MCS-51系列单片机特点如下: ()、专为控制应用所设计的八位 ()、具有布尔代数的运算能力 ()、条双项且可被独立寻址的口 ()、芯片内有字节可供存储数据的(:字节) ()、内部有两组位定时器(有个) ()、具有全多工传输信号 ()、个中断源,且具有两级(高低)优先权顺序的中断结构 ()、芯片内有()的程序存储器()()、芯片内有时钟()振荡器电路 ()、程序存储器可扩展至() ()、数据存储器可扩展至() 表(2) MCS-51系列单片机ROM及RAM容量(

7、字节) 型号803180518751803280528752 ROM04K008K0RAM128128128256256256EPROM004K008K()、:工厂烧写型,内含 ()、:一次烧写型,内含 ()、:可重复烧写型,内含 ()、:省电型(低消耗功率) 3.1、时钟电路引脚 单片机的时钟可以由内部方式和外部方式产生,(脚)和(脚)即为单片机的两个时钟引脚。 ()内时钟引脚 单片机片内有振荡电路,只需在和间外接石英晶体和电容组成的并联振荡电路(晶振器),晶体可以在固有频率.z的晶振器之间任选晶体,电容可以在p的电容之间任选,通常选择p的瓷片电容。在单片机控制的数字显示温度计电路设计的这个

8、部分,就是采用内时钟引脚,其中晶振器为6MHz,两个电容均为30pF。 ()外时钟方式,接地,接外部振荡器。由于端的电平不是电平,故接一个上拉电阻。外部振荡器的频率应低于z。 3.2、控制信号引脚 ()pd(脚):复位信号备用电源引脚 当输入的复位信号延续个机器周期以上,高电平即为有效,用以完成单片机的复位操作。复位后影响片内特殊功能寄存器的状态,但不影响片内状态。 同一引脚的pd是备用电源输入端(pd接备用电源)。在cc断电时,为保证中的信息不丢失,可使此引脚完成掉电保护功能。 ()非(脚);地址锁存允许信号编程脉冲输入端 在系统扩展时,用于控制把口输出的低位地址送入锁存器锁存起来,以实现低

9、位地址和数据的分时传送。此外由于是以晶振频率的固定频率输出的正脉冲,因此可作为外边时钟或外部定时脉冲使用。 对片内带有kbyte的编写固化程序时,非作为编程脉冲输入端。 ()非(引脚):外边程序存储器读选通信号 为低电平有效,在访问片外程序存储器时,此引脚端输出负脉冲作为读片外程序存储器的选通信号,以实现外部单元的读操作。要检查上电平后能否正常到程序存储器中读取指令码,可以用示波器观察引脚非有无脉冲输出,若有说明正常。 ()非pp(脚):内部和外部程序存储器选择信号 当引脚接高电平时,只访问片内kbyte的,执行内部程序存储器中的指令,但在程序计数器计数超过时(即地址大于kbyte时),将自动

10、转向执行片外大于kbyte程序存储器内的程序。 若非引脚接低电平时,只访问外部程序存储器,而不管片内是否有程序存储器。对于单片机(片内无)需外扩,故必须将非引脚接地。 在对编写固化程序时,需对此引脚施加的编程电压。3.3、I/O(输入/输出)接口引脚 (1)并行I/O接口的特点 MCS-51有4个8位并行I/O接口P0P3,他们都是双向端口,可以进行输入或者输出操作,每个口都有口锁存器和口驱动器两部分组成。此外,它还有一个全双工串行通信口。这4个端口为MCS-51与外围器件或外围设备进行信息(数据、地址、控制信号)交换提供了多功能的输入/输出通道,也为MCS-51扩展外部功能、构成应用系统提供

11、了必要的条件。 它们的特点如下: a、4个并行I/O接口都是双向的。P0口为漏极开路,P1、P2、P3口均具有内部上拉电阻,它们有时被称为准双向口。 b、4个并行口的32条I/O接口线都可以独立地用于输入或输出操作。c、当4个并行口的I/O接口线有作输入操作时,必须对该口的锁存器进行写1操作,以保证从I/O接口线输入数据的正确性,这也是4个并行接口有时被称为“准”双向的含义。 (2)I/O接口电路功能汇总 MCS-51单片机内部属单总线结构,因此使系统在结构上增加了灵活性。通过总线,用户可根据应用需要进行多功能的系统扩展,构成用户的实际应用系统。MCS-51系列中的8031单片机,因其内部在结

12、构上无程序存储器,所以它的应用系统必定为一个扩展的系统。因此,MCS-51的4个并行I/O接口中的P0、P2、P3口基本上都具备有这两项功能。 a、P0口:P0口的内部一位结构如图(33)所示。P0口是一个多功能口除可以作为通用的输入/输出口外,还具备用于系统扩展的第二功能。在MCS-51的进行系统扩展时,它作为地址/数据总线口。通过外接地址锁存器,MCS-51的内部单总线可从P0口被扩展成8位的数据总线和16位地址总线的低8位。在实际应用中,P0口先送出外部存储器16位地址中的低8位至地址锁存器锁存,然后再由P0口进行8位数据的输入或输出。 b、P1口:P1口作为通用I/O接口,它的每一位都

13、可以别编程为通用I/O接口线。 c、P2口:P2口也是一个多功能口,与P0口相似,它除可被用作I/O接口外,在进行系统扩展时,还可以输16位地址总线中的高8位,和P0口共同构成16位的地址总线。当然,在P0口和P2口用作地址/数据总线时,它们都不能再作为通用I/O接口。 d、P3口:P3口也是一个多功能口,除可以作为通用I/O接口外,还具有多种控制功能,为通用I/O接口时和MCS-51其他具有控制功能的输入/输出引线在一起,共同形成MCS-51的控制总线。P3口在作为第二功能(控制功能)使用时,它的每一位功能定义如表(32)所示 一个信号引脚,既是第一功能又是第二功能,在使用时也不会引起混乱和

14、造成错误,理由如下: a、对于各种型号的芯片,其功能的第一功能信号是相同的,所不同的只在引脚的的第二功能信号上。 b、对于9、30和31各引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。 c、P3口线的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此在实际使用时,总是先按需要优先选用它的 二功能,剩下不用的才作为口线使用。 d、引脚表现出的是单片机的外特性或硬件特性,在硬件方面用户只能使用引脚,即通过引脚组建系统。因此熟悉引脚是我们设计数字显示温度计的重要内容。表(32) P3口线的第二功能 口线第二功能信号名称P3.0RXD串行数据

15、接收P3.1TXD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时器/计数器0计数输入P3.5T1 定时器/计数器1计数输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通3.4、MCS-51单片机的复位方式和复位电路 (1)复位操作 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或者操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。 (1)复位操作还对单片机的个别引脚信号有影响,例如把ALE和PSEN非信号变为无效状态,即AL

16、E=0,PSEN=1。 (2)复位信号及其产生 RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间持续24个振荡脉冲周期(即2个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。 产生复位信号的电路逻辑如图(34)所示。 整个复位电路包括芯片内外两部分。外部电路产生的复位信号(RST)送施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样。然后才得到内部复位操作所需要的信号。 (3)复位方式 复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,在单片机控制的数字显

17、示温度计电路设计中的单片机复位就是这种方式,其中电容C为22uF,电阻R为1k欧姆,其电路图如图(35a)所示。图(34) 复位电路逻辑图 这样,只要电源Vcc(+5V)的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种。其中按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路图如图(3 5b)所示。而按键复位脉冲复位则是利用RC微分电路产生的正脉冲来实现的。 上述电路图中的电阻电容参数适宜于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。 图(35a) 上电复位 图( 35b) 按键电平复位4 显

18、示温度值的LED显示器接口介绍LED显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画划发光,控制某段发光二极管导通,就能显示出某个数码或字符,常用八段LED显示器有两种结构,如图(41)所示。图(41) 八段LED显示器的结构数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA;峰值电流 100mA在静态显示系统中,每位显示器都应有各自的锁存器、译码器(若采用软件译码,译码器可省去)与驱动器,用以锁存各自

19、待显示数字的BCD码或字段码。因此,静态显示系统在每一次显示输出后能够保持显示不变,仅在待显示数字需要改变时,才更新其数字显示锁存器中的内容。这种显示占用CPU的时间少,显示稳定可靠。缺点是,当显示的位数较多时,占用的I/O口较多。 在动态显示的系统中,CPU需定时地对每位LED显示器进行扫描,每位LED显示器分时轮流工作,每次只能使一位LED显示,但由于人的视觉暂留现象,仍感觉所有的LED显示器都在同时显示。这种显示的优点是使用硬件少,占用I/O口少。缺点是占用 CPU时间长,只要不执行显示程序,就立刻停止显示。但随着大规模集成电路的发展,目前已有能自动对显示器进行扫描的专用显示芯片,使电路

20、既简单又占用CPU时间。在我们所设计的温度计中数码管显示就是利用的动态显示。5 温度传感器DS1820介绍在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。我们在为某水电站开发水轮发电机组轴瓦温度实时监测系统时,为了克服上面提到的三个问题,采用了新型数字温度传感器DS1820,在对其测温原理进行详细分析的基础上,提出了提高DS1820测量精度的方法,使DS1820的测量精度由0.5提高到0.1以上,取得了良好的测温效果。 5.1、 DS1820简介 DS1820是美国DALLAS半导体公司生

21、产的可组网数字式温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比,DS1820具有以下特性: (1)独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。 (2)DS1820支持多点组网功能,多个DS1820可以并联在唯一的三线上,实现多点测温。 (3)DS1820在使用中不需要任何外围元件。 (4)温范围55125,固有测温分辨率0.5。 (5)测量结果以9位数字量方式串行传送。 325.2、DS1820内部结构框图如图(51)所示64位光刻ROM及串线

22、接口存储器和控制逻辑I/O温度传感器暂存储器上限寄存器TH 供电力式检 测下限寄存器TL Vcc 8位CRC发生器 GNDDS1820测温原理如图(51)所示图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1 ,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度

23、寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 在正常测温情况下,DS1820的测温分辩率为0.5以9位数据格式表示,其中最低有效位(LSB)由比较器进行0.25比较,当计数器1中的余值转化成温度后低于0.25时,清除温度寄存器的最低位(LSB),当计数器1中的余值转化成温度后高于0.25,置位温度寄存器的最低位(LSB),如25.5对应的9位数据格式如下:5.3、 提高DS1820测温精度的途径 (1)DS1820高精度测温的理论依据 DS1820正常使用时的测温分辨率为0.5,这对于水轮发电机组轴瓦温

24、度监测来讲略显不足,在对DS1820测温原理详细分析的基础上,我们采取直接读取DS1820内部暂存寄存器的方法,将DS1820的测温分辨率提高到0.10.01 DS1820内部暂存寄存器的分布如表1所示,其中第7字节存放的是当温度寄存器 停止增值时计数器1的计数剩余值,第8字节存放的是每度所对应的计数值,这样,我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度,考虑到D

25、S1820测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度T实际可用下式计算得到: T实际=(T整数0.25)+(M每度M剩余)/M每度 (2) 测量数据比较 表2为采用直接读取测温结果方法和采用计算方法得到的测温数据比较,通过比较可以看出,计算方法在DS1820测温中不仅是可行的,也可以大大的提高DS1820的测温分辨率。表1 DS18B20暂存寄存器分布寄存器内容 字节地址温度最低数字位 0温度最高数字位 1高温限值 2低温限值 3保留 4保留 5记数剩余值 6每度记数值 7 CRC校验 8 5.4、DS1820使用中注意事项 DS1820虽然具有测温系统简单、测温精度高、

26、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。 (2) 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

27、 (3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4) 在DS1820测温程序设计中,向DS1820发出温度转换命令 后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或 断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这

28、一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 6 软件设计6.1、智能温控系统总流程图采集并显示第一个温度开始延时根据温差的大小使抽水机做出相应的动作根据温度的大小使抽水机做出相应的动作根据温度的大小使抽水机做出相应的动作结束延时计算并显示温差延时采集并显示第二个温度 图(6-1)智能温控系统总流程图6.2、DS18B20子程序流程图 说明:不显示符号位和百位,只显示包括一位小数的温度大小开始温度零下温度值取补码置“”标志置“+”标志计算小数位温度BCD值计算整数位温度BCD值温度数据移入显示寄存器十、个位和一位小数显示;符号不显示;百位为1或2结束YN图(6-2)DS18B

29、20子程序流程图6.3、根据温度一、二的大小使喷水机动作的子程序流程图 说明:温度一的如下图,温度二的则把R5R6改为R3R4即可,第一位显示1表示此数据为第一个温度值,第二三四位则为包含一位小数的温度值;第一位显示2表示此数据为第二个温度值,第二三四位则为包含一位小数的温度值。开始R5R635或=35发出红色警告并启动大功率抽水机R5R630或=30发出黄色警告并启动小功率抽水机结束关闭所有的警告和喷水机YNNY 图(6-3)根据温度一的大小使喷水机动作的子程序流程图6.4、温差子程序流程图说明:温差为温度一减温度二,第一位显示3表示此数据是温差,第二位显示0表示温度一大于温度二、显示1表示

30、温度二大于温度一,三四位为温差大小值开始R5R6R3R4H或=R3R4R2=3R3=0R4R5=R5R6R3R4R2=3R3=1R4R5=R3R4R5R6结束图(6-4)温差子程序流程图6.5、根据温差的大小使喷水机动作的子程序流程图说明:当温差大于或等于10时,发出红色警告并启动大功率抽水机;当温差大于或等于5而小于10时,发出黄色警告并启动小功率抽水机。开始R3R410或=10发出红色警告并启动大功率抽水机R5R65或=5发出黄色警告并启动小功率抽水机结束关闭所有的警告和喷水机YNNY 图(6-5)根据温差的大小使喷水机动作的子程序流程图7、调试结果(1)、温度一显示正常,显示的结果为1x

31、x.x;过一秒后显示第二个温度,显示的结果为2xx.x;过一秒后显示温差,显示的结果为3xxx:当温度一的整数位大于或等于温度二的整数位时,显示的结果为30xx,xx=温度1温度2;当温度一的整数位小于温度二的整数位时,显示的结果为31xx,xx=温度2温度1;再过一秒,显示电路又开始显示第一个温度了。系统就这样不间断的重复上述过程。(2)、警告和喷水机电路运做正常:当温度一或二的整数部分大于或等于30而小于35时,系统发出黄色警告,同时启动小功率的喷水机,当温度降到30以下时,系统则将其关闭;当温度一或二的整数部分大于或等于35时,系统发出红色警告,同时启动大功率的喷水机,当温度降到35以下

32、而又大于或等于30时,系统发出黄色警告,同时启动小功率的喷水机,当温度降到30以下时,系统则将其关闭。(3)、因为系统的的某些电路有缺损,所以系统有时会出现不稳定的现象。 综上所述,系统的工作情况基本正常,各项基本功能都已经实现。致 谢在毕业论文接近末尾之时,我要衷心地感谢我们黄朝良老师,在我整个毕业设计过程中,黄朝良老师给了我很大的帮助和细心的指导。在一个多月的毕业设计过程中,当我遇到了困难和问题时,当我们需要他的时候,黄朝良老师总是第一时间出现在我们面前,他让我们学会了以前在课堂上没有的东西。 另外,我还要特别感谢我所有的搭档,是他们给了我巨大的勇气和战胜困难的信心,在毕业设计中我们合作的

33、很愉快,当我们遇到困难时我们一起去探讨和研究,一起去战胜它,大家也一起分享排除问题和困难后的喜悦。 同时大家也发扬我们慷慨激扬精神:特别能吃苦,特别能攻关,特别能战斗,特别能奉献 。在此我表示真诚的感谢! 心 得 体 会 经过这次毕业设计,使我觉得不论从理论知识还是从实际操纵中都学到了不少知识,我想归纳起来,主要有以下四个方面: (1)、经过这次毕业设计,它让我接触更多平时没有接触过的科学仪器设备、元器件以及获得相关的仪器调试经验,同时我也发现自己在这方面很多不足之处。体会到理论知识对实践有很大的指导作用,她让我知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。 (2)、学会了高

34、效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。 (3)、在毕业设计中,我们应当注意重点与细节的关系。 (4)、失败不可怕,只要不趴下,昂首向前走,希望总会有。 (5)、同组同学相互包容,彼此合作,取长补短,才能铸就最后的成功。 可以这样说毕业设计是对大学三年所学知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能为毕业设计打下基石。参考文献

35、 1 李广弟等编 单片机基础 北京航空航天大学出版社 2001 2 吴金戌等编 8051单片机实践与应用 清华大学出版社 2001 3 王洪庆编 微型计算机控制技术 机械工业出版社 2006 4 付家才编 单片机控制工程实践技术 化学工业出版社 2004 5 鲍宏亚等编 MCS-51系列单片机应用系统设计及实用技术 中国宇航出版社 2005 6 张志良编 单片机原理与控制技术(P46-47、P203-224)机械工业出版社 20027 付家才编 电子实验与实践(P29-59) 高等教育出版社 20048 苏家健等 单片机原理与应用技术(P249-251)高等教育出版社 20049 魏炳贵编 电

36、力拖动基础 机械工业出版社 2002附录: 系统设计总程序 ORG 0000H SJMP MAIN ORG 0030H MAIN :MOV SP,#29H MAIN1:LCALL GET_TEMP1 ;开始读取第一个温度 LCALL FENLI1 LCALL BCD1 LCALL DIANJI1 LCALL CHANGE_CLEAR1 LCALL SHUCHU1 ;输出第一个温度 LCALL YANSHI ;延时等待 LCALL YANSHI LCALL YANSHI LCALL GET_TEMP2 ;开始读取第二个温度 LCALL FENLI2 LCALL BCD2 LCALL DIANJI

37、2 LCALL CHANGE_CLEAR2 LCALL SHUCHU2 ;输出第二个温度 LCALL YANSHI ;延时等待 LCALL YANSHI LCALL YANSHI LCALL WENCHA ;调用温差子程序 LCALL DIANJI LCALL CHANGE_CLEAR3 LCALL SHUCHU3 LCALL YANSHI LCALL YANSHI LCALL YANSHI sjmp main1;*;功能:从DS18B20中提取温度,并把高字节放在R6中,低字节放在R7 中;其中R7 中的高四位放整数部分的低四位,R6中的低四位放整数部分;的高四位,R7的低四位为小数部分。;

38、输出:R6、R7;*GET_TEMP1: CLR EA ;使用ds1820一定要禁止任何中断产生 LCALL RESET1 ;调用初使化子程序 MOV A,#0CCH LCALL WRITE1 ;送入跳过ROM命令 MOV A, #44H ; LCALL WRITE1 ;送入温度转换命令 LCALL RESET1 ;温度转换完全,再次初使化ds18b20 MOV A,#0CCH LCALL WRITE1 ;送入跳过ROM命令 MOV A,#0BEH LCALL WRITE1 ;送入读温度暂存器命令 LCALL READ1 MOV R7,A ;读出温度值低字节存入R7 LCALL READ1 M

39、OV R6,A ;读出谩度值高字节存入R6 SETB EA RET;-RESET1: ;初始化ds18b20子程序 L01:CLR P1.2 ;复位: MOV R2,#149 ;4us L11:DJNZ R2,L11 ;596us SETB P1.2 ;释放ds1820总线: MOV R2,#15 ;4us L41:DJNZ R2,L41 ;60us CLR C ;2us,清存在信号 MOV C,P1.2 ;取存在信号: JC L01 ;存在吗?不存在则重新来-001 MOV R2,#125 ;有存在就拉高 setb p1.2 L51: DJNZ R2,L51 ;500us RET;-WRIT

40、E1: MOV r1,#08H ;设置写位个数 WLOP1:RRC A ;把写的位放到C ACALL WRBIT1 ;调写 1位子程序 DJNZ r1,WLOP1 ;8位全写完? RETWRBIT1: MOV B,#15 ;设置时间常数 CLR P1.2 ;写开始 NOP ;2us MOV P1.2,C ;C内容到总线,4usWDLT1: DJNZ B,WDLT1 ;60us SETB P1.2 ;释放总线 RET;-READ1: MOV r1,#8H ;设置读位数 RLOP1:ACALL RDBIT1 ;调读1位子程序 RRC A ;把读到位在C中并依次送给A DJNZ r1,RLOP1 ;

41、8位读完? RETRDBIT1: CLR P1.2 ;读开始图2255的t0时刻 NOP ;2us SETB P1.2 ;释放总线 NOP ;2us MOV C,P1.2 ;P1.2内容C MOV B,#13 ;设置时间常数RDDLT1:DJNZ B,RDDLT1 ;等待52us SETB P1.2 RET;*;作用:把小数部分同整数部分分开,R6放整数R7放小数,F0放符号位;输入:R6R7;输出:R6R7 F0;*FENLI1: MOV A,R6 MOV C,ACC.7 MOV F0,C ;符号位 JC FENLI11 SJMP FENLI21FENLI11:MOV A,R6 CPL A

42、MOV R6,A MOV A,R7 CPL A CLR C INC A MOV R7,A MOV A,R6 ADDC A,#00H MOV R6,AFENLI21:MOV 08H,R7 ANL 08H,#0FH ;小数部分 MOV R0,#12FENLI31:MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A MOV R7,A MOV A,09H RRC A MOV 09H,A ;整数部分 DJNZ R0,FENLI31 MOV R6,09H ;整数部份 MOV R7,08H ;小数部分 RET;*;作用:将R6R7中的二进制数化作BCD码的形式;输入:R6 R7;输

43、出:R4R5R6 R7;*BCD1: MOV A,R6 ;开始处理整数部分: MOV B,#100 DIV AB MOV R4,A ;存整数高位 MOV A,B MOV B,#10 DIV AB MOV R5,A ;存整数中位 MOV R6,B ;存整数低位 MOV A,R7 ;开始处理小数部分: MOV B,#5 MUL AB MOV B,#10 DIV AB MOV 08H,A ;进位 MOV A,R7 MOV B,#2 MUL AB ADD A,08H MOV B,#10 DIV AB MOV 08H,A ;进位 MOV A,R7 MOV B,#6 MUL AB add A,08H MO

44、V B,#10 DIV AB MOV R7,A ;暂存小数最高位 MOV A,B CLR C SUBB A,#5 JC BCD11 INC R7 BCD11:RET;*;根据温度1的大小使系统做出相应的动作;输入R5R6,输出:P0.1接大功率喷水机 P0.3接小功率喷水机;*DIANJI1: MOV A,R5 CJNE A,#3,LOOP30 SJMP LOOP33 LOOP30:JC LOOP31 MOV P0,#0BFH SJMP LOOP34 LOOP33:MOV A,R6 CJNE A,#5,LOOP32 MOV P0,#0BFH SJMP LOOP34 LOOP32:JC LOOP

45、35 MOV P0,#0BFH SJMP LOOP34 LOOP35:MOV P0,#0EFH SJMP LOOP34 LOOP31:MOV P0,#0FFH LOOP34:RET;*;作用:用于把R4R5R6R7转化为满足输出的类型;输入:R4R5R6 R7;输出:R4R5R6 R7;*CHANGE_CLEAR1:MOV 50H,R5 MOV 51H,R6 MOV DPTR,#TABLE ;指向表首 MOV A,R4 ;转换为表格中的数据 MOVC A,A+DPTR MOV R4,A MOV A,R5 MOVC A,A+DPTR MOV R5,A MOV A,R6 MOVC A,A+DPTR

46、 MOV R6,A MOV A,R7 MOVC A,A+DPTR MOV R7,A INC R6 ;小数点 CJNE R4,#0FCH,OUT21 ;高位清零 MOV R4,#00H CJNE R5,#0FCH,OUT21 MOV R5,#00H OUT21:JB F0,OUT31 ;判断是否为负数加符号 SJMP OUT1 ;如果为正数则不加符合。 OUT31:CJNE R4,#00H,OUT1 ;最高位是否为零 CJNE R5,#00H,KKK11 ;中位是否为零 MOV R5,#02H ;R5用来显示符合 SJMP OUT1 KKK11:MOV R4,#02H ;R4用来显示符合 OUT

47、1 :RET;*;功能:将R4R5R6R7串行输出;输入:R4R5R6R7;*SHUCHU1: mov r0, #07h ;分别对应四个字 MOV R4,#60H SHOW1:mov R1, #08h ;每个字八位 mov a, r0 SHOW11:rrc a clr p1.1 mov p1.0, c setb p1.1 djnz R1,SHOW11 dec R0 CJNE R0,#03H,SHOW1 MOV R6,50H MOV R7,51H RET ;*;功能:从DS18B20中提取温度,并把高字节放在R4中,低字节放在R5 中;其中R5 中的高四位放整数部分的低四位,R4中的低四位放整数部分;的高四位,R7的低四位为小数部分。;输出:R4、R5;*GET_TEMP2: CLR EA ;使用ds1820一定要禁止任何中断产生 LCALL RESET2 ;调用初使化子程序 MOV A,#0CCH LCALL WRITE2 ;送入跳过ROM命令 MOV A, #44H ; LCALL WRITE2 ;送入温度转换命令 LCALL RESET2 ;温度转换完全,再次初使化ds18b20 MOV A,#0CCH LCALL WRITE2 ;送入跳过ROM命令 MOV A,#0BEH

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