基于单片机炉温控制系统设计_第1页
基于单片机炉温控制系统设计_第2页
基于单片机炉温控制系统设计_第3页
基于单片机炉温控制系统设计_第4页
基于单片机炉温控制系统设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机炉温控制系统设计摘 要本文主要从硬件和软件两方面介绍了mcs-51单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。还介绍了在单片机温度控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以89c51单片机为核心,由温度检测电路,模/数转换电路, 过零检测电路, 报警与指示电路, 光电隔离与功率放大电路等构成。关键词:单片机;温度传感器;温度检测;温度控制;pid算法based on single-chip microcomputre temperature controlsystem designabstractthe desi

2、gn of single-chips temperature control system is introduced from hardware and software, and simply explains how to actualize the temperature control. the hardware principle and software case fig are described. some important techniques in a design scheme of the hardware and the software of the tempe

3、rature control by single-chip microcomputer are introduced. the system mostly takes 89c51 single-chip microcomputer as core, it is structured by temperature testing circuit, a/d switch circuit, zero passage testing circuit, warning and indication circuit, optical-electrical isolation and power ampli

4、fier circuit and so on.key words:singlechip microcomputer;temperature sensor;temperature collecting;temperature controlling;pid algorithm 目 录1 前言11.1 课题的背景与意义11.2 课题的应用与展望21.3 课题举例简介22 总体方案32.1 系统结构32.2 单片机温控模块32.3 具体设计考虑43 硬件设计53.1 at89c51单片机的最小系统设计53.1.1 电源电路53.1.2 时钟电路53.1.3 复位电路73.2 温度控制电路73.3 温

5、度检测电路设计83.3.1 设计目标83.3.2 设计的出发点83.3.3 设计原理83.3.4 转换电路83.3.5 信号处理电路93.3.6 主电路103.4 光电隔离电路113.5 过零检测电路114 软件设计124.1 设计步骤124.1.1 系统的程序框图124.2 pid控制算法144.2.1 pid控制作用144.2.2 pid算法的微机实现144.2.3 pid算法的程序设计154.3 内存分配165 结论19致谢20参考文献21附录a源程序清单22附录b电路原理图321 前言1.1 课题的背景与意义在近四十年的时间里,电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到

6、大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了一代新型的电子计算机微型计算机,使得计算机应用日益广泛;而单片微型计算机的问世,则更进一步推动了这一发展趋势,使计算机应用渗透到各行各业,达到了前所未有的普及程度。一个由微电子技术为先导,计算机技术为标志,包括新材料、宇航、生物工程、海洋工程等多种学科在内的新技术革命正在兴起。 在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和

7、新产品更新换代的理想机种,具有广阔的发展前景。1.2 课题的应用与展望 随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。总的来说,在智能温度测量与控制电器中,单片机起了智能控制部件作用。它的存在,提高了电器的品质,增加了智能温度测量与控制电器的功能,并在智能温度测量与控制电器中执行模拟人类智能的进程。随着智能控制

8、理论与人工智能研究的深入,各种更加逼真地模拟人类智能的温度测量与控制电器会更多的出现,而单片机和智能理论的结合,将来不但更多的改进现行智能温度测量与控制电器,而且将会产生全新的智能温度测量与控制电器。1.3 课题举例简介在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品

9、的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。2 总体方案根据功能和指标要求,本系统可以从元件级开始设计,选用mcs-51单片机为主控机。通过扩展必要的外围接口电路,实现对烘箱温度的测量和控制。2.1 系统结构该系统以89c51单片机为核心,由温度测量变换、测量放大、大功率运放、a/d与d/a转换器、输入光电隔离、驱动电路、键盘显示、存储器共同组成。在系统中,温度和时间的设置、温度值及误差显示、控制参数得设置、运行、暂停及复位等功能由键盘及显示电路完成。图2-1 单片机温度控制系统方案原理示意图传感器把测量的烘箱温度信号转换成弱电压信号,经过信号放大电路,送入低通

10、滤波电路,以消除噪音和干扰,滤波后的信号输入到a/d转换器(adc0809)转换成数字信号输入主机。2.2 单片机温控模块 温度检测元件和变送器的选择和被控温度及精度等级有关。本设计采用镍铬/镍铝热电偶,此电偶用于01000的温度测量范围,相应的输出电压为0mv-41.32mv.变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0-41.32mv变换成0-10ma范围内的电流;电流/电压变送器用于把毫伏变送器输出的0-10ma电流变换成0-5v范围的电压。为了提高精度,变送器可以进行零点迁移。例如:若温度测量范围为4001000,则热电偶输出为16.4mv-41.32mv,

