计控课程设计--烤箱温度控制系统设计讲解_第1页
计控课程设计--烤箱温度控制系统设计讲解_第2页
计控课程设计--烤箱温度控制系统设计讲解_第3页
计控课程设计--烤箱温度控制系统设计讲解_第4页
计控课程设计--烤箱温度控制系统设计讲解_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、烤箱温度控制系统设计(PC)小组成员:何维 付玲玲 王理 陈宇目录摘要3序言41 主要设计内容51.1已知参数和设计要求51.2实现方法52 任务分工53 系统设计63.1 系统框图63.1.1 设计思路及步骤63.1.2 控制算法的设计73.2 硬件设计73.2.1 热电阻温度变送器模块73.2.2 逐次逼近型 A/D 转换器 AD574A83.2.3 键盘接口电路93.2.4 LED 显示器接口电路113.2.5 线路连接123.3 软件设计173.3.1 加热程序流程图173.3.2 加热占空比计算流程图183.3.3 AD574数据采集与温度转换流程图193.3.4 温度设置流程图20

2、4 系统操作说明与系统测试结果分析214.1 按键功能214.2 操作方法及结果展示214.3 系统测试结果分析225 心得体会235.1 小组总结:235.2 组长何维:235.3 组员王理:245.4 组员陈宇:255.5 组员付玲玲:266 程序源代码277 参考资料4645摘要本文介绍了以PC机和PD-32E实验装置为核心控制电烤箱温度的系统设计。在本次设计中,我们组采用三色LED数码管和 44 键盘作为人机交互对象,对系统进行调节控制。程序运行开始后,可以通过LED的显示了解烤箱的设定值和当前加热的温度,通过键盘来完成输入和返回控制等。系统采用简单的通断控制方式,即当烤箱温度达到设定

3、温度附近(略小于)断开电阻丝加热,当温度回降到低于设定值时接通加热,从而实现恒温控制系统。本次采用的计时芯片是8254,而信号输出芯片则是8255,同时,利用8259芯片对计时、加热等过程进行中断的控制。而温度采集则是用了PT100感温电阻,将电信号送至A/D574中,利用A/D574的模数转换功能,将采集的温度模拟信号转换成计算机可以识别的电信号,进而在计算机内对这些电信号进行处理,经过控制算法来输出控制烤箱的电信号。整个系统控制简单,反应灵敏,具有很强的抗干扰能力。此次设计的电烤箱温度控制系统由两个部分组成:硬件部分和软件部分。其中硬件部分包括:实验装置电路、变送器电路、 A/D 转换器电

4、路、 以及键盘和显示电路、蜂鸣器警报电路。 软件部分包括: 主程序、运算控制程序、初始化子程序以及各模块功能实现的程序。文章最后对本设计进行了总结。关键字:PC机、A/D574模数转换、占空比、温度序言温度是日常生活中无时不在的物理量,在很多生产过程中,温度的测量和控制与生产安全、生产效率、产品质量、能源节约等重大经济技术指标紧紧相连。因此,各个领域对温度控制的精度、稳定性、可靠性等要求也越来越高,温度测控技术也成为现代科技发展中的一项重要技术。然而电加热温度控制具有升温单向性、大惯性、大滞后性、时变性的特点,应用传统的模拟电路控制方法,已经不能满足高精度、高速度的控制要求,难以收获理想效果。

5、近年来,随着我国以信息化带动的工业化蓬勃发展,在对温度控制的方法上也有了快速的进步,已从传统的直接控制发展成运用PID算法控制、模糊控制、神经网络控制和遗传算法控制等,大大提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。 我们本次主要研究对烤箱的温度进行合理精确的控制。烤箱是热处理生产中应用最广的加热设备,它电流通过电热元件产生热量,借助辐射和对流的传递方式,将热量传递给所要加热的物品,使其加热到所要求的温度。通过计算机编程很好地达到了课题要求,完美的实现了基本功能。 1 主要设计内容1.1已知参数和设计要求1.某烤箱的温度控制要求为:控制烤箱温度从

6、室温上升到目标温度并一直保持在该目标温度,要求控制的稳态精度达3%,调节时间50秒。2.目标温度应可以通过键盘任意修改。3.完成温度检测、温度变送,温度显示(LED)(在CRT上显示温度曲线加分)、温度控制、通过键盘设定上、下限温度报警值、温度超限报警(声、光)等功能。1.2实现方法采用PC机、PD-32教学实验系统装置实现(限4人选做) 注:基于安全考虑,测试时烤箱温度1502 任务分工姓名职务负责的部分何维组长主程序、各功能模块子程序的编写,整体调试 王理组员A/D转换子程序的编写和调试,控制算法设计陈宇组员中断模块的设计,硬件电路图的绘制付玲玲组员标度变换模块的设计、温度变送器的调试、报

