烤箱温度控制设计_第1页
烤箱温度控制设计_第2页
烤箱温度控制设计_第3页
烤箱温度控制设计_第4页
烤箱温度控制设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、吴传林 唐思 肖骁 黄定 烤箱温度控制系统的设计(采用PD-32E实验装置)烤箱温度控制系统的设计(计算机控制技术基础课程设计)专 业:自动化 组 员: 吴传林 唐思 黄定 肖骁重庆大学自动化学院2013年9月目 录摘要1序言11.设计内容21.1已知参数和设计要求21.2实现方法22.组员分工23. 硬件部分组成33.1硬件连接33.2.1 AD57433.2.2 PT10043.2.3 芯片825544.操作说明55.设计总体思路55.1设计步骤65.1.1主程序的设计65.1.2温度设定子程序65.1.3读取当前温度子程序65.1.4温度比较以及加热子程序65.1.5报警子程序75.2原

2、理分析76.实验结果77.原程序清单88.设计感想88.1吴传林感想88.2唐思感想98.3肖骁感想10附录12系统框图12程序代码:18摘要 本文是对烤箱温度控制系统进行设计,在烤箱温度控制系统中,利用计算机对烤箱的继电器发出不同的信号,来控制继电器的开断,从而能够实现控制烤箱加热与否的控制。本系统采用了反馈控制,是经典控制理论在实际中成功应用的典型实例。本次采用的信号输出芯片是8255。而温度采集则是用了PT100感温电阻,将电信号送至A/D574中,利用A/D574的模数转换功能,将采集的温度模拟信号转换成计算机可以识别的电信号,进而在计算机内对这些电信号进行处理,经过反馈控制算法来输出

3、控制烤箱的电信号。关键词:反馈控制算法,A/D574模数转换,计算机控制序言温度控制技术广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,传统的温度控制技术中最常见的是继电器调温,但由于继电器动作频繁,温度控制范围小,精度不高,可能会因触点不良而影响正常工作。最近几年快速发展的有PID 温控、模糊控制、神经网络 以及遗传算法在温度控制中的应用。烤箱是热处理生产中应用最广的加热设备,它电流通过电热元件产生热量,借助辐射和对流的传递方式,将热量传递给所要加热的物品,使其加热到所要求的温度。本文设计的烤箱温度控制系统,是利用计算机对其温度进行控制,采用反馈控制算法,以实现对烤箱温度控制,

4、达到控制性能要求的指标。 1.设计内容 1.1已知参数和设计要求1.某烤箱的温度控制要求为:控制烤箱温度从室温上升到目标温度并一直保持在该目标温度,要求控制的精度达±3%,调节时间20秒。2.目标温度应可以通过键盘任意修改。3.完成温度检测、温度变松,温度显示(LED和CRT曲线)、温度控制、通过键盘设定上、下限温度报警值,温度超限报警(声、光)等功能。1.2实现方法采用PD-32E实验装置实现(限5人选做)2.组员分工姓名职务负责的部分吴传林组长键盘扫描、判断控制、显示模块程序编写,程序的编译和调试 唐思组员AD574转换,标度变换,控制算法,PWM波生成,程序的编译和调试肖骁组员

5、报警程序、读入温度值拆分、键盘输入值合并,报告撰写黄定组员 3. 硬件部分组成3.1硬件连接1)8255部分(第5片)连线: 8255(5)的CS结CS2 300H,PA0PA3接键盘P0P3,PB0PB3接键盘Q0Q3,PC0接烤箱的PWM控制信号接收端。2) AD574连线:AD574的CS接地址输入端CS7,AD574的12/8接VCC;AD574的A0接GND,AD574的10VIN接其上方的±5V,10VIN接PT100模块的PT_OUT。3) 蜂鸣器接8255的PC1口。3.2硬件介绍3.2.1 AD574AD574A是单片高速12位逐次比较型A/D转换器,内置双极性电路

6、构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下:在CE=1、CS=0同时满足时,AD574A才会正常工作,在AD574处于工作状态时,当R/C=0时A/D转换,当R/C=1是进行数据读出。和A0端用来控制启动转换的方式和数据输出格式。A0=0时,启动的是按完整12位数据方式进行的。当A0=1时,按8位A/D转换方式进行。当R/C=1,也即当AD574A处于数据状态时,A0和R/C控制数据输出状态的格式。当R/C=1时,数据以12位并行输出,当R/C=0时,数据以8位分两次输