11、毫伏变送器零点迁移后输出0-10mv范围电流。这样,采用8位a/d转换器就可以使量化误差达到正负2.34度以内。2.3 具体设计考虑由于温度测量范围为0120,控制精度也不高,可选用8路8位adc0809作a/d转换器,分辨率可达0.5;为了方便操作,系统可不扩展专用键盘,温度给定输入可用2位bcd码拨盘开关置数;温度显示可用4位led;为了实现通过调节蒸汽流量控温,可扩展8位dac0832作da转换器。于是,单片机基本系统应为: 89c51+2764+8255+adc0809+dac0832+4位led。温度测量可以选用半导体集成温度传感器ad590,它的响应速度快,与单片机接口简单。其测温

12、范围为-55+150,工作电压430v,输出电流与绝对温度成正比,即为1a/k。执行机构可选用zkzp-型线性电动单座调节阀,用它来调节通入烘箱的蒸汽流量。调节阀用d/a转换器输出的可调电流控制,0ma对应阀门完全关闭,10ma对应阀门全打开。 可采用带死区的比例积分(pi)控制算法实现对温度的控制。烘箱温度与给定值的偏差小时,调节阀不动作,以减少阀的机械磨损;偏差较大时,经pi算法运算后,单片机通过d/a输出控制信号控制阀门的开度,为了使控制参数现场可调,可用3个电位器产生3路可调电压经过a/d转换实现对a/d转换,实现对pi算法的3个参数(比例系数kp、积分系数ki、控制周期tc)在线整定

13、。这种方法不仅可使参数调整方便,而且具有掉电保护功能。为了提高系统的抗干扰能力,d/a转换器与单片机之间进行光电隔离。使电动阀和单片机之间不共地。3 硬件设计3.1 at89c51单片机的最小系统设计3.1.1 电源电路如图3-1所示为集成直流稳压电源电路的原理图,本电源电路是由集成稳压器构成的。电路可分成三部分:电源变压器部分、整流滤波部分和稳压部分。变压器原边为工频交流220v电压,经过变压后,变压器副边的电压变为交流11v,11v交流电压经过桥式整流电路整流后变为直流10v电压,直流10v电压作为cw7805的输入电压,cw7805输出+5v电压。图中d2为整流桥,它由四个整流二极管接成

14、电桥形式。c3为滤波电容,c1用于抵消输入端较长接线的电感效应,以防止自激振荡,还可抑制电源的高频脉冲干扰。一般取0.11f。cw7805为三端固定输出集成稳压器,其输入和输出电压都为固定值,它的输入电压为+10v,输出电压为+5v。c2和c4用以改善负载的瞬态响应,消除电路的高频噪声,同时也具有消振作用。图3-1 电源电路3.1.2 时钟电路在at89c51内部有一个高增益反相放大器,其输入端为芯片引脚xtal1,输出端为引脚xtal2。而在芯片内部,xtal1和xtal2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机

15、的时钟脉冲信号,如图3-2所示。图3-2 时钟电路在时钟电路中晶振的选择很关键,mcs-51的工作频率为2-12mhz,我们选用的89c51单片机的工作频率为12mhz。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12m)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。时序 mcs-5l单片机的一个执器周期由6个状态(s1s6)组成,每个状态又持续2个接荡周期,分为p1和p2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12mhz的晶体振荡器,则每个机器周期为1us,每个状态周期为16us;在一数情况下

16、,算术和逻辑操作发生在n期间,而内部寄存器到寄存器的传输发生在p2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从s1p2开始执行指令。如果是双字节指令,则在同一机器周期的s4读入第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数mcs51指令周期为12个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但movx指令例外,movx指令是访问外部数据存储器的单字节双机器周期指令,在执行movx指令期间,外部数据存

17、储器被访问且被选通时跳过两次取指操作,实现延时功能。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,c6、c7可在20pf到100pf之间取值,但在20pf到30pf时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择12mhz,电容选择25pf。3.1.3 复位电路复位电路的原理是:通电时,电容两端相当于是短路,于是rst引脚上为高电平,然后电源通过电阻对电容充电,rst端电压慢慢下降,经过一段时间,达到低电平,单片机开始正常工作。89c51的复位是由外部的复位电路来实现的。复位引脚rst通过一个斯密特触发器用来抑制噪声,在每个机器周期的s5p2,斯密

