汇编程序软件流程图.doc

上传人:壹****1 文档编号:558396454 上传时间:2023-01-14 格式:DOC 页数:4 大小:56.51KB
返回 下载 相关 举报
汇编程序软件流程图.doc_第1页
第1页 / 共4页
汇编程序软件流程图.doc_第2页
第2页 / 共4页
汇编程序软件流程图.doc_第3页
第3页 / 共4页
汇编程序软件流程图.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编程序软件流程图.doc》由会员分享,可在线阅读,更多相关《汇编程序软件流程图.doc(4页珍藏版)》请在金锄头文库上搜索。

1、常见控制系统的软件设计系统的软件部分是整个控制系统的精神和灵魂,相同的硬件电路,配以不同的软件,整个系统的性能和稳定性将大不相同。所以说,在一个复杂的自动控制系统研制过程中,软件的工作量往往大于硬件。换言之,自动控制系统的设计在很大程度上就是软件的设计。软件系统一般由五部分组成:初始化部分、监控主程序部分、实时中断程序部分、抗干扰程序部分以及子程序部分,如下图所示初始化部分监控主程序部分:有无子程序要执行?实时中断程序抗干扰程序 子程序X .子程序 2子程序1 (指令代码区) 软件系统各部分的关系图1.1 系统初始化部分当系统开机复位后,系统首先进入初始化部分。初始化部分主要是对P89C51R

2、D2单片机芯片的一些位、单元进行赋值;对芯片的时钟、中断以及堆栈寄存器SP进行设置。这一部分在整个软件系统中虽然只占极小的比例而且难度也很小,像对芯片时钟、中断的设置都有固定的模式,但是它在整个系统中的作用却是不容忽视的,尤其是像发动机这类动力机械的控制更是如此,即使是很小的错误都有可能造成机器的损坏。所以在每一次对程序进行修改后,都应该对这一部分进行仔细的检查,以免在实验中产生不必要的危险。1.2 监控主程序部分监控主程序在整个软件系统中的任务非常专一,同时也非常简单,就是无限循环地判断是否到了该执行某一子程序的时间。如果发现该执行某一子程序时,主程序将开始调用该子程序,当子程序执行完毕后,

3、主程序又开始自己的判断任务。这里用一个比较形象的比喻就可以说明监控主程序的重要作用:子程序部分好比是一粒粒零散的珍珠,而监控主程序就是将这些零散的珍珠连成一串美丽珍珠项链的那根线。从这个比喻可以看出,如果监控主程序出现问题,那么整个软件系统将陷入瘫痪。1.3 实时中断程序部分单片机和外部设备交换信息时,存在着速度快慢不一致的矛盾,单片机具有比较快的速度,而且有些时候,单片机内部也可能出现突发事件,为此,单片机中通常采用中断技术。这样单片机和外部设备并行工作时,当外设数据准备好(或有某种突发事件发生)时向单片机提出申请,单片机将暂停正在执行的程序转而为该外设服务(或处理紧急事件),处理完毕再回到

4、原断点继续执行原程序,这个过程就称为中断,引起中断的原因和发出中断申请的来源,称为中断源51。本系统选用的是PHLIPH(飞利浦)公司生产的P89C51RD2单片机,该芯片提供了7个中断源:2个外部中断、3个定时中断、1个串行中断、1个PCA中断,在本系统中,我们用了其中的5个中断:1个外部中断、3个定时中断和1个串行中断。下面将对这几个中断源进行介绍。1.3.1 外部中断源在P89C51RD2单片机共有2个外部中断源:外部中断0和外部中断1,它们的中断请求信号分别由引脚/INT0(P3。2)和/INT1(P3。3)引入。外部中断请求有两种信号方式,即电平方式和脉冲方式。电平方式是低电平有效,

5、只要单片机在中断请求引入端P3。2和P3。3口采样到有效的低电平时,就激活外部中断;脉冲方式则是脉冲的后沿负跳有效52。本系统只用外部中断0,所采用的请求信号是脉冲方式,是用来计数霍尔速度传感器产生的脉冲数,以便在某一固定的时间内,单片机可以读取脉冲数并计算出发动机当前的转速。1.3.2 定时中断源在常规的51单片中只有定时中断T0和T1两个定时中断,而在P89C51RD2单片机增加了定时中断T2。定时中断是由单片机中的定时器/计数器产生的。定时器/计数器是单片机的重要功能模块之一,在检测、控制及智能仪器等应用中,常用定时器作实时时钟,实现定时检测、定时控制。还可以用定时器产生毫秒宽的脉冲,驱

