基于单片机的恒温控制系统设计中北大学_第1页
基于单片机的恒温控制系统设计中北大学_第2页
基于单片机的恒温控制系统设计中北大学_第3页
基于单片机的恒温控制系统设计中北大学_第4页
基于单片机的恒温控制系统设计中北大学_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 绪论 温度是表征物体冷热程度的物理量。在很多生产过程中,特别是在冶金、化工、建材、食品、机械、石油等工业中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。 单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至

2、是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。但随之而来的是巨额的成本。在很多的小型系统中,处理机的成本占了系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。 随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且可以很容易地做到多点

3、的温度检测,如果对此原理图稍加改进,还可以进行不同地点的实时温度检测和控制。1.1 研究的目的和意义 温度是工业生产中主要被控参数之一,温度控制自然是生产的重要控制过程。工业生产中温度很难控制,对于要求严格的的场合,温度过高或过低将严重影响工业生产的产质量及生产效率,降低生产效益。这就需要设计一个良好温度控制器,随时向用户显示温度,而且能够较好控制。单片机具有和普通计算机类似的强大数据处理能力,结合PID,程序控制可大大提高控制效力,提高生产效益1。 例如钢铁生产过程中,按照工艺条件的规定保持一定的温度才能保证产品质量和设备的安全。对电气设备进行温度的监控,例如高压开关、变压器的出线套管等,判

4、断可能存在的热缺陷,进而能及时发现、处理、预防重大事故的发生。因此研究温度控制仪具有重要的意义2。 在单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业等重要工业领域中,担负着重要的测量任务。在日常生活中,也可广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场合3。 目前市场上热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能即使热水器

5、具有辅助加热功能。也可能由于加热时间不能控制而产生过烧,从而浪费电能。本文设计的热水器控制系统以51单片机为检测控制中心单元,具有温度设定与控制功能。该控制器和以往显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点,提高了电能的使用效率,具有可观的经济效益和社会效益4。1.2 国内外发展状况 温度控制采用单片机设计的全数字仪表,是常规仪表的升级产品。温度控制的发展引入单片机之后,有可能降低对某些硬件电路的要求,但这绝不是说可以忽略测试电路本身的重要性,尤其是直接获取被测信号的传感器部分,仍应给予充分的重视,有时提高整台仪器的性能的关键仍然在于测试电路,尤其是传感器的改进。现

6、在传感器也正在受着微电子技术的影响,不断发展变化。传感器正朝着小型、固态、多功能和集成化的方向发展。 近年来,温度控制的发展尤为迅速。国内外市场上已经出现了多种多样温度控制仪表,应用于社会的各个方面。例如能够进行程序控温的智能多段温度控制仪,能够实现数字PID和各种复杂控制规律的智能式温度调节器等5。 水温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求。但从对控制方法的分析来看,PID控制方法最适合本例采用。另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。因此本系统

7、可以采用PID的控制方式,以最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求6。 传统的一位式模拟控制方案,选用模拟电路,用电位器设定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统所得结果的精度不高并且调节动作频繁,系统静态差大、不稳定。系统受环境影响大,不能实现复杂的控制算法,不能用数码管显示,不能用键盘设定。 传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使控制精度做得较高,而且不能用数码管显示,对键盘进行设定8。 现在国内外一

8、般采用经典的温度控制系统。采用模拟温度传感器对加热杯的温度进行采样,通过放大电路变换为 05V 的电压信号,经过A/D 转换,保存在采样值单元;利用键盘输入设定温度,经温度标度转换转化成二进制数,保存在片内设定值单元;然后调显示子程序,多次显示设定温度和采样温度,再把采样值与设定值进行 PID 运算得出控制量,用其去调节可控硅触发端的通断,实现对电阻丝加热时间的控制, 以此来调节水温使其基本保持恒定9。 采用单片机AT89C52设计温度实时测量及控制系统。单片机AT89C52能够根据温度传感器DS18B20所采集的温度数据来控制加热器或致冷器的启停,从而把温度控制在设定的范围之内。在温控开关被

