基于MCS-51单片机温度控制系统设计报告_第1页
基于MCS-51单片机温度控制系统设计报告_第2页
基于MCS-51单片机温度控制系统设计报告_第3页
基于MCS-51单片机温度控制系统设计报告_第4页
基于MCS-51单片机温度控制系统设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、数理与信息工程学院单片机原理及应用期末课程设计mcs-51单片机温度控制系统 单片机原理及应用期末课程设计题 目: mcs-51单片机温度控制系统 专 业: 计算机科学与技术 目 录 第1节 引 言 3第2节 系统主要硬件电路设计 42.1 温度检测和变速器 42.2 接口电路 42.3 温度控制电路 6第3节 温度控制的算法和程序框图 73.1 温度控制算法 7 3.1.1 pid算法 7 3.1.2 pid计算程序流程图 73.2 温度控制程序框图 8 3.2.1主程序框图 8 3.2.2中断服务程序框图 9 3.2.3主要子服务程序框图 113.3 其他控制算法 113.4部分程序 11

2、3.4.1 led数码管显示程序 113.4.2 8031的主程序 123.4.3 复位设置 133.4.4 8155的主程序 13第4节 系统调试与测试结果分析 144.1 软件调试 144.2 硬件调试 144.3 硬软件联调试 14结束语16参考文献 17mcs-51单片机温度控制系统第一节 引言 在现代化的工业生产中,自动控制系统有着极其广泛的应用,温度控制就是控制系统中最为常见的类型之一。电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温

3、度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。我们利用温度控制的设计来更好的为我们的生活工作所服务,提高我们的生活质量。而且,随着单片机行业的迅速法杖,将有越来越完美的温度控制仪出现,此次我研究的课题也存在一些不足之处,通过这次研究以达到学习应用mcs-51单片机的目的。第二节 系统主要硬件电路设计以热电偶为检测元件的单片机温度控制系统电路原理图如图1-1所示。图1-1 温控系统电路原理图2.1 温度检测和

4、变送器 温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。镍铬/镍铝热电偶适用于0-1000的温度检测范围,相应输出电压为0mv-41.32mv。 变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mv-41.32mv变换成4ma-20ma的电流;电流/电压变送器用于把毫伏变送器输出的4ma-20ma电流变换成0-5v的电压。 为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为500-1000,则热电偶输出为20.6mv-41.32mv,毫伏变送器零点迁移后输出4ma-20ma范围电流。这样,采用8位a/d转换器就可使量化温度达到1.96以内。2

5、.2 接口电路 接口电路采用mcs-51系列单片机8031,外围扩展并行接口8155,程序存储器eprom2764,模数转换器adc0809等芯片。 由图1可见,在p2.0=0和p2.1=0时,8155选中它内部的ram工作;在p2.0=1和p2.1=0时,8155选中它内部的三个i/o端口工作。相应的地址分配为: 0000h - 00ffh8155内部ram 0100h 命令/状态口 0101h a 口 0102h b 口 0103h c 口 0104h 定时器低8位口 0105h 定时器高8位口8155用作键盘/led显示器接口电路。图1-2中键盘有30个按键,分成六行(l0-l5)五列(

6、r0-r4),只要某键被按下,相应的行线和列线才会接通。图中30个按键分三类:一是数字键0-9,共10个;二是功能键18个;三是剩余两个键,可定义或设置成复位键等。为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示。a口和所有led的八段引线相连,各led的控制端g和8155c口相连,故a口为字形口,c口为字位口,8031可以通过c口控制led是否点亮,通过a口显示字符。l5l4l3l2l1l0r1 r2 r3 r4 r5n2n3n4n5n6b1ale pa0pa7cerdwr pc5 8155 pc4i/o pc3ad7 ad6 pc2ad4 pc1ad3 pc0ad2 ad1 p

7、b4ad0 pb3 pb2 pb1 pb0led5led4led3led2led1led0图1-2 8155用作键盘/led显示器接口电路2764是8k eprom型器件。8031的psen和2764的oe相连,p2.5和ce相连,所以2764的地址空间为:0000h-1fffh,adc0809的0通道(in0 其他输入端可作备用)和变送器的输出端相连,所以从通道0(in0)上输入的0v-+5v范围的模拟电压经a/d转换后可由8031通过程序从p0口输入到它的内部ram单元,在p2.2=0和wr=0时,8031可使ale和start变为高电平而启动adc0809工作;在p2.2=0和rd=0时