7、告撰写3 系统设计3.1 系统框图根据之前学过的自动控制原理的基础知识,对本次的烤箱温度控制系统进行分析,得到了下面的控制系统方框图。可以看出,该系统是典型的闭环控制系统。 图1 系统框图3.1.1 设计思路及步骤首先确定主程序所要实现的目标,即:三色LED显示提示输入信息,然后输入设定温度值、报警上下限,实时刷新当前温度,通过比较实时温度与设定的目标温度之间的差值,来调节占空比,确定一个周期内的加热时间长短。还要实时进行键盘扫描,以便准确实现相应的功能。然后,确定了主程序的大致框架和流程,就分开编写相应的子程序功能模块:键盘扫描、LED显示、报警、算法控制等,对所要运用到的芯片:8254、8

8、255、8259等进行初始化,都写成子程序的形式,方便在适当的地方随时调用。3.1.2 控制算法的设计本次设计控制算法采用经验控制。根据当前加热的温度与目标温度的差值来确定占空比,从而调整加热时间。当实测温度与目标温度的偏差大于40摄氏度时,给出加热占空比为100%,即全速加热;当偏差小于40摄氏度且大于30摄氏度时,给出加热占空比为80%;当偏差小于30摄氏度大于15摄氏度时,给出加热占空比为50%;当偏差小于15摄氏度大于1摄氏度时,给出占空比为25%;当偏差小于1度时大于零度时,占空比为0,利用惯性加热。当偏差小于零,即实测温度大于目标温度时,控制为不加热,自然降温。该控制算法是由经验尝

9、试得出,控制的性能不能达到最优。有一些缺点,例如,当实测温度回落接近目标温度时,不能提前控制执行器动作,导致调节时间略长等。3.2 硬件设计3.2.1 热电阻温度变送器模块1)Pt100温度变送器概述铂电阻温度变送器直接安装于Pt100铂电阻接线盒内(与不同结构形式的铂电阻构成热电阻一体化温度变送器)将热电阻Pt100的电阻信号转化为二线制4-20mA输出。Pt100温度变送器用于Pt100铂电阻信号需要远距离传送、现场有较强干扰源存在或信号需要接入DCS系统时使用。SWP-TR-08铂电阻温度变送器采用独特的双层电路板结构,下层是信号调理电路,上层电路可定义传感器类型和测量范围。2)变送器技

10、术指标1、输入信号:Pt100铂电阻信号输入2、供电电压:10-30VDC3、负载电阻:0-5004、输出信号:二线制4-20mA,最大30mA5、热电阻温度变送器精度:0.2%FS6、温度稳定性:零点漂移 标准0.05%FS/ 量程漂移 标准0.002%FS/7、回路保护:带反向连接保护(防止电源正负极)8、温度变送器功耗:0.5W9、温度变送器重量:约35克10、热电阻温度变送器外形尺寸:外径42mm,高度H23mm,安装孔距33mm,安装孔5.5m3)热电阻的接线方式目前热电阻的引线主要有三种方式:(1) 二线制:在热电阻的两端各连接一根导线来引出电阻信号的方式叫二线制:这种引线方法很简

11、单,但由于连接导线必然存在引线电阻r,r大小与导线的材质和长度的因素有关,因此这种引线方式只适用于测量精度较低的场合 (2) 三线制:在热电阻的根部的一端连接一根引线,另一端连接两根引线的方式称为三线制,这种方式通常与电桥配套使用,可以较好的消除引线电阻的影响,是工业过程控制中的最常用的。 (3) 四线制:在热电阻的根部两端各连接两根导线的方式称为四线制,其中两根引线为热电阻提供恒定电流I,把R转换成电压信号U,再通过另两根引线把U引至二次仪表。可见这种引线方式可完全消除引线的电阻影响,主要用于高精度的温度检测。 热电阻采用三线制接法。采用三线制是为了消除连接导线电阻引起的测量误差。这是因为测

12、量热电阻的电路一般是不平衡电桥。热电阻作为电桥的一个桥臂电阻,其连接导线(从热电阻到中控室)也成为桥臂电阻的一部分,这一部分电阻是未知的且随环境温度变化,造成测量误差。采用三线制,将导线一根接到电桥的电源端,其余两根分别接到热电阻所在的桥臂及与其相邻的桥臂上,这样消除了导线线路电阻带来的测量误差。 3.2.2 逐次逼近型 A/D 转换器 AD574A AD574A 是一种高性能的 12 位逐次逼进式 A/D 转换器,它同 ADC0809 一样是常用的 A/D 转换器。转换时间为 25 s,线性误差为1/2LSB,内部有时钟脉冲源和基准电压源, 单通道单极性或双极性电压输入, 采用 28 脚双立