9、激活的情况下,当温度低于设定的下限时,单片机启动加热器加热,同时点亮绿色发光二极管,当温度高于设定的上限时,单片机启动致冷器降温,同时点亮红色发光二极管。所有温度数据均通过液晶显示器LCM1602显示出来。为了防止单片机掉电引起的数据丢失,温度上下限的设定值存储在AT24C02B中10。 采用一线制数字温度传感器DS18B20来作为温度传感器。传感器输出信号进4.7K的上拉电阻直接接到单片机的P1.0引脚上。DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。温度传感器之

10、所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的11。从硬件和软件两方面来讲述水温自动控制过程,在控制过程中主要应用AT89C52、ADC0809、LED显示器、LM324比较器,而主要是通过 DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过四位数码管显示实时温度的一种数字温度计。软件方面采用汇编语言来进行程序设计,使指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。 而系统的过程则是:首先,通过设置按键,设定恒温运行时的温度值,并且用数码管显示这个温度值.然

11、后,在运行过程中将采样的温度模拟量送入A/D转换器中进行模拟数字转换,再将转换后的数字量用数码管进行显示,最后用单片机来控制加热器,进行加热或停止加热,直到能在规定的温度下恒温加热12。2 系统总体设计2.1 系统设计任务与要求 该温度自动控制系统采用AT89C52单片机为主控芯片,传感器采用数字温度传感器DS18B20,实现对温度的检测和控制。 技术要求: 1、能够连续测量水的温度值,用十进制数码管来显示实际温度,最小单位为1。 2、能够设定水的温度值,设定范围是3090,温度误差±0.5。 3、能够实现水温的自动控制,如果设定水温为80,则能使水温保持恒定在80的温度下运行。 4

12、、用单片机AT89C52控制,通过按键来控制水温的设定值,数值采用数码管显示。 该温度自动控制系统由温度信号采样电路,键盘及显示电路,温度控制电路,报警电路,时钟信号电路等构成,并运用PID算法进行温度控制和调整。 根据设计任务,详细分析温度自动控制系统的设计需求,并进行软硬件的总体设计。由键盘电路输入设定温度信号给单片机,温度信号采集电路采集现场温度信号给单片机,单片机根据输入与反馈信号的偏差进行PID计算,输出反馈量给温度控制电路,实现升温。显示电路实现现场温度的实时监控。设计人员需完成全部硬件和软件的设计,并利 Altium Designer 6.0仿真软件对设计结果进行验证。2.2 系

13、统方案的选择 在这个系统中我们从性能及设计成本考虑,我们选择AT89C52芯片。AT89C52的广泛使用,使单片机的价格大大下降。在温度传感器的选择上我们采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。该芯片直接向单片机传输数字信号,便于单片机处理及控制。本制作的最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。采用温度芯片DS18B20测量温度,体现了作品芯片化的这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。在这个过程中,我们

14、通过单片机将传感器所测量出来的温度通过数码管可以显示出来。这样就能实时显示温度情况13。本设计采用了PID控制。在工程实际中,PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型,控制理论的其他技术也难以采用,系统控制器的结构和参须依靠经验和现场调试来确定时,应用PID控制技术最为方便。    PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时问和微分时间的大小。PID控制器参数整定的方法概括起来有两大类:一是理论计算整定

15、法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接且方法简单、易于掌握,在实际中被广泛应用14。3 器件和模块的选用3.1 AT89C52单片机 AT89C52是一种低功耗、高性能8位微控制器,具有8K 在系可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。 AT89C52具有以下标准功能:8k字节Flas

16、h,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止15。 其主要工作特性为: 1、内含8KB的Flash存储器,擦写次数达1000次; 2、内含128字节的RAM; 3、具有32根可编程I/O线; 4、具有2个16位可编程定时器; 5、具有6个

17、中断源、5个中断矢量、2级优先权的中断结构; 6、具有1个全双工的可编程串行通信接口; 7、具有1个数据指针DPTR; 8、两种低功耗工作模式,即空闲模式和掉电模式; 9、具有可编程的3级程序锁定位; 10、工作电源电压为5±1.2V,典型值为5V; 11、最高工作频率为24MHz。引脚排列如图3.1所示。 图3.1 AT89C52引脚排列3.2 DS18B20传感器 DS18B20原理与特性:采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先来介绍一下DS18B20这块传感器的特性及其功能: DSl8B20的管脚及特点