18、特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用12mhz时c取22uf,r取1k。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过rst端经电阻与电源vcc接通而实现的。时钟频率选用12mhz时,c5取22uf,r1取200,r3取1k。如图3-3所示。图 3-3 复位电路3.2 温度控制电路89c51对温度的控制是通过双向可控硅实现的。如单片机温

19、度控制系统电路原理图所示,双向可控硅管和加热丝串接在交流220v、50hz是电回路。在给定周期t内,89c51只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由89c51用软件在p3.1引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。3.3 温度检测电路设计3.3.1 设计目标用单片机对温度进行实时检测和控制,以解决工业及日常生活中对温度的及时自动控制问题;用十进制数码显示实际温度值,方便人工监视;用键盘输入温度控制范围值,便于在不同应用场所设置不同温度范围值。当实际温度值不在该范围

20、时,系统能自动调节温度, 以保持设定的温度基本不变,达到自动控制的目的。系统的温度最小区分度为1。在环境温度变化时,温度控制的静态误差小于等于0.5。3.3.2 设计的出发点在达到对温度的检测和控制的基础上,达到一定的测控精度,并尽量使系统的可靠性高、稳定性好、性价比高、速度快、使用灵活、实现容易、便于扩充。3.3.3 设计原理本设计采用89c51单片机应用系统来实现设计要求,因89c51在片内含4kb的eeprom,不需外扩展存储器,可使系统整体结构简单。利用89c51串行口输出工作方式,使89c51的利用率大大提高,外部电路得以简化。89c51可直接对键盘进行扫描读数,可直接用串/并转换模

21、块驱动led显示温度值。因其利用率高,负载重,后相电路只需加一块同相驱动器即可正常工作。在串行传输数据时,频率可达到1mhz,对温度的显示完全达到测控精度要求。 3.3.4 转换电路在设计测温电路时,首先应将电流转换成电压。由于ad590为电流输出元件,它的温度每升高1k,电流就增加1a。当ad590的电流通过一个10k的电阻时,这个电阻上的压降为10mv即转换成10mv/k,为了使此电阻精确(0.1%),可用一个9.6k的电阻与一个1k电位器串联,然后通过调节电位器来获得精确的10k。图3-4所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器a1被接成电压跟随器形式,以增加信号的

22、输入阻抗。而运放a2的作用是把绝对温标转换成摄氏温标,给a2的同相输入端输入一个恒定的电压(如1.235v),然后将此电压放图3-4 电流/电压和绝对/摄氏温标的转换电路大到2.73v。这样,a1与a2输出端之间的电压即为转换成的摄氏温标。将ad590放入0的冰水混合溶液中,a1同相输入端的电压应为2.73v,同样使a2的输出电压也为2.73v,因此a1与a2 两输出端之间的电压:2.73-2.73=0即对应于0。3.3.5 信号处理电路 温度检测的小信号放大与绝对/摄氏温度转换采用图电路,其中rw用来完成绝对/摄氏温度转换及调零功能,运放要求采用一片集成普通四运放lm324来完成图的信号处理

23、功能,其工作电源取单电源vcc=9v。设计中电阻元件可参考下列取值:r1=r2=10k、r3=r4=20k、r5=r6=20k、rg=5k、rw=10k;高频滤波电容可取c=0.01f。图3-5 信号处理电路3.3.6 主电路主电路如图3-6所示,温度检测信号输入adc0809的in3引脚,经过模数转换结果输入at89c51,结果从p1口输出驱动2个led实现数据显示功能。图3-6 温度检测主电路3.4 光电隔离电路这部分电路是单片机与电阻丝加热器的接口。由于电阻丝的加热电压大于单片机的工作电压,为了避免烧坏单片机系统,采用光电隔离电路如图3-7所示。图3-7 光电隔离及放大电路3.5 过零检