6、动步进电机、电磁阀这一类的电气机械。定时器/计数器的核心是16位加法计数器,用特殊功能寄存器TH0、TL0,TH1、TL1以及TH2、TL2。定时器/计数器0、1共有4种工作方式,定时器/计数器2有3种工作方式53。根据实验的需要,三个定时器/计数器都被占用了,而且都选择定时器方式工作。定时器0的定时中断时间被设定为1ms,它在系统中的作用:对各个子程序执行时间的设定,实现多任务;对发动机的启动和停止进行实时判断,以便在发动机启动过程中喷气初始值的给定以及在发动机停止时将电磁阀进行及时关闭。定时器1在系统中的作用:产生毫秒宽的脉冲对喷气电磁阀进行控制。定时器2在系统中的作用:用来通信所需的波特

7、率。1.3.3 串口中断 串口中断在系统中的作用非常明确:处理数据的接收和发送。 1.4 抗干扰程序部分54,55微机系统的可靠性是由多种因素决定的,其中系统的抗干扰性能是系统可靠性的重要指标。本系统的工作环境比较恶劣,所以尤其要注意采取抗干扰的措施,我们除了在硬件电路上采取了抗干扰措施,还在软件上进行了抗干扰处理。软件抗干扰技术是当系统受到干扰后使系统恢复正常运行或输入信号受到干扰后去伪存真的一种辅助方法。由于软件设计灵活,所以,软件抗干扰技术越来越引起人们的重视,特别像发动机所处的工作环境比较恶劣,周围电磁辐射较强,因此,在系统中,采用了以下三种抗干扰形式:数字滤波、冗余指令以及软件陷阱。

8、1.4.1 数字滤波所谓数字滤波是通过一定的计算程序,对采集的数据进行某种处理,从而消除或减弱干扰噪声的影响,提高测量的可靠性和精度。常用数字滤波方法:算术平均滤波、中位值滤波、去极值平均滤波、移动平均滤波、限幅滤波、加权平均滤波、低通滤波、复合滤波。采用数字滤波具有以下优点:(1) 节省硬件成本 数字滤波只是一个滤波程序,无需添加硬件,而且一个滤波程序可用于多次和许多通道,无需每个通道专设一个滤波器,因此大大节省硬件成本;(2) 可靠稳定 软件滤波不像硬件需要阻抗匹配而且容易产生硬件故障;(3) 功能强 数字滤波不但可以对频率很高或很低的信号进行滤波,这是模拟滤波器难以实现的,而且数字滤波手

9、段较多;(4) 方便灵活 只要适当改变软件滤波程序的运行参数,即可方便改变滤波功能;(5) 不会丢失原始数据 采用数字滤波只是把已采集存储到存储器中的数据读出来进行数字滤波,只“读”不“写”就不会破坏采集得到的原始数据。根据需要,系统软件设计中采用算术平均滤波的方法对模拟输入采样进行数字滤波,这种方法对信号的平滑程度完全取决于采样个数N。当N较大时,平滑度高,但灵敏度低;当N较小时,平滑度低,但灵敏度高。应视具体情况选取N,以便既少占用计算时间,又可达到最好的效果。1.4.2 冗余指令当单片机受到干扰后,往往将一些指令的操作数当作指令码来执行,从而引起程序的混乱。这时首先要尽快将程序纳入正轨(

10、执行正常的指令)。51单片机指令都不超过3个字节,而且单字节指令居多。当程序弹飞到某一条单字节指令上时,便纳入正轨;当程序弹飞到某一条双字节指令上时,有可能落到其操作数上,从而继续出错;当然如果是三字节指令那出错的概率就更大了。因此,应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP),或是有效单字节指令重复书写,这便是冗余指令。指令冗余措施可以减少程序弹飞的次数,使其很快纳入程序轨道,但这不能保证在失控期间不出错,更不能保证程序纳入正常轨道后就太平无事,而且,冗余指令在一定程度上也会降低微机控制系统的效率。1.4.3 软件陷阱 所谓软件陷阱就是一条引导指令,强行将捕获的程序引

11、向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果把监控主程序的入口标号称为Main的话,软件陷阱即为一条Ljmp Main 的指令,为加强其捕捉效果,一般还在它前面加两条NOP指令,因此,真正的软件陷阱由三条指令构成: Nop Nop Ljmp Main在本系统中,软件陷阱被用在未使用的大片ROM空间中。它们对整个系统稳定运行起到了一定的作用。1.5 子程序部分子程序部分是整个软件系统的工作重点,它是由许多的子程序构成的,而每一个子程序都有自己的使命,即一个子程序就对应一项任务,这样就可以使比较复杂的子程序部分变得有条理,不容易产生错误。前面我把子程序部分比喻成一粒粒零散的珍珠,那么每一个子程序就是其中的一粒珍珠。为了把这一比较复杂的部分说明清楚,将子程序部分分成四个主要的模块进行说明(如图5.2所示)。其中空燃比控制模块不仅是子程序部分的重点,而且是整个软件系统的重点部分。子程序部分电磁阀调节模块传感器采样模块空燃比控制模块串口通信模块图5.2 子程序部分四个主要的模块1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号