当前位置:首页 > (完整版)基于AT89C51单片机的步进电机控制系统毕业设计论文
单片机根据所输入的步数判断是否需要进行加速启动,当输入的步数小于100时,步进电机以最低速度25 rmin运行。当输入的步数大于100时,步进电机从最低速度25 rmin开始加速运行,当加速到99 rmin时步数仍大于100时,步进电机以设定的最大速度99 rmin恒速运行,当步数小于100时,步进电机开始减速,减速到25 rmin时,步进电机以设定的最低转速25 rmin走完所规定的步数。当步数为0时,步进电机停止运行。输入步数大于100时的调速过程如图4.1 所示。
图4.1 变速控制中转速与步长之间的关系
4.3 主程序设计
4.3.1 主程序工作过程
(1)系统初始化。系统初始化包括定时器T0初始化,步进电机工作状态的初始化。步进电机的初始化状态为停止、正转,数码管显示步数为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 rmin。
开始初始化键盘扫描程序Y有按键按下?N读入开关状态按键处理程序Y是否复位?N正转?YP0.1=0P0.1=1N是否启动?Y启动定时器T0NT0停止计数
图4.2 主程序流程图
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中断服务程序流程图
共分享92篇相关文档