13、直插式封装。 AD574A 由 12 位 A/D 转换器,控制逻辑,三态输出锁存缓冲器,10V 基准电压源四部分构成。(1)12 位 A/D 转换器可以单极性也可以双极性的。单极性应用时,BIPOFF 接 0V,双极性时接 10V。量程可以是 10V 也可以是 20V。输入信号在 10V 范围内变化时,将输入信号接至 10V(IN);输入信号在 20V 范围内变化时,将输入信号接至 20V(IN);所以量化单位相应的就是 10V/(212)和 20V/(212)(2)三态输出锁存缓冲器用于存放 12 位转换结果 D(D=0212-1)。D 的输出方式有两种,引脚 12/8=1 时(8 的上面有

14、一横杠),D 的 D(11)D(0)并行输出;引脚 12/8=0 时(8 的上面有一横杠),D 的高 8 位与低 4 位分时输出。(3)逻辑控制任务包括:启动转换,控制转换过程和控制转换结果 D 的输出。3.2.3 键盘接口电路A. 键盘的工作原理:a.按键的确认: 键盘的功能就是及时发现被按下的键,并将按键的信息按键及时送给计算机进行处理。对于同一个键盘,它的每个键的结构完全相同,人的按键动作引起了开关由断开到接通的变化,从本质上讲,键盘的输出,就是键开关把机械信号变成电信号,以开关状态来设置控制功能或输入数据的,键的闭合与否,反映在电压上就是呈现高电平或低电平,如果高电平表示断开的话,那么

15、低电平就是表示闭合,所以通过电平的高低状态的检测,可以确认按键接下与否。b.按键的抖动处理: 当按键被迫按下或释放时,通常伴随有一定的时间的触点机械抖动,然后其独占才稳定下来,抖动时间一般为 510ms,在使用过程,必须采取去抖措施。去抖动有硬件和软件两种方法,硬件方法通常采用通过 RS 触发器连接按键除抖,软件方法采用延时方法除抖,其过程是在检测到有按键按下时,进行一个 20ms左右的延时程序后,若该键仍保持闭合状态,则确认该键处于按下状态,同理,在检测到该键释放后,也应逐步进行确认,从而可消除抖动的影响。B. 独立式按键: 独立式按键是直接用 I/O 口线构成的单个按键电路, 其特点是每个

16、按键单独占用一根 I/O 口线,每个按键的工作不会其他 I/O 口线的状态C. 矩阵式按键: 实验装置系统中,使用按键分明,通常采用矩阵式(也称行列式)键盘。 一个4*4的行列结构可以构成一个含有16个按键的键盘。 在矩阵式键盘中,行列式分别连接到按键开关的两端,行式通过二伴电阻接到+5V 上,当无键按下时,行式于高电平状态,当有键按下时,行列式将贯通,此时行线的电平,将由与此行线相连的列线电平决定,这是识别按键是否按下的关键,然而,矩阵键盘中的行线,列线和多个键相边,各按键按下与否均影响该键反应在行线和列线间的电平,各按键间将相互影响,因此必须将行线、列线信号配合起来作适应处理,才能确定闭合

17、键的位置。其中,矩阵式键盘有以下几种工作方式:a.编程扫描方式: 编程扫描是 CPU 完成其他工作的空余时间, 调用键盘扫描子程序来响应键盘输入的要求,在执行键功能程序时,CPU 不再响应键输入要求,直到 CPU 重新扫描键盘为止。 键盘扫描程序一般应包括以下内容:a:判别有无键按下,键盘扫描取得闭合键的行、列值;b:用计算法或查表法得到键特征值;c:判断闭合键是否释放,如释放则继续等待;d:将闭合键键代号保存,同时转去执行该闭合键所对应的功能。b.定时扫描方式: 定时扫描方式就是每隔一段时间对键盘扫描一次, 它利用定时器产生一定时间定时,当定时时间到就产生定时溢出中断,CPU 响应中断后对键