7、出。而当A0=0时,输出转换数据的高8位,A0=1时输出A/D转换数据的低4位,这四位占一个字节的高半字节,低半字节补零。如果需AD574A工作于单一模式,只需将CE、端接至+5V电源端,和A0接至0V,仅用端来控制A/D转换的启动和数据输出。当=0时,启动A/D转换器,经25us后STS=1,表明A/D转换结束,此时将置1,即可从数据端读取数据。3.2.2 PT100pt100是铂热电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。它的工作原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成

8、近似匀速的增长。但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。常见的pt100感温元件有陶瓷元件,玻璃元件,云母元件,它们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成。PT100/PT1000铂电阻RT曲线图表: 图3.13.2.3 芯片8255 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,

9、即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 图3.2 4.操作说明键盘上的A键为启动键,B键为复位键,D为设置温度上限,E为设置温度下限,0-9数字键输入温度值。5.设计总体思路 框图如图所示:控制器烤箱温度采集我们采用的是传统的反馈控制策略,其具体过程如下:一开始,给定一个输入信号,即期望温度,此时,控制程序还没有起作用,此信号通过变送器送至继电器,继电器导通,使烤箱处于工作状态。这时,温度传感器就把烤箱内的温度转变成电信号送至计算机中。计

10、算机则将此电信号与输入的期望温度进行比较,通过控制器,根据不同的设定及差值,选择不同的控制算法。由于计算机内的电信号都是脉冲信号,因此,可以调节脉冲信号的占空比来调节继电器的断开与导通的时间。期望值与测量值的差距大,就增大占空比,使一个周期内的加热时间增长,反之,则减小占空比。采用上述的控制策略,即可以实现温度调节,达到控制指标的要求。5.1设计步骤5.1.1主程序的设计首先确定主程序所要实现的目标,即:预设显示输出,输入温度上限、温度下限,输入设定温度值,显示预设温度,实时刷新当前温度并显示,比较实时温度与设定温度差值并进行反馈控制,控制温度达到性能指标要求。然后,确定了主程序所要实现的功能

11、以后,在相应的编写各个子程序模块。同时,要考虑在整个系统实现的过程中,所要运用到的芯片,好进行芯片的初始化。如8255,AD574等5.1.2温度设定子程序温度设定子程序,即,从键盘上输入3个数字,将其存放在指定的空间区域内。5.1.3读取当前温度子程序即AD574的使用过程。首先,先将AD574初始化,启动转换,转换结果屏蔽高4位后,将所得到的结果存放在指定单元中,为当前温度。5.1.4温度比较以及加热子程序将前一步骤采集到的当前温度进行标度变换,比较设定值的大小与当前温度和设定值之差,然后做出相应的标记,然后根据不同的标记跳到相应的加热子程序中。其基本原则就是:实际温度和期望温度差距越大,

12、加热子程序中,每个周期的高电平占空比就越大,若设定值比较大,则直接采用满程输出。5.1.5报警子程序烤箱工作时,当烤箱温度超过设置温度上限和低于温度下限时,调用子程序,否则跳出子程序;其中接蜂鸣器的控制信号为第五片8255A的PC1口输出信号,输出0时,蜂鸣器发出警报,输出为1时,声音停止。5.2原理分析制烤箱温度的系统,我们采用反馈控制算法。利用计算机控制中的A/D转换器,将采集到的模拟信号转换成数字信号,然后送入计算机进行处理。在计算机中,我们编写了控制算法,将送入的电信号经过该算法,输出一个控制继电器开关的脉冲信号,我们可以通过调节脉冲高电平的占空比,来控制一个信号周期内加热时间的长短。

13、从而实现控制。又由于这个占空比是实时变化的,所以,这是一个变比例系数的P控制器。利用这个控制器,我们可以使烤箱内的温度保持在我们所设定的期望值。6.实验结果实验结果如下表所示:实验次数初始温度设定温度调节时间超调量误差13510041.3%24014021.2%36016021.5%45022012% 本次设计总体上还是比较成功,基本上实现了任务要求。只有调节时间的,可能是冗长的程序,或者是电烤箱的功率问题,又或者是自己反馈补偿参数设计不够完善,总之,不能达到要求的20秒以内,此为设计的瑕疵。7.原程序清单见附录48.设计感想8.1吴传林感想作为我们团队的组长,需要确定合适的电路,对电路进行调