24、测电路过零检测电路在每一个电源周期开始时产生一个脉冲,作为触发器的同步信号, 计数器t0对其进行计数。其电路如图3-5所示。220v交流电压经电阻限流后直接加到2个反相并联的光电偶器的输入端。在交流电源的正负半周, 分别导通, 输出低电平, 在交流电源正弦波过零的瞬间,两个光电耦合器均不导通, 输出高电平。该脉冲信号经非门整形后作为单片机的中断请求信号和可控硅的过零同步信号。 图3-8 过零检测电路4 软件设计本系统的控制软件可设计为一个主程序和一个t0通道中断服务程序。主程序的功能是完成系统初始化及温度和设定参数的显示,由于只有4位led,而温度bcd码设定值正常工作时应在85左右,不可能太

25、小,故可以用它设定为小值时来选择显示参数;t0通道可定时100ms,其中,定时1s完成数据的采集、报警和显示处理,定时tc秒完成控制算法的运算和控制输出。源程序清单参考附录a。4.1 设计步骤4.1.1 系统的程序框图如图5-1所示,为主程序框图,为t0通道中断服务程序框图。t0中断服务程序是温度控制系统的主体程序,用于启动a/d转换,读入采样数据,数字滤波,越限温度报警和越限处理,pid计算和输出可控硅的同步触发脉冲等。p1.3引脚上输出的该同步触发脉冲宽度由t1计数器的溢出中断控制,89c51利用等待t1溢出中断空隙时间完成把本次采样值转换成显示值而放入显示缓冲区和调用温度显示程序。89c

26、51从t1中断服务程序返回后便可恢复现场和返回主程序,以等待下次t0中断。主电路图参考附录b。 图4-1 温度控制系统程序框图4.2 pid控制算法前面提到,大多数的温度控制系统可以看作一阶纯滞后环节,由于本系统纯滞后时间较小,故可采用pid(比例、积分、微分)控制算法实施控制。4.2.1 pid控制作用pid是比例(p)、积分(i)和微分(d)3个控制作用的组合。连续系统pid控制器的微分方程为:y(t)= kppe(t)+ (4-1)式中 y(t)为控制器的输出;e(t)为控制器的输入;kp比例放大系数;ti为控制器的积分时间常数;td为控制器的微分时间常数。显然,kp越大,控制器的控制作

27、用越强;只要e(t)不为0,积分项会因积分而使控制器的输出变化;只要e(t)有变化的趋势,控制器就会在微分作用下,在偏差出现且偏差不大时提前给输出一个较强的控制作用。4.2.2 pid算法的微机实现由于微机控制系统是一种时间离散控制系统,故必须把微分方程离散化为差分方程,最终写出递推公式才能直接应用。显然: (4-2) (4-3)于是, kpe(n)+e(n)-e(n-1) (4-4)式中t=t,为采样周期;e(t)为第n次采样的偏差值;e(n-1)为第(n-1)次采样时的偏差值;n为采样序列,n=0,1,2,。由式(4-4)可以看出:计算一次y(n),不仅需要的存储器空间大,而且计算量也很大

28、,于是进一步写出递推公式:由 y(n-1)= kp e(n-1)+ +e(n-1)-e(n-2) (4-5) 由式(4)减去式(5)得: y(n)=y(n)-y(n-1) =kp e(n)-e(n-1)+e(n)-2e(n-1)+e(n-2) = kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2) (4-6) 或 y(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2)(4-7)式中 ki=kp,称为积分常数;kd=kp,称为微分常数。4.2.3 pid算法的程序设计在本控制系统中,烘箱温度与给定值

29、的偏差经过单片机pi算法运算后从dac0832输出010ma控制电流去控制电动阀的开度,所以应采用式(7)的位置式算法(且kd=0即为pi),即:ypi(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)(4-8)如果设kp,ki为纯小数,kp,ki,e(n),e(n-1)分别放在8031片内ram的25h,26h,29h,2ah中,pi结果ypi(n)放在r3r4中,则pi控制程序如下: pi:mov a,29h ;e(n) clr c subb a,2ah ;e(n)-e(n-1) mov b,25h ;kp lcall mults ;kp e(n)-e(n-1) mov

30、r4,a mov r3,b ;暂存于r3r4 mov a,29h ;e(n) mov a,26h ;ki lcall mults ;ki e(n) add a,r4 mov r4,a mov a,b addc a,r3 mov r3,a ;r3r4= kp e(n)-e(n-1)+ ki e(n) retmults:clr f0 ;置e(n)符号标志位为正 jnb acc.7,mul1 setb f0 ;置e(n)符号标志位为负 cpl a inc a ;取绝对值mul1:mul ab jnb f0,mul2 cpl a add a,#1 mov r2,a mov a,b cpl a addc