18、盘进行扫描。c.中断扫描方式: 为提高 CPU 工作效率,可采用中断扫描工作方式。其工作过程如下:当无键接下时,CPU 处理自己的工作,当有键接下时产生中断请求,CPU 转去执行键盘扫描子程序,并识别键特征值。3.2.4 LED 显示器接口电路 常用 LED 显示器有 LED 状态显示器(俗称发光二极管)LED 七段显示器(俗称数码管和 LED 十六段显示器,发光二极管可显示两种状态,用于系统的显示;数码管用于数字的显示;LED 十六段的显示器,用于字符显示)A数码管结构: 数码管由 8 个发光二极管(以下简称字段)构成,通过不同组合可用来显示数字 0-9.字符 A-F 及小数点“.” 。数码

19、管又分为共阴极和共阳极两种结构。B. 数码管工作原理: 共阳极数码管 8 个发光二级管的阳极(二极管正端)连接在一起。通常会共阳极接高电平 1,一般接电源 1,当某个阴极接低电平时, 则该数码管导通并点亮。 共阴极数码管 8 个发光二极管的阴极(二极管负端)连接在一起。公共阴极接低电平(一般接地)当某个阳极接高电平,则该数码管并点亮。C. 静态显示接口: 静态显示是指数码管显示某一字符时, 相应的发光二极管恒定导通或恒定截止。这种显示方式各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的 8 个字段分别与一个 8 位 I/O 地址相连,I/O 口只要有段代码输出,

20、相应字符即显示出来并保持不变,直到 I/O 口输出新的位选采用静态显示的方式。较小的电流即可获得较大亮度。且占用 CPU 时间少,编程简单,显示便于检测和控制,但其占用端口线多,硬件电路复杂、成本高,只适合于显示位数较少的场合。D. 动态显示接口:动态显示是一位一位地轮流点亮各位数码管。 这种逐位点亮显示方式称为位扫描。 通常各位数码管的段选线相应并联在一起由 8 位 I/O 口控制。 各位选线 (公共阴极或阳极) 有另外 I/O 口线控制。 动态方式显示时, 各数码管分时轮流选通,要使稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管。并送出应的段代码,在另一位数码管并送出相应的位选。

21、依此规律循环,即可使各位数码管显示将要显示字符。虽然这些字符是在不同时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。3.2.5 线路连接(1)8254连接电路8254的CS接地址端的CS-1(300H);8255的CS接地址端的CS-2(320H);8254的计数器0的CLK接47KHz,GATE接+5V,OUT端接计数器1的CLK;计数器1的CLK接计数器0的OUT端,GATE接+5V,OUT接8259的IRQ0。 图2 8254定时/计数器原理图(2)9259连接电路8259的CS接地址端的CS-3(340H);AD574的CS接地址端的CS-4

22、(360H);8259的INT1接INTR,SP1接+5V,IRQ0接8254计数器1的OUT。 图3 8259连接电路图(3)AD574连接电路AD574的12/8接+5V,A0接GND,STS接8254的PB0,10VIN接PT_OUT端。图4 A/D574接线原理图(4)扩展片8255与键盘连接电路扩展的8255的C口接实验装置箱上的4*4键盘,其PC4-PC7四位接键盘的列信号,PC0-PC3四位接键盘的行信号。图5 8255与键盘链接电路图4*4的非编码键盘,按键的行、列信号分别通过插孔P0-P3和Q0-Q3引出,键盘扫描时需要逐列扫描,判断该列是否有键按下。先将对应列信号设置为0,

23、然后读入行信号,如果有键按下,则该行读入为0,否则为1。(5)温度变送器模块的电路铂电阻温度变送器直接安装于Pt100铂电阻接线盒内(与不同结构形式的铂电阻构成热电阻一体化温度变送器)将热电阻Pt100的电阻信号转化为二线制4-20mA输出。该模块由铂热敏电阻和桥式电路组成,具体原理如下图:图6 桥式电路原理图温度变送器采用热电偶、热电阻作为测温元件,从测温元件输出信号送到变送器模块,经过稳压滤波、运算放大、非线性校正、V/I转换、恒流及反向保护等电路处理后,转换成与温度成线性关系的420mA电流信号输出。是将物理测量信号或普通电信号转换为标准电信号输出或能够以通讯协议方式输出的设备。PT10

24、0温度变送器是将电阻信号转换为可传送的标准化电流输出信号,输入仪表,从而显示出对应的温度,主要用于工业过程温度参数的测量和控制。(6)三色LED连接电路图 : 图7 8255并口模块原理图8255并行接口模块中共有4片8255A芯片,每个芯片的输出控制了两个共阳极8段LED,芯片的A口和B口分别控制左右两个LED的段选。LED可以发红光、黄光、绿光,由LED的引脚1和引脚5共同控制。C口的PC0、PC1通过三极管分别接到了左边LED的引脚1和引脚5,PC2、PC3通过三极管控制右边LED的引脚1和引脚5,因此,由C口写入不同的值即可控制LED的亮灭。3.3 软件设计3.3.1 加热程序流程图图