14、试,将变送器调至最合适的范围。同时还要确定与硬件相关的软件主体思想。一个项目的成败,与组长的整体协调能力关系很大。这次的时间比较紧张,而且之前没怎么做过过程控制类的题目,所以可以说是时间短、任务重。热敏电阻PT100之前接触过,但是没有和计算机连起来使用,也是一个新的挑战。这次设计我吸取的上次计算机硬件课程设计的教训,学会多利用子程序,而不是要把所有的问题都用一个主程序解决,却很少使用子程序。这样,不但别人读不懂自己的程序,就连自己有时候都读不懂自己的程序。这次课程设计感觉比以前进步的一点就是程序的模块化思想更加深刻。之前总也用程序段的方式插入的主程序中,而这次则是尽量减少主程序的内容,将所有

15、的处理部分都写成子程序,设计好入口参数,就可以是整个程序思路清晰,一目了然。一个好的程序编写者并不是会把所有的模块都自己写出来,而是可以将自己搜索到的各种模块与自己的项目结合,设计好接口参数,达到事半功倍的效果。这次的程序就用了之前做过的一些设计的模块,如实时显示刷新模块,延时程序,报警子程序等。这些之前积累下来的宝贵资料大大加快了本次课程设计的速度。通过了这次课程设计,虽然很累,但过得很充实,收获也很多,我们将学到的知识又重新的复习了一遍,在原来的基础上巩固了对理论知识的理解并且提升了自己的实践能力。对汇编语言的使用有了进一步的提高,对一个大系统进行模块化分析是以前没有尝试过的,分工合作也让

16、我们学会团结互助,让我们对团队合作精神理解得更透彻,对于我们以后的学习或者工作中都有深远的意义。 8.2唐思感想 这次的课程设计我们小组总算是顺利地完成了。虽然只有短短一个星期,但让我真正见识到了什么是团队的力量。从接到此次课程设计任务开始,大家就分配好了各自的任务,并且经常聚在一起各抒己见地讨论各个方案的可行性,气氛那是十分的热烈。在我们小组中也许有的同学能力强些,有些同学能力没那么强,分工时能力强的同学可能任务就重些,但是大家都没有任何的怨言,全力地专注于自己的那一部分任务,所以团结协作是我们小组能顺利完成此次课程设计的一项非常重要的保证,而这次设计也正好锻炼我们这一点,这也是非常宝贵的。

17、 我们这次是设计对烤箱温度控制系统,对于温度的控制系统,我们需要完成温度的采集,温度的控制,能通过键盘,显示接口实现恒温时间设置,系统初始参数设置,报警设置等功能。我们一起讨论,一起研究,经过几番努力,初步编出的程序,问题很多,也总找不到原因,然后参考书上的例题程序,修改了很多,有些问题是子程序与主程序的连接没弄好,还是很多问题,然后仔细复习书上所学过的知识,对我们的程序再次发现问题,修改问题,后来经过多次的修改最终完成了初步的可行性程序,也算一个进步。在调试过程中又遇到了烤箱失灵等各种客观问题,但最终在同学的协作以及我们自身的努力下,都将这些困难一一克服并得到了比较理想的结果。在这次设计中,

18、我主要负责的是烤箱控制算法及输出部分,刚开始的时候还是出现很多问题,在同学的帮助以及参考其他组的一些程序后,初步完成了这段程序,然后经过自己的多次修改,完成了这部分的编写,设计了一个符合烤箱实际情况的合理算法。在温度较还远未达到设定值时,采用满程的输出,在接近时,采用PWM波,并且在设定值不同区间时采用不同脉宽的PWM波,当设定值过高时,采用满程输出。当实际温度超过设定值,立即关机,待温度降到设定值以下再次输出。经过这个部分的编写,让自己明白了很多,课堂上学的东西远远不够,还是需要自己课后的更多的付出和复习,才能让自己所学的东西学以致用,才能让书上的知识变成自己的,也才能让自己变得更加充实,学