31、 a,#0 mov b,a mov a,r2 ;还原为补码mul2:ret4.3 内存分配为了编程方便,可以把89c51的内部128b ram先进行分配;也可在程序中用标号代替,最后用equ或data定义。如果先对内存进行分配,本系统可分配为: 00h07h,r0r7供主程序使用 08h0fh,r0r7供t0中断服务程序使用 20h 定时1s时间常数(初值为10) 21h 8255a口数据暂存(显示器段码)22h 8255b口数据暂存(d/a数据)23h 8255c口数据暂存 24h 8031 p1 口的t给定bcd值暂存。当t给定=01h时,显示的数据为kp参数,格式为p-;当t给定=02h

32、,显示器显示的数据为ki参数,格式为i-;当t给定=03h,显示器显示的数据为tc参数,格式为t-;t给定为其他值(85左右),显示器显示的数据为温度测量值25h kp参数暂存 26h ki参数暂存 27h tc参数暂存 28h t测量值(a/d)暂存 29h e(n)参数暂存 2ah e(n-1)参数暂存 2bh2eh 4次a/d值暂存 2fh 定时tc秒调节工作单元 30h31h t测量bcd码值暂存、格式为. 32h t测量值实际温度暂存 50h7bh sp指针工作区 7ch7fh 显示缓冲区(从左到右)注释a/d转换程序adc 它的功能为对4路a/d进行4次采样,取平均值后存于内存相应

33、单元。标度变换子程序bdbh它的功能是把温度a/d值变换为供显示的bcd码值(含1位小数),格式为.,存放于30h和31h中(31h为低位),并把整数部分存放在32h(十六进制数)。标度变换原理为:若a/d满量程(5v电压,a/d值为ffh)对应的温度为tm,则任意温度a/d值na/d对应的实际温度tx为:tx=na/d如果把温度变送器校准为a/d满量程(5v电压)对应的温度为127.5,则任意a/d值下的实际温度只需把该a/d值乘0.5即可,由于保留1位小数,可把该值乘5,显示时在第三位led显示出小数点即可。显示子程序disup它的功能是把显示缓冲区(7ch7fh)的数据转换为7段代码送4

34、位led显示。设计时应注意送位选信号时不能破坏pc口的其他位,还应注意显示温值时第三位led有小数点。5 结论本设计介绍的单片机温度控制系统,可了解微机系统硬、软件的构成及各种控制参数变化对系统动、静态特性的影响。系统用pid控制算法实现温度控制,可以使系统的精度达到0.1,准确度和稳定性都可以令人满意。系统还以单回路控制为例,极易扩展成多回路控制。采集电路调试:为使温度采集电路输出的电压与温度的关系符合理论设计数值,可用一点测试法。在室温27时,调节电位器rw1,使ad590对地电阻为1k,运放正端输入电压v+=300mv时,v0=2.7v即可。也可采用两点测试法,当温度在050之间变化时,

35、运放正端输入电压v+约为273323mv,调试时用可调电压信号模拟温度信号输入到运放正端,调节电位器rw2使v+=273mv时,v0=0v。调节rt2使v+=323mv时,vo=5v,则5v/5o=100mv/ 即为输出精度。因软件还要校正测温值,故基本符合上述数值即可。采用两点测试法较精确,故用两点法。数码显示调试:调试中发现发光二极管的亮度一直很微弱,用万用表测量可知,其输入电压只有1.99v,勉强能够发光,而89c51输出的电压依然为5v左右,分析知89c51在串行口工作方式下,负载很重,发光二极管分得的电流较小,使其不能正常发光。在此加入一块同相放大器来驱动它们工作。mcs-51单片机

36、,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例,相信单片机的应用会更加广泛化。本系统的设计方案有多种,上述方案是从多种方案中选出的最优方案,其具有功能强、成本低、元件少、精度高、可靠性好、稳定性高、抗干扰性强、执行速度快、简单易行、具有实效性、使用范围广等特点,故具有推广价值。致谢毕业设计是对大学阶段所学知识的一个总结。为了提高自己应用知识的能力,利用单片机知识与pc机技术,以“热炉温度控制”为例,