25、83.3.2 加热占空比计算流程图图93.3.3 AD574数据采集与温度转换流程图图103.3.4 温度设置流程图图114 系统操作说明与系统测试结果分析4.1 按键功能 长按B键可返回初始状态; 按下E键可以撤销当前输入数值;按下F键表示确认输入并进入下一步,也可取消报警且返回初始态。4.2 操作方法及结果展示开始,在程序全速运行后,会在三色LED数码管上依次显示“SE0”、“SE1”、“SE2”字样,来提示分别输入目标温度、报警上限、报警下限,通过4*4键盘上的数字键09来设定,然后按F键确认。(如果报警上限的温度值不高于报警下限值或者实测温度超出报警上下限,蜂鸣器响起,发出报警信号。可

26、以通过按下F键,来停止报警并且返回初始状态)如果想要修改当前设定的数值,就按下E键撤销上一个数字,可以进行重新输入。设定完成后,系统开始加热。在加热过程中,如果想要更改之前的设定值,可以按下B键返回到初始的设置界面,重新输入数值,再按F键确认即可。当加热的温度越来越接近设定的目标温度时,差值也越来越小,从而确定的占空比相应减小,一个周期内的加热时间变短,到达目标温度是停止加热;由于热电阻加热惯性,加之烤箱内温度维持,导致烤箱的当前温度会有一定的超调,之后慢慢降到目标值以下;再根据形成的温度差,以相应的占空比进行加热;最后稳定在目标温度值的2之间。由于实验配备的烤箱功率不够高,所以调节时间稍微长

27、一些;但是稳态误差达到要求,控制精度比较好。另外,当设定的目标温度较高时,超调比较小,稳态误差也小;设定的目标温度较低时,超调会稍微大一点点,而稳态误差不大,主要是由于开始的全速加热对后来的惯性维持较大所造成的影响。从总体看来,基本的控制功能都能实现,而且可以随时返回重新设定数值,控制精度较好,所以,此次设计还是很成功的。4.3 系统测试结果分析按照操作说明,我们进行了几次实验测试,测得的结果数据记录如下表。 起始温度目标温度上升时间超调量稳态误差调整时间3790126s41180s38100151s32190s34110160s11205s35120190s01210s从表中可以看出:当设定

28、的温度较低时,达到稳态的超调量较大;当设定的温度较高时,上升时间和调节时间自然会比较高;稳态误差都在精度要求范围之内。总体上,对温度的控制达到了理想的效果,设计成功。在完成了基本功能的基础上,我们可以实现:1、 在加热过程中随时改变温度的初始设定值;2、 在输入错误时,可以通过按撤销键E来重新输入;3、 在LED显示时,有提示信息方便数值设定;4、 在过程中,可以随时按下B键停止加热并返回初始状态。等附加功能,提高了本次系统设计的质量。但也存在一些不足,如:温度的调节时间比较长;控制算法还有待改善;没有在加热温度超过报警上限时采取调节措施等。相信如果再多给我们一些时间,此次温控系统的设计将会更

29、加完美。5 心得体会5.1 小组总结:一周的时间就在小组成员的忙忙碌碌中过去了,经过这几天的集体努力,我们组终于完成了这次课程设计的任务。所谓“团结就是力量”,“众人拾柴火焰高”,“三个臭皮匠顶一个诸葛亮”,即使一个人做起来比登天还难的事情,在一个团队面前,总能想到解决办法。团队的合作,首先离不开组长的指导,在组长的英明领导下,组员之间相互协调,互相合作,办事效率也大大提高。毕竟一个人只有两只手,但是一个小组在一起就有几双手,做起事来自然不会很慌乱。而且在编写算法程序的时候,能各抒己见,获取更好的解决方案;在软件设计的时候,按照组长梳理的整体流程,大家都互相分工进行子程序的编写和调试,最后汇总

30、在一起调用,这样很好的节省了时间,充分地利用了人力资源,各自分担了任务的一部分彼此都会轻松一些。当看到小组成员都在为着任务而努力的时候,就不会觉得辛苦,甚至忽略了时间,好几次都做到很晚忘记了吃饭,真的是废寝忘食了。到最后程序完全搞定,进行实物测试的时候,大家看着自己的合作成果慢慢实现,真的很开心,终于可以松一口气了。整个设计的完成离不开任何一个人,是大家共同努力的结果。5.2 组长何维:拿到任务书后,我们小组对任务要求进行了深入的分析和讨论并且明确了每位组员的详细分工。由于时间和能力的限制,我们放弃了LCD显示的加分。我们将任务分为了软件和硬件两大模块,软件包括AD转换模块、标度变换模块、键盘