19、得更多。最后顺利地完成了课程设计,大家心情都很喜悦,虽然过程有点累,但是看到努力后的成果,还是很欣慰。总的来说,通过历时一个星期的课程设计,发现了自己的很多不足,以及自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。经过这个课程设计,同时也证明一个团队的力量比一个人的力量大得多,完成一个复杂的问题效率也会高很多,我自己也从此次课程设计中学到了很多东西,实在是令我受益匪浅。8.3肖骁感想这次课程设计让我体会到了团队的温暖。由于我将要参加研究生入学考试,所以精力大都放到复习考研上面去了。但是我的团队给了最大的包容和理解,让我负责了较为轻松的报警程序、将实际温度转化

20、为字型码和将输入的三个数合成一个数的子程序编写。这已经不是我第一次团队合作做课程设计了,但是这次让我最为记忆犹新。本次课程设计我们小组做的是烤箱,我的主要工作是报警子程序的编写。通过此次课程设计,总的来说收获还是挺大的。我的工作是参与了部分子程序的编写,主要有用报警子程序,字型码转化等。这次的课程设计我们小组总算是顺利地完成了。虽然只有短短一个星期,但让我真正见识到了什么是团队的力量。从接到此次课程设计任务开始,大家就分配好了各自的任务,并且经常聚在一起各抒己见地讨论各个方案的可行性。在我们小组中也许有的同学能力强些,有些同学能力没那么强,分工时能力强的同学可能任务就重些,但是大家都没有任何的

21、怨言,全力地专注于自己的那一部分任务,所以团结协作是我们小组能顺利完成此次课程设计的一项非常重要的保证,而这次设计也正好锻炼我们这一点,这也是非常宝贵的。我们这次是设计对烤箱温度控制系统,对于温度的控制系统,我们需要完成温度的采集,温度的控制,能通过键盘对温度的显示,初始参数设置,报警设置等功能。我们一起讨论,一起研究,经过几番努力,初步编出的程序,问题很多,也总找不到原因,然后参考书上的例题程序,修改了很多,有些问题是硬件连线问题,我们的烤箱是低电平有效的,我们还将它接到了地。还有很多问题,然后仔细复习书上所学过的知识,对我们的程序再次发现问题,修改问题,后来经过多次的修改最终完成了初步的可

22、行性程序,也算一个进步。在调试过程中又遇到了烤箱温度达不到等各种客观问题,但最终在同学的协作以及我们自身的努力下,都将这些困难一一克服并得到了比较理想的结果。最后顺利地完成了课程设计,大家心情都很喜悦,虽然过程有点累,但是看到努力后的成果,还是很欣慰。总的来说,通过历时一个星期的课程设计,发现了自己的很多不足,以及自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。经过这个课程设计,同时也证明一个团队的力量比一个人的力量大得多,完成一个复杂的问题效率也会高很多,我自己也从此次课程设计中学到了很多东西。在一个星期的时间里,我们完成了此次课程设计,虽然付出了很多,但

23、是也收获了很多。这也让我明白了一个道理,大家需要团结在一起才能更大的发挥自己的能力,效率才会更高。10附录图1 系统框图系统框图PD-32SSR8255烤箱AD574PT100图2 电路原理图 图3 主程序流程图 警报 执行 控制算法 标度变换AD转换 键盘扫描 开始 初始化图3 主程序流程图否是否执行状态是 否 是 否 否 是 是 否 算法1设定大于100满输出输出标志为0设定值大于实际值 返回算法2设定大于150差值小于10设定值-实际值输入设定值 开始图4 算法控制流程图 是 否 返回进行100-控制值次循环送1控制值为0进行控制值次循环送0 开始 图5 执行子程序流程图 大于 小于 小

24、于 大于 开始 返回蜂鸣器送0比较读回值与下限蜂鸣器送1比较读回值与上限图6 报警子程序流程图余数为低位,查表得字型码 返回余数除以10再查表得次字型码除以100查表的高位字型码读回温度值 开始图7 温度转字型码子程序流程图27程序代码:.486CODESEGMENTUSE16 ASSUMECS:CODEORG2000HBEG:JMPSTART XISHU1 DW 5 ; 补偿算法系数1XISHU2 DW 3 ;补偿算法系数2AJZDB?;记录按键的数值AJCSDB0;记录按下键的次数WDSXDW300;上限温度值WDXXDW0;下限温度值YSWDDW?;预设温度值SJWDDW?;实际温度值Z