18、 DS18B20可编程温度传感器有3个管脚。内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.05.5 V。本文使用外部电源供电。主要特点有: 1. 用户可自设定报警上下限温度值。 2.不需要外部组件,能测量55+125 范围内的温度。 3.10 +85 范围内的测温准确度为±05 。 4.通过编程可实现9l2位的数字读数方式,可在至多750 ms内将温度转换成12 位的数字,测温分辨率可

19、达0.0625 。 5.独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。 6.测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 7.负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20支持多点组网的功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同DS18B20 为9位12位A/D转换精度,而DS1820为9位A/D转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术

20、问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。如下3.2的测温原理图不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3.2所示: 比较预置斜坡累加器低温度系数振荡器预置计数器 清0=0温度寄存器 增加高温度系数振荡器计数器=0 停止 图3.2 DS18B20的测温原理框图 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。则高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的

21、一个基数值时。计数器1对低温度系数晶振产生脉冲信号,进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值。 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线采用屏蔽4芯双绞线,其中有一对接地线与信号线,另一组接VCC和地线。3.

22、3 复位和时钟电路的设计 本系统中采用自动复位和手动复位键复位相的方式。系统时钟电路设计采用内部方式。AT89C52内部有一个用于构成振荡器的高增益反相放大器。这个放大器与作为反馈元件的片外晶体谐振器构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。本系统电路采用的晶体振荡器频率为11.0592MHz。采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率。复位电路和时钟电路如图3.3所示。复位电路有上电自动复位和按钮手动复位两种。上电复位是利用电容充电来实现的,上电瞬间RST/VPD端的电位与VCC相同,随着充电电流的减少,RST/VPD的电位逐渐下降,

23、图3.3中的10K的电阻是施密特触发器输入端的一个下拉电阻,时间常数为10*10-6*10*103s=100ms,只要Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作。上电复位所需最短时间是震荡周期建立时间加上2个机器周期时间。按钮复位采用电平复位方式,按下复位电钮时,电源对外接电容充电,使RST/VPD端为高电平,复位按钮松开后,电容通过内部下拉电阻放电,逐渐使RST/VPD端恢复低电平16。图3.3 复位电路和时钟电路3.4 温度采集电路 数据采集电路如图3.4所示,1脚接地,2脚即为单总线数据口,3脚接电源。温度传感器DS18B20采集被控对象

24、的实时温度,提供给AT89C52的P3.5口作为数据输入。 图3.4 数据采集电路3.5 显示电路的设计 数码管显示部分,采用与单片机相连接,将温度传感器采集到的信息迅速转化为可视温度,增加了可读性17。 图3.5 数码管显示电路图3.6 温度控制 采用实时控制的方法,主机AT89C52输出温度控制信号,控制可控硅控制温度控制电路。温度控制电路主要由加热器跟制冷气构成,使用前人可以对所需求的恒温进行设置,设定温度通过数码管可显示。温度设置完成后DS18B20采集环境中的温度。采集到的温度传回单片机,然后对设置温度与采集的温度进行PID计算计算出控制量,AT89C52输出温度控制信号,控制可控硅

25、对加热器或者制冷器开始工作使温度达到所需求的温度保持恒定。当温度达到设定值时蜂鸣报警系统报警,一次温度控制完成。3.7 供电系统 供电部分采用TL431构成的恒压源,TL431是一个有良好的热稳定性能的三端可调分流基准源。他的输出电压用两个电阻就可以任意的设置到从Verf(2.5V)到36V范围内的任何值。该器件的典型动态阻抗为0.2。其稳压电路图如图3.6: 图3.6 供电电路 4 PID控制和参数整定4.1 PID调节器控制原理 PID控制器是一种线性控制器,一种它根据给定值rin(t)与实际输出值yout(t)构成控制偏差: Error(t)=rin(t)-yout(t) PID控制就是