31、扫描模块、显示模块和PID控制模块等等,硬件包括地址分配、连线设定和硬件连线图绘制等。而我主要负责主程序、各功能模块子程序的编写,整体调试。根据任务要求,我将主要程序分为两大块。其一,人机交互模块,即设置界面和实时温度显示界面以及按键,用于用户对目标温度、报警上限和报警下限的设置以及实时温度和目标温度的显示。其二,内部控制模块,该部分主要完成实时温度和目标温度的比较,再根据偏差进行PID控制算法计算,得出占空比进行实时控制,同时包括对温度超限报警检测。由于前两周才进行了计算机硬件的课程设计,我对实验箱中的显示LED、按键可编程计时器8254、扩展8255和中断控制器8259已经非常熟悉了。所以

32、,在编写程序的时候可以说是轻车熟路。当然,编写过程中也遇到一些问题,在我和组员的合作下,所有问题都得到了解决。总的来说,经过这次课设,我学到一些东西。首先我体会到了模块化编程的好处。上次编写计算机硬件课程设计的程序,部分可以直接调用还有的稍加修改也可以直接使用,例如键盘扫描和LED显示。这为我们这次设计省下了很大一部分时间。然后我明白了编写的子程序要尽量只有单一入口和单一出口,这样的子程序才方便修改、调用和调试,才不容易出错。最后一点也是最重要的一点,就是我深刻的体会到了团队合作的重要性。如果没有队友的大力的输出和给力的支持,是不可能在这么短的时间内完成任务的。感谢我的队友。也感谢各位老师给我

33、的这次锻炼的机会。5.3 组员王理:这次的pc机控制烤箱温度的课程设计终于在我们的团队协作下很好的完成了。我这次负责ad采集和标度变换模块的程序编写。初始我使用线性控制,结果后面测试时发现误差有4左右。接着就慢慢改变算法,采集的数据电压量与电阻成正比,根据电阻与温度的表,将温度分段线性,通过电阻,最好根据线性把温度算出来。最终实现了误差12左右,误差无可避免,因为AD采入的数据与实际有一点误差。在程序编写过程中,事先想清楚算法,并考虑实现性和是否存在其他的问题,并画好流程图。等一切就绪后,再开始编写,这样才能够事半功倍。最后通过通力协作,我们按要求实现了基本功能,本次课程设计算是做完了。通过这

34、次课程设计。使我了对计控知识的了解又有了新的认识。最大的收获就是通过团队合作,每人完成相应的程序模块,然后将各个模块合在一起,然后稍加修改就能很快的将整个程序做出来。这样不紧节约了时间,并让每个人完成自己的工作,在以后的工作中能够打下很好的基础,团队合作将会更加融洽。在做自己的模块的过程中,首先应该明白自己的目的,切忌盲目,否则不能够很好的在短时间内找到突破口,找到方法解决问题。画好流程图,有个清醒的头脑,清醒的思路,能够很快的把程序有条理的完成,而且不会出太大的问题。这次团队的课程设计非常成功,不紧巩固了汇编知识,更让我们团队意识更加强大,为以后的协作打下了基础。5.4 组员陈宇:本次课程设

35、计为期一周,就课程设计的难度来说,时间稍微比较紧,但我们小组还是完成了此次课程设计,并且通过这次课程设计掌握了自己之前没能掌握的知识,同时也感觉团队合作比之前做硬件课程设计要好了许多。此次的课程设计我们小组共有四个人,我们拿到的课程设计题目是烤箱温度控制系统的设计,要求我们采用PC机和PD-32E教学实验装置来实现控制烤箱温度。刚开始一拿到这个题目时感觉有难度,有种无从下手的感觉,但是在小组努力研究讨论之后有了思路,最终完成了此次课程设计。以下是此次课程设计的大致过程及感想体会:首先,我们就拿到的题目进行了初步的讨论,统一了整个设计思路之后,我们就将此次课程设计分为了几个板块,然后就这几个板块

36、的进行分工,我的分工内容大致就是对8254进行定时并产生中断信号以便控制信号采集周期的编程(由于信号采集部分放在对采集回来的信号进行标度变换部分比较合适,信号采集的程序不再由我编写)以及对电路连线图的绘制。在编程时,由于一直以来对中断程序感觉不太能理解,所以有些困难,通过这次中断程序部分的编写染我慢慢理解了中断的过程,有所收获,同时,也熟悉了对8254定时编程以及初始化过程。然后就是电路连接图的绘制,由于之间做硬件课程设计的时候有做过一次,所以这次做起来相对熟练一些,由于这次的电路连接比较多一些,因此,这次稍微将电路连接图分部分绘制了。通过绘图过程,让我也加深了对AD574的部分引脚功能的理解