25、CWDDW?; 温度暂存YSXSDB?,?,?; 预设温度显示SWXSDB?,?,?; 实际温度显示SRXSDB?,?,?;输入温度的三位数值ADJGDW0;存放AD转换的结果BDBHJGDW0; 存放标度变换的结果ZKBDW0; 占空比LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;三色LED字型码KEYDB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H;键特征值START:CALLCSH; 调用初始化子程序LL0:CALLJPSM;调用

26、键盘扫描子程序CALLADZH ; 进行AD转换CALLBDBH;进行标度变换CALLXSSW; 显示实际温度值MOVAL,AJCSCMPAL,4 ; 比较AJCS是否为4,为4的话说明是在温度控制执行状态JNZLL0;不等于4,向上跳转CALLKZSF; 调用控制算法子程序,处理获得的温度差CALLPWM; 调用产生PWM波形子程序CALLBJQ ;调用报警器子程序JMPLL0;-显示初始化-CSHPROCMOVDX,30CH;第5片8255初始化MOVAL,90HOUTDX,ALMOVDX,20CHMOVEAX,80808080H;14片8255初始化OUTDX,EAXMOVDX,208H

27、;将LED全熄灭MOVEAX,0F0F0F0FHOUTDX,EAXMOVDX,30CHMOVAL,00000011B;为第五片8255的PC1、PC0赋值1OUTDX,ALRETCSHENDP;-键盘扫描-JPSMPROCPUSHAMOVBL,0F7H;从Q3列开始扫描SM:MOVAL,BLMOVDX,304HOUTDX,AL;送出列信号MOVDX,300HINAL,DX;读入行信号 ANDAL,0FHCMPAL,0FHJNZLL1;有键按下,跳转RORBL,1;调整列信号JCSMJMPJPSM3;无键按下,跳出程序LL1: ;以列信号为高四位,行信号为低四位,形成键特征值SHLBL,4ORB

28、L,ALCALLDLY_L ;延时去抖动DDSF:MOVAL,0 ; 等待释放MOVDX,304HOUTDX,ALMOVDX,300HINAL,DXANDAL,0FHCMPAL,0FHJNZDDSFLEASI,KEY;键特征值的首地址MOVAJZ,0;用AJZ记录下按下键的数值JPSM1:MOVAL,AJZMOVAH,0MOVBP,AXCMPBL,SI+BP;按下的键从零开始的比较JZJPSM2INCAJZJMPJPSM1JPSM2:CALLPANDUAN;判断输入值JPSM3:POPARETJPSMENDP;-去抖动延时-DLY_LPROCPUSHCXMOVCX,0FFFFHDLYL_AGN

29、:NOPLOOPDLYL_AGNPOPCXRETDLY_LENDP;-判断输入值-PANDUANPROCPUSHAMOVBL,AJZ ;按下的键值MOVBH,AJCS ;按键次数CMPBL,9JAPAN1 ;大于9跳转CMPBH,2JAPAN7 ;大于2跳转INCAJCS ;次数加一CALLYSZXS ;调用预设值显示子程序JMPPAN7PAN1:CMPBL,0BHJZPAN4;等于B跳转CMPBL,0CHJZPAN5;等于C跳转CMPBL,0FHJZPAN7;等于F跳转CMPBH,3;判断次数AJCS是否等于3JNZPAN7;不等于3跳转CALLZUHE;将输入的三个数组合MOVCX,ZCW

30、D;将组合好的数存放在CXCMPBL,0AHJNZPAN2; 不等于A跳转CMPCX,WDSX; 与上限温度比较JAPAN7 ; 大于上限温度跳转 CMPCX,WDXX ; 与下限温度比较JBPAN7 ; 小于下限温度跳转INCAJCS ; 次数加1,变为4MOVYSWD,CX ; 得到预设温度JMPPAN7PAN2:CMPBL,0DH JNZPAN3 ; 等于D跳转MOVWDSX,CX ; 得到上限温度JMPPAN6PAN3:MOVWDXX,CX ; 得到下限温度JMPPAN6PAN4:CMPBH,3 JAPAN7 ; 大于3跳转JMPPAN6PAN5:CMPBH,4JNZPAN7 ; 不等