26、对偏差信号进行比例、积分、微分运算后,形成一种控制规律。即,控制器的输出为: (4.1) 或写成传递函数的形式: (4.2) 式中, kp比例系数;Ti积分时间常数;Td微分时间常数。简单说来,PID控制器各校正环节的作用如下: 比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。 比例控制: Gc(s)= Kp 积分环节:主要用于消除静差,提高系统的无差度。积分作用的强尽弱取决于积分 时间常数Ti,Ti越大,积分作用越弱,反之则越强。 积分控制: Gc(s) = Kp/T is 微分环节:反偏差信号的变化趋势(变化速率),并能在偏差信号

27、变得太大之前, 在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间7。 微分控制: Gc(s) =KpT ds4.2 PID控制的分类 基本PID控制器的理想算式为 (4.3) 式中 u(t)控制器(也称调节器)的输出; e(t)控制器的输入(常常是设定值与被控量之差,即e(t)=r(t)-c(t)); Kp控制器的比例放大系数; Ti 控制器的积分时间; Td控制器的微分时间。 设u(k)为第k次采样时刻控制器的输出值,可得离散的PID算式 (4.4) 由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以称式(4.

28、4)为位置式PID控制算法。位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。 增量式只需计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差采样值有关,当出现计算误差或精度不足时,对控制量计算的影响较小,且较容易通过加权处理获得比较好的控制效果。4.3 数字PID参数的整定 PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器

29、参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。本设计采用PID归一整定法把对控制台三个参数(Kc、Ti、Td,)转换为一个参数KP, 从而使问题明显简化。以达到控制器的特性与被控过程的特性相匹配,满足某种反映控制系统质量的性能指标15。4.4 PID计算程序 PID调节规律的基本输入输出关系可用微分方程表示为: (4.5)式中为调节器的输入误差

30、信号,且 (4.6)其中:为给定值,为被控变量; 为调节器的输出控制信号; 为比例系数; 为积分时间常数; 微分时间常数。 计算机只能处理数字信号,若采样周期为T第n次采样的输入误差为,且,输出为,PID算法用的微分由差分代替,积分由代替,于是得到 (4.7)写成递推形式为= = = = (4.8)其中: (4.9) (4.10) (4.11) 显然,PID计算un只需要保留现时刻en以及以前的两个偏差量en-1和en-2。初始化程序初值en-1= en-2 =0 通过采样并根据参数KP、KD、KI以及en、en-1和en-2计算un。 根据输出控制增量un,可求出本次控制输出为 += (4.

31、12) 下面对PID运算加以说明: 所有的数都变成定点纯小数进行处理。 算式中的各项有正有负,以最高位作为符号位,最高位为0表示为正数,为1表示负数。正负数都是补码表示,最后的计算以原码输出。 节16位进行计算,最后将运算结果取成高8位有效值输出。输出控制量un的限幅处理。为了便于实现对晶闸管的通断处理,PID的输出在0250之间。大于250或小于0的控制量都是没有意义的,因在算法上对进行限幅,即 = (4.13)开始计算PD=KD(en-2en-1+en-2)输入Cn5rn 计算en=rn-Cn计算un=un-1+PP+P1+PD un un-1,e n-1 en-2,en e n-1P1=

32、K1*en计算Pp=Kp(en-en-1)un 输出限幅处理计算P1+Pp返回图4.1 PID计算程序的流程图 PID的计算公式采用位置式算法,计算公式为 + = (4.14)5 软件设计 系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是数字滤波程序:控制算法模块完成控制系统的PID运算并且输出控制量。5.1 主程序模块 主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对

33、单片机的初始化、串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行18。 设计模块图如下图5.1所示。供电系统单片机STC89C52数码管显示温度温度传感器温度控制蜂鸣器报警按键设置 图5.1 设计模块图主程序模块的程序流程图如图5.2所示。NYNN NY图5.2 主程序流程图开始读温度设定值等待数据采集温度显示PID运算控制输出系统初始化 温度设定否 运行/停止 运行/停止 等待5.2 数据采集和显示模块 数据采集模块的任务是负责温度信号的采集以及将采集到的数字量提供给单片机。 AT89C52通过控制DS1