8、,8031可以从adc0809接收a/d转换后的数字量。也就是说adc0809可以视为8031的一个外部ram单元,地址为03f8h(地址重复范围很大),因此,8031执行如下程序可以启动adc0809工作。movdptr,#03f8hmovxdptr,a若8031执行下列程序:movdptr,#03f8hmovxa,dptr则可以从adc0809输入a/d转换后的数字量。2.3 温度控制电路 8031对温度的控制是通过双向可控硅实现的。如图1-1所示,双向可控硅管和加热丝串接在交流220v、50hz市电回路。在给定周期t内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温

9、度的目的。 可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8031用软件在p1.3引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图2-1所示:温度调节仪+被控参数控制执行装置被控对象温度传感器sv图2-1 温度控制系统第三节 温度控制的算法和程序框图3.1 温度控制算法 通常,电阻炉炉温控制都采用偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。在工业上,偏差控制又称pid控制,即

10、偏差的比例p,积分i和微分d。这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。3.1.1 pid算法 由控制理论知,pid控制的理想微分方程为: (3-1)其中,u(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,r(t)为给定值,y(t)为被测量值;kp为比例系数,ti为积分时间常数,td为微分时间常数,u(t)为调节器的输出控制信号电压。但单片微型计算机只能处理数字信号,故上述数学方程必须加以变换。若设温度的采样周期为t,第n采样所得到的输入偏差en,调节器输入为un,则有: (3-2)3.1.2 pid计算程序流程图 计算kj e(k)计算kpe(

11、k)e(k1)计算kpe(k)(k1)kie(k)计算kpe(k)(k1)kie(k)kde(k)2e(k1)e(k2)计算p(k)返回根据e(k)=uruj(k)计算e(k)图3-1 pid程序流程图3.2 温度控制程序框图 温度控制程序的设计应考虑如下:(1)键盘扫描、键码识别和温度显示;(2)炉温采样、数字滤波;(3)数据处理;(4)越限报警和处理;(5)pid计算、温度标度转换。3.2.1 主程序框图 主程序包括8031本身的初始化、并行接口8155初始化等等。大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、t0初始化、cpu开中断、温度显示和键盘扫描等程序。如图3-2所示

12、。开始设定堆栈指针清标志和暂存单清显示缓冲区设定参书初值t0初始化cpu开中断扫描键盘温度显示图3-2 主程序框图3.2.2 中断服务程序框图 t0中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、pid计算和输出可控硅的触发脉冲等。p1.3引脚上输出的该同步触发脉冲宽度由t1计数器的溢出中断控制,8031利用等待t1溢出中断的空闲时间(形成p1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。8031从t1中断服务程序返回后即可恢复现场和返回主程序。如图3-3所示。t1初始化数字滤波下限报警采样计算

13、pid清上次越限标志从p1.3输出取最大pid值输出=上限?上限?=下限?上限?上限处理置本次越限标志恢复现场返回送本次越限标志上次越限保护现场温度标度转换t1中断完?温度显示上限报警请越限标志越限计数器+1越限n次返回恢复现场图3-3 中断程序流程图3.2.3 主要子服务程序框图 主要服务子程序包括温度检测采样及数字滤波子程序、带符号双字节乘法子程序和标度转换子程序目的是把实际采样取得的二进制值转换成bcd码形式的温度值,然后存放到显示缓冲区中,供显示子程序调用。对于一般线性仪表来说,标度转换公式为: (3-3) 其中,a0为一次测量仪表的下限; am为一次测量仪表的上限;vx 为实际测量值

14、(工程量);vm为仪表上限对应的数字量; v0为仪表下限对应的数字量。3.3 其他控制算法不同的控制对象,所采用的算法有所不同。例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,通过对淬火炉电热元件通断比的调节,实现对炉温的自动控制,也可以采用仿人智能控制(shic)算法和pid控制算法的联合控制方案,实际应用时应灵活运用。3.4 部分程序 3.2.1 led数码管的显示程序 六个数码管的点亮程序如下: display: mov r1,#70h ;#70放r1中 mov r5,#0feh play: mov a,r5 mov p3,a

15、mov a,r1 ;r1中的数据放a中 mov dptr,#tab movc a,a+dptr mov p1,a ;点亮p1 lcall dl1ms ;跳转 inc r1 mov a,r5 jnb acc.5,endout rl a mov r5,a ajmp play ;跳转 endout: setb p3.5 mov p1,#0ffh ret tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,90h,0ffh3.2.2 8031的主程序 start: mov ro,#70h ;#70放r0中 mov r7,#0bhcleardisp: mov ro,

16、#00h inc ro djnz r7,cleardisp mov 20h,#00h mov 7ah,#0ah mov tmod,#11h mov tl0,#0b0h ;置数 mov th0,#3ch mov tl1,#0b0h mov th1,#3ch setb ea ;开通 setb eto setb tro mov r4,#14h start1: lcall display jnb p3.7,setmm1 sjmp start1 setmm1: ljmp setmm 3.2.3 复位设置 clro: clr a mov r0,a dec r0 mov ro,a ret3.2.4 8155

17、的主程序 org 0030h ajmp mainmain: call delay6ms mov a,#02h ;00000010表示:pc,pa口输入,pb口输出 mov dptr,#0a300h ;8155的状态端口地址 movx dptr,a call delay6ms mov dptr,#0303h movx a,dptr cjne #0ffh baojing ajmp mainbaojing: clr p1.6 retdelay6ms: /*延时6ms的子程序*/del: mov r7,#24 del1: mov r6,#125 del2: djnz r6,del2 ;125*2=25

18、0us djnz r7,del1 ;0.25*24=6ms ret end第四节 系统调试与测试结果分析根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。4.1 软件调试 该系统的软件调试主要针对单片机系统部分。我们利用keilc51环境对编号的程序进行程序调试,编译正确的程序之后再利用编程器将调试好的程序固化到at89c2051单片机中。4.2 硬件调试 电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行。由于在系统设计中采用模块化设计,对个电路功能模块的逐级测试。最后将各模块

19、组合后在交道口模型上进行整体测试,使系统的所有功能得以实现。调试的基本过程如下:1. 最重要的当然是检查线路焊接无误。2. 对电源电路进行调试。调试方法:断开负载,用万用表测量78l05的3脚,应该有+5v电压。3. 对拨号音频部分进行调试。4. 先不安装8031单片机,用短线路把u1插座的12脚接地,调整vd1和vd7的安装位置和角度,测量u1插座的2脚电压。当vd1和vd7之间无遮挡时2脚电压为0v,有遮挡时为+5v。用相同的方法反复调整其他几对红外收发管的位置和角度。使u1插座的3、6、7、8、9各脚的电压符合要求。4.3 硬软件联调试 系统做好后,进行系统的完整调试,检验实现的功能。讲

20、固化好的程序的8031插入电路中的u1插座上,接上电源看是否能够正常工作。 当51程序出现非我们预期的结果时,先检查程序。 如在调试过程中,我们发现关于指令执行时间的计算 dlay: mov r0,#00h dly : mov r1,#00h $: djnz r1,$ djnz r0,dly ret 假设晶振为11.0592mhz,每个clock要0.09us 内循环执行256次,为加第一次设置r1,共用了256*24+12=6156 clock 外循环执行256次,外加第一次设置r0,共用了256*6156+12=1575948 clock 调用一次延时程序所用时间为1575948+12=1

21、575960 clock = 0.142sret 指令的执行为2个周期。在设计过程中我学会了借用示波器进行差错。执行相应的程序测试相关引脚的输出信号。结束语经过这次单片机的课程设计,我接触到了更多平时没有接触到得仪器设备、元器件以及相关的使用调试经验,发现了自身许多不足之处,使我深刻体会到了所学理论知识的重要性。另外在这次设计中,我体会到了mcs-51单片机的种种优势,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好等特点,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例,我们应该更加努力的学习,掌握更全面的知识,使单片机的应用更加广泛化。首先,通过这

温馨提示

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

评论

0/150

提交评论