37、,Proteus的使用熟练程度也略有提升。最后,总的来说这次稍微换了下小组成员,团队协作上较之前硬件设计的时候有所提高,在提升了团队协作的能力的同时,也觉得自己对所学知识的理解及运用得到了一定程度的提升。5.5 组员付玲玲:一周的时间就在眨眼间又过去了。在这期间,我们小组合作完成了用PC机控制烤箱温度的系统课程设计。我也从中收获了很多知识与感动。首先是在组长的带领下,我们一起分析任务要求,整理出一条清晰的思路,然后划分出了各个小模块进行分工合作,由于小组中有的同学善于编程,有的同学偏于硬件,所以分工时大家都各展所长,同时互相协作帮助,没有任何的挑剔和抱怨,全力专注于整体设计,虽然在过程中,遇到

38、了很多困惑,程序也一直在修改,硬件方面也在耐心调试,不过大家都在积极不懈地努力着。让我感受到了很强团队凝聚力,这也是我们小组能顺利完成此次任务的一项非常重要的保证。 我对程序代码不敏感,但在这次设计中参与了A/D转换、标度变换的子程序编写。刚开始确实不知道该怎么下手,还好有组长和组员的启发和引导,我们一步步分析原理,然后编写语句,翻书查资料,算法几经修改终于达到了比较好的效果,由电压转化显示出来的温度值也很精确,让我体会到一种别样的自豪感和成就感,原来编程并不可怕嘛!之后,在对温度变送器的调试中,反反复复调阻值,把误差尽力降到了最小。真是一项细致活儿啊,多么需要耐心。最后软件完全搞定,我们拿来

39、烤箱进行实际操控,由于超调量的关系,又多次修改相关的参数,找到了比较合理的数值,使得对烤箱的温度控制精度达到了2。终于可以轻松欣慰地笑了!总的来说,通过这次课程设计,我发现自己的很多不足,知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力也急需提高;最重要的是,让我从一个人变成一个团队,感受到大家在一起,心往一块想,劲儿往一处使的团结的力量,让我不会害怕即将遇到的任何困阻,因为我知道自己不会孤军奋战,而是会有组长和组员的尽力帮助,这给了我很大的勇气。很感谢团队的支持和鼓励,感谢老师对我们的帮助,感谢学校给了我们这一次实践的机会,今后我们定会继续努力!6 程序源代码.486CO

40、DESEGMENTUSE16ASSUMECS:CODEORG1000HBEGIN:JMPSTARTPORTHEQU 360HSHOWTABDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,0C6H,0A1H,86H,8EHERRORDW0000H;偏差UPWDB0BFH,0BFH,0BFH;上限报警DNWDB0BFH,0BFH,0BFH;下限报警GOTEMPDB0BFH,0BFH,0BFH;目标温度PRTEMPDB0BFH,0BFH,0BFH;当前温度UPW10DB00H,00H,00H;上限报警十进制DNW10DB00H,00H,00H;

41、下限报警十进制GOTEMP10DB00H,00H,00H;目标温度十进制PRTEMP10DB00H,00H,00H;当前温度十进制GOTEMP16DW0;目标温度16进制PRTEMP16DW0;当前温度16进制UPW16DW0;上限报警16进制DNW16DW0;下限报警16进制SHOWHENGDB0BFH,0BFH,0BFHHEATFDB00H;占空比HEATOUTDB00H;PWM01转换标志SHOWGOTEMPDB92H,86H,0C0H;提示输入目标温度SHOWUPWDB92H,86H,0F9H;提示输入报警上线SHOWDNWDB92H,86H,0A4H;提示输入报警下线KEYFDB3;

42、键盘标志CZSDB0AH;进制转换操作数START:MOVDX,20CH;四片8255初始化MOVEAX,80808080HOUTDX,EAXMOVDX,32CH;扩展8255控制字,A输出,B MOVAL,10000011B 输入,C高出低入 OUTDX,ALMOVDX,30CH;8254计数器0工作在方式2MOVAL,00110100BOUTDX,ALMOVDX,30CH;计数器1方式0计时MOVAL,01010000BOUTDX,ALMOVDX,20CH;4片8255的初始化MOVEAX,80808080HOUTDX,EAXMOVDX,200HMOVEAX,0BFBFBFBFHOUTDX