34、8B20读取实时温度,然后,通过P0口送到数码管进行显示。显示程序设计框图如图5.3所示。开始清除屏幕 N测试显示屏幕是否忙状态送地址显示 送显示数据返回 Y 图5.3 显示程序设计框图6 应用软件与实物展示6.1 软件介绍本次设计中共用到了三款应用软件,首先是程序编程软件,用到的是Keil C51软件。然后是对源程序的烧录软件,用到的是STC-ISP烧录软件。在对PCB图的制作中用到的是Altium Designer 6.0。Keil C51是51系列兼容单片机C语言软件开发系统,该系统提供了丰富的函数库和功能强大的集成开发调试工具,全windows界面。其生成的代码效率非常的高,多数语言生

35、成的汇编代码程序紧凑容易理解。C语言功能上结构性、可读性、可维护性上有很高的优势。STC-ISP是一款单片机下编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2050系列和12C5140等系列的STC单片机,由于其使用非常简便已经被广泛使用。 2005年年底,Protel软件的原厂商公司推出了Protel系列的最新高端版本Altium Designer 6.0。 Altium Designer 6.0,它是完全一体化电子产品开发系统的一个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。Altium Designer 是业界首例将设计流程、集成化 PCB 设计

36、、可编程器件(如 FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。6.2 实物展示 通过Altium Designer 6.0做出PCB电路图,然后根据PCB图焊接实物。参考图6.1和图6.2。 图6.1 整体设计PCB图通过PCB图做出的实物图如图6.2所示: 图6.2 实物图 总结 首先,通过这次应用系统的设计,我学到了不少的知识。把以前没有学好的程序专业知识进行了补充和加强,加深了我对于单片机和数字电路的认识,巩固了自己的专业知识,相信在以后的学习和工作中碰到这

37、些基础的元器件我会更加得心应手。 本次设计主要是针对温度的检测跟控制的算法做出了研究。在设计中深刻的对AT89C52单片机、DS18B20温度传感器有了详细的了解,对PID的控制算法有了基本了解。我所写的系统主要根据目前工业自动化的发展趋势和国内实际的应用特点和要求,使用AT89C52主控芯片进行控制,其中温度控制电路是设计通过可控硅调功器实现。 通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。 附 录附录A 单片机程序/*/*

38、李奇毕设*/ Descriptoon: / *采用89C52+DS1820+数码管+蜂鸣器/ *DS1820设置为12位精度/ *环境温度超过Alarm值 蜂鸣器报警 / *Alarm值可通过按键自由设定/*该温度可设定范围1-100度,测量范围-55-125度 /*/*可调温度报警器*#include <REG52.H>#include <intrins.h>#include <math.h>#define uchar unsigned charunsigned char code dis_code= 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,

39、/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xF7,/*负号*/ 0xB6,/*温度设定状态*/ ;uchar data dis_buf8,i;uchar data dis_index ; /数码管显示标签uchar dis_digit=0xfe; /数码管位选通控制端sbit Spk=P37; /驱动蜂鸣器报警sbit Key_UP = P33; /上调温度sbit Key_DOWN = P34; /下调温度sbit Key_SET = P32; /设定键(温度设定)/

40、*18B20驱动程序,DQ为数据口,接于P1.4*11.0592M晶振,上拉4.7k电阻*/#define uchar unsigned char#define uint unsigned intsbit dq = P10; /定义18B20的数据端bit flag;uint Temperature;uchar gechar,shichar,baichar,Alarm;uchar temp_buff9; /存储读取的字节,read scratchpad为9字节,read rom ID为8字节uchar id_buff8;uchar *p;uchar crc_data;uchar code Cr

41、cTable 256=0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,70, 2

42、4, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,140, 210, 48, 110

43、, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,202, 148, 118, 40, 171, 2

44、45, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53; /CRC校验表/*Function:延时处理 */void TempDelay (uint us)while(us-);/*Function:18B20初始化*/void Init18b20 (void)EA=0;dq=1;_nop_();dq=0;TempDelay(86); /delay 530 uS/80_nop_();dq=1;TempDelay(14); /delay 100 uS/14_nop_();_nop_();_nop_();if(dq

温馨提示

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

评论

0/150

提交评论