内蒙古科技大学毕业设计说明书(毕业论文)
第四章 控制系统软件设计
4.1 软件系统设计原则
系统中的应用软件是根据系统功能要求设计的,应可靠地实现系统的各种功能。应用系统种类繁多,应用软件各不相同,但是一个优秀的应用系统应具有下列特点【15】:
(1)软件结构清楚、简洁、流程合理。
(2)各功能程序实现模块化,子程序化。便于调试、连接、移植、修改。 (3)程序存储区、数据存储区规格合理,既能节约内存容量,又操作方便。 (4)运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行要求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态标志条件来控制。
(5)经过调试修改后的程序应进行规范化,除去修改“痕迹”。规范化的程序便于交流、借鉴,也为今后的软件模块化,标准化打下基础。
(6)实现全面软件抗干扰设计。软件抗干扰是计算机应用系统提高可行性的有力措施。
本系统的软件采用C语言编写,在此本文主要介绍软件的各个模块功能与软件流程。本系统软件设计主要包括主程序,定时器T0启动程序,调速程序,键盘显示程序,停止判断程序。
4.2 步进电机控制系统功能设计
软件主要功能是单片机根据设定的步数,实现步进电机的自动加减速控制,使控制系统以最快的速度走完所设定的步数,并通过数码管和LED显示
32
内蒙古科技大学毕业设计说明书(毕业论文)
步进电机的运行参数。其具体功能如下:
按正转按键时,步进电机正转;按反转按键时,步进电机反转;按停止按键时,步进电机步进电机停止运行;通过键盘可输入所需要运行的步数,输入的步数的范围为0—9999步,当输入参数完毕后,按启动按键步进电机开始运行,同时数码管显示所需要运行的步数并通过LED显示步进电机的运行状态。单片机根据所输入的步数判断是否需要进行加速启动,当输入的步数小于100时,步进电机以最低速度25 r/min运行。当输入的步数大于100时,步进电机从最低速度25 r/min开始加速运行,当加速到99 r/min时步数仍大于100时,步进电机以设定的最大速度99 r/min恒速运行,当步数小于100时,步进电机开始减速,减速到25 r/min时,步进电机以设定的最低转速25 r/min走完所规定的步数。当步数为0时,步进电机停止运行。输入步数大于100时的调速过程如图4.1 所示。
图4.1 变速控制中转速与步长之间的关系
4.3 主程序设计
4.3.1 主程序工作过程
(1)系统初始化。系统初始化包括定时器T0初始化,步进电机工作状态
33
内蒙古科技大学毕业设计说明书(毕业论文)
的初始化。步进电机的初始化状态为停止、正转,数码管显示步数为0。
(2)键盘扫描及按键处理。判断是否有按键按下,若有则进行按键处理。按键功能包括数字按键,启动按键,停止按键,正转按键,反转按键、复位按键等功能按键。
(3)系统启动。单片机读取开关状态标志,判断是否启动系统。 (4)定时器T0启动。T0的中断服务程序主要用于根据步数,产生一个频率可以改变的脉冲信号,调节步进电机的加减速过程。
(5)调速。根据输入的步数判断是否需要进行调速,使控制系统以最短的时间走完所规定的步数。
(6)步数为0判断。判断是否已经走完所设定的步数,若步数为0,则单片机停止产生脉冲信号,让步进电机停止转动,即T0停止计数。
4.3.2 主程序工作流程图
主程序工作流程图如图4.2所示。在图中简单的反映出了整个控制系统的主程序工作流程。
4.3.3 定时器T0中断程序流程图
T0中断流程图如图4.3所示。T0中断程序的主要功能是能根据设定的步数产生一个频率可调的脉冲信号,从而控制步进电机的转速,并将调速范围控制在25~99 r/min。
34
内蒙古科技大学毕业设计说明书(毕业论文)
开始初始化键盘扫描程序Y有按键按下?N读入开关状态按键处理程序Y是否复位?N正转?YP0.1=0P0.1=1N是否启动?Y启动定时器T0NT0停止计数
图4.2 主程序流程图
35
内蒙古科技大学毕业设计说明书(毕业论文)
T0中断服务程序由speedflag求定时初值重装定时初值一个周期?Y步数减1程序N步数显示程序步数为0?NN步数大于100?Yspeedflag减 1r/minspeedflag 加1r/minYT0停止计数Yspeedflag小于25 r/min ?Nspeedflag大于99 r/min ?Nspeedflag为计算值Yspeedflag=25 r/minspeedflag为计算值speedflag=99 r/min中断返回
图4.3 T0中断服务程序流程图
36