43、,EAXMOVDX,204HOUTDX,EAXMOVDX,208H;三色LED显示为红色MOVEAX,05050505HOUTDX,EAXMOVDX,340H;初始化8259 写ICW1MOVAL,000010011BOUTDX,ALMOVDX,348H;写ICW2中断类型号为40H47HMOVAL,40HOUTDX,ALMOVDX,348H;写ICW4MOVAL,01HOUTDX,ALMOVDX,348H;写OCW1,开放所有IRMOVAL,00HOUTDX,ALCLIMOVAX,0;填中断向量MOVDS,AXMOVBX,4*40HMOVAX,OFFSETINTPWMMOVBX,AXMOVA

44、X,SEGINTPWMMOVBX+2,AXSTICALLCHUSHIHUA;*输入目标温度*LEASI,SHOWGOTEMPCALLSHOW1KEY:CALLWARED;报警解除MOVKEYF,03HLEADI,GOTEMPLEASI,GOTEMPLEABP,GOTEMP10CALLSHOW2KEYIN:CALLKEYSCANCMPCL,0B7HJZSTARTCMPCL,7BHJNZKEYINLINCKEYFCMPKEYF,04HJZKEYDECBPDECDIMOVBYTE PTRDI,0BFHMOVBYTEPTRDS:BP,00HLEASI,GOTEMPCALLSHOW2JMPKEYINKE

45、YINL:CALLKEYTOSHOWCMPCL,09JAKEYINMOVDS:BP,CLLEABX,SHOWTABMOVAL,CLXLATMOVDI,ALLEASI,GOTEMPCALLSHOW2INCBPINCDIDECKEYFJNZKEYINAGN0:CALLKEYSCAN;按下F键确认,按下B CMPCL,0B7H 键返回初态 JZSTARTCMPCL,7BHJNZAGN0LDECBPDECDIINCKEYFMOVBYTEPTRDI,0BFHMOVBYTEPTRDS:BP,00HLEASI,GOTEMPCALLSHOW2JMPKEYINAGN0L:CMPCL,77HJNZAGN0LEAS

46、I,GOTEMP10CMPBYTEPTRSI,03HJBL1CALLWARINGLEASI,GOTEMP;清除目标温度寄存单元数据CALLCLRLEASI,GOTEMP10CALLCLR0AGN0L1:CALLKEYSCANCMPCL,77HJNZAGN0L1JMPKEY;*输入报警上限*L1:LEASI,SHOWUPWCALLSHOW1KEY1:CALLWAREDMOVKEYF,03HLEADI,UPWLEASI,UPWLEABP,UPW10CALLSHOW2KEYIN1:CALLKEYSCANCMPCL,0B7HJZSTARTCMPCL,7BHJNZKEYIN1LINCKEYFCMPKEY

47、F,04HJZKEY1DECDIDECBPMOVBYTEPTRDS:BP,00HMOVBYTE PTRDI,0BFHLEASI,UPWCALLSHOW2JMPKEYIN1KEYIN1L:CALLKEYTOSHOWCMPCL,09JAKEYIN1MOVDS:BP,CLLEABX,SHOWTABMOVAL,CLXLATMOVDI,ALLEASI,UPWCALLSHOW2INCDIINCBPDECKEYFJNZKEYIN1AGN1:CALLKEYSCAN ;按下F键确认,按下BCMPCL,0B7H 键返回初态JZSTARTCMPCL,7BHJNZAGN1LDECDIDECBPINCKEYFMOVBY

48、TEPTRDS:BP,00HMOVBYTEPTRDI,0BFHLEASI,UPWCALLSHOW2JMPKEYIN1AGN1L:CMPCL,77HJNZAGN1MOVKEYF,3LEASI,UPW10CMPBYTEPTRSI,03JBL2CALLWARINGLEASI,UPWCALLCLRLEASI,UPW10CALLCLR0AGN1L1:CALLKEYSCANCMPCL,77HJNZAGN1L1JMPKEY1*输入报警下限*L2:LEASI,SHOWDNWCALLSHOW1LEASI,UPW10;上限报警16进制表示CALLBCD16MOVUPW16,CXKEY2:CALLWAREDMOVKEYF,03HLEADI,DNWLEASI,DNWLEABP,DNW10CALLSHOW2KEYIN2:CALLKEYSCANCMPCL,0B7HJZSTARTCMPCL,7BHJNZKEYIN2LINCKEYFCMPKEYF,04HJZKEY2DECDIDECB

温馨提示

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

评论

0/150

提交评论