37、作为我的毕业设计。三年的大学生活,让我对关于单片机方面的理论知识有了一定的了解和认识,但实践出真理,唯有把理论与实践相结合,才能更好地为社会服务。为期将近半个学期的毕业设计,我不但上网查阅了一些单片机技术的应用知识,并对毕业论文所需的资料进行了仔细地了解和收集,为现在的毕业设计做了充的准备,也培养了我独立思考和动手的能力。由于本身知识水平以及时间有限,在本次设计中的某些问题可能设想不够周全。比如程序分析的不够全面以及误差,软件还有待优化等,或许还有很多问题还没有发现,希望指导老师给予指出。本文是在*老师的精心指导下完成的。在此,向他表示衷心的谢谢!还要感谢帮助过我的同学,正是由于你们的帮助和支

38、持,我才能顺利完成本文。 参考文献1 马江涛. 单片机温度控制系统的设计及实现j. 计算机测量与控制 , 2004,(12) . p121912292 黄祯祥,邓怀雄,郭延文,周书. 基于mcs-51单片机的温度控制系统j. 现代电子技术 , 2005,(06) . p2224 3 张开生,郭国法. mcs-51单片机温度控制系统的设计j. 微计算机信息 , 2005,(07) . p6869 4 李晓妮. 单片机温度控制系统的设计j. 九江学院学报(自然科学版) , 2005,(02) . p2023 5 龚红军. 单片机温度控制系统j. 电气时代 , 2002,(10) . p1718 6

39、 李新国. 单片机温度控制系统j. 机电工程 , 2001,(02) . p4647 7 李萍. 单片机温度控制系统的设计与实现j. 固原师专学报 , 1999,(06) . p2225 8 冯越,杨继华,俞曙滨. 单片机温度控制系统j. 自动化技术与应用 , 1998,(02) . p3638 9 徐凤霞,赵成安. at89c51单片机温度控制系统j. 齐齐哈尔大学学报 , 2004,(01)p646510 姜波. 单片机温度自动控制系统j. 自动化与仪器仪表 , 1996,(05) p515911马明建数据采集与处理技术m西安交通大学出版社,20059,(02)p868912曹龙汉,刘安才

40、,高占国mcs-51单片机原理及应用m重庆出版社,2004,10p229247附录a源程序清单(1)主程序 org 0000h ljmp start org 0003h ljmp t0 org 0030h start:mov sp,#50h ;主程序入口,置sp指针 lcall d100ms ;延时,使8255复位可靠 clr a mov r0,#20h mov r1,#60h clr1:mov r0,a inc r0 djnz r1,clr1 ;清内存单元 mov 20h,#10 ;定时1s初值 mov a,p1 mov 24h,a ;读t给定bcd码值 s8255:mov dptr,#70

41、03h ;指向8255控制口 mov a,#10000000b ;a初始化8255a,b,c口为方式0输出 movx dptr,a mov dptr,#7001h ;pb口 clr a movx dptr,a ;pb口清“0” inc dptr mov a,#00100000b movx dptr,a ;清声光报警 nop mov a,#00h movx dptr,a nop mov a,#00100000b movx dptr,a ;产生d/a的,d/a=0 mov 23h,a ;暂存 lcall adc ;测量kp,ki ,tc和t,并存入相应的单元 lcall bdbh ;把t测量值转换

42、为显示bcd码存于30h,31h mov 2fh,27h ;置定时tc秒初值 mov th0,#3ch mov tl0,#0b0h ;t0定时为100ms setb tr0 setb et0 setb ea ;开中断 loop:lcall disup ;显示数据 sjmp loop(2)t0中断服务程序 t0:mov th0,#3ch mov tl0,#0b0h ;重置定时初值 push acc push psw push dpl push dph ;保护现场 clr rs1 setb rs0 ;选r0r7为080fh djnz 20h,rept1 ;定时1s到 mov 20h,#10 ;重置定时常数 mov a,p1 mov 24h,a ;读t给定bcd码值 lcall adc ;a/d测量kp,ki ,tc,t参数 lcall bdbh ;把t测量值转换为显示bcd码值 mov a,24h cjne a,#1,dspi1 mov 7ch,#10h ;t给定=01h显示kp参数 mov a,25h sjmp dspi2 dspi1:cjne a,#2,dspi3 mov 7ch,#1 ;t给定=02h时显示ki参数 mov a,26h sjmp dspi2 dspi3:cjne a,#3,dspi4 mov 7ch,#11h ;t给定=03h时

温馨提示

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

评论

0/150

提交评论