31、于4跳转PAN6:MOVAJCS,0 ; 次数清零MOVDX,20AH ; 8255(3)C口地址MOVAX,0F0FH ;预设温度显示关闭OUTDX,AXPAN7:POPARETPANDUANENDP;-预设值显示-YSZXSPROCPUSHAMOVCL,AJCSLEABX,LED;将存放三色LED字型码地址给BXMOVAL,AJZ;将按下键的数值给AL,以待查表转换LEADI,SRXS;将存放输入温度数值的地址给DILEASI,YSXS;将存放显示温度字型码的地址给SIMOVDX,20AH;8255(3)C口地址CMPCL,1JZSH1;等于1跳转CMPCL,2JZSH2;等于2跳转CMP

32、CL,3JZSH3;等于3跳转JMPSH5SH1:MOVDI,AL;将最高位存放XLAT;查表转换MOVSI,AL;将最高位的字型码存放MOVAX,0F0EH;LED只显示最高位,绿色JMPSH4SH2:MOVDI+1,AL;将次高位存放XLATMOVSI+1,AL;将次高位的字型码存放MOVAX,0F0AH;LED显示前两位,绿色JMPSH4SH3:MOVDI+2,AL;将最低位存放XLATMOVSI+2,AL;将最低位的字型码存放MOVAX,0E0AH;LED显示三位,绿色JMPSH4SH4:OUTDX,AXMOVDX,202H;8255(3)A口地址LEASI,YSXS;将显示温度的字型

33、码地址给SICALLXIANSHIOUT;显示SH5:POPARETYSZXSENDP;-实际值显示-XSSWPROCPUSHACALLZHUAN;将实际温度转换为字型码MOVDX,208H;8255(1)C口地址MOVAX,0D05H;红色OUTDX,AXMOVDX,200H;8255(1)A口地址LEASI,SWXS;将显示温度的字型码地址给SICALLXIANSHIOUT;显示输出POPARETXSSWENDP;-显示输出-XIANSHIOUTPROCPUSHAMOVAL,SIOUTDX,AL;输出最高位INCSIMOVAL,SIADDDX,4OUTDX,AL;输出次高位INCSIMOV

34、AL,SISUBDX,3OUTDX,AL;输出最低位POPARETXIANSHIOUTENDP;-将输入的三个数组合成一个数-ZUHEPROCPUSHALEASI,SRXS;输入温度数值的地址MOVCL,10MOVAL,SIMOVAH,0MULCL;最高位乘以10INCSIADDAL,SI;加次高位MULCL;和再乘以10INCSIMOVBL,SIMOVBH,0ADDAX,BX;再加最低位MOVZCWD,AX;得到温度值ZUHE1:POPARETZUHEENDP;-实际温度转换为字型码-ZHUANPROCPUSHALEASI,SWXS;显示温度字型码地址LEABX,LED;三色LED字型码地址

35、MOVAX,SJWD;实际温度值MOVCL,100DIVCL;除以100,商是最高位XLATMOVSI,AL;将最高位的字型码存放INCSIMOVAL,AHMOVAH,0MOVCL,10DIVCL;余数除以10,商是次高位,余数为最低位XLATMOVSI,AL;将次高位存放INCSIMOVAL,AHXLATMOVSI,AL;将最低位存放POPARETZHUANENDP;-标度变换子程序-BDBH PROC NEAR PUSHAMOV AX,ADJG MOVCX,10 MUL CX MOV CX,3 DIV CX MOVCX,2 MUL CXMOV CX,91 DIV CX MOV BDBHJG,AX ;保存标度变换后的结果 MOVSJWD,AX POPA RETBDBH ENDP;-A/D转换子程序-ADZH PROC NEARPUSHAMOV DX,3C0H ; A/D地址MOV AL,0 ; 虚写,启动12位A/D转换OUTDX,ALMOV CX,20hLOOP $ ; 延时等

温馨提示

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

评论

0/150

提交评论