3.7 速度等级指示灯电路
速度等级采用LED指示灯指示。接口电路如图8所示
图8 指示电路
14
4 软件系统的设计与系统功能实现
4.1 软件设计原则及编程思路
应用系统中的应用软件是根据系统功能要求设计的,应稳定正确的实现系统的各种功能。在本系统中,软件设计要求做到以下几点: 1. 软件结构清晰,简捷,流程合理。
2. 各功能程序实现模块化。这样,即便于调试,链接,又便于移植,修改。
3. 程序存储区,数据存储区要合理规划,既能节约内存容量,又使操作方便。
4. 运行状态实现标志化管理。各个功能程序运行状态,运行结果以及运行要求都要设置状态标志以便查询,程序转移,控制都可通过状态标志条件来控制。
4.2 程序设计前期准备 4.2.1 程序设计平台
考虑到程序的易读性和简练,程序设计采用C语言。程序编辑平台采用Keil。
15
图3-1 Keil软件界面
4.2.2 程序设计思路
步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。
在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断服务程序控制步进电机的转动:根据当前显示的速度进行键盘手动改变T0定时时间常数,设置TH0和TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的。
说明如下:
1.单片机接受键盘信息,改变系统内部变量值。 2.单片机输出脉冲信号,控制步进电机转动。 3.单片机根据步进电机实际转动值,控制数码管显示。
16
4.3 程序流程图
4.3.1 主程序流程图
步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图3-2所示:
图3-2 步进电机控制系统主程序流程图
系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化,设置T0工作方式控制时间常数。初始化完成后,步进电机处于停止状态,T0定时器处于关闭状态。然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制。
4.3.2 读键盘子程序流程图
首先初始化实际键值参数为0FH,然后扫描P2口,与初始值比较,相等则说明没有键按下,不相等则软件消抖,以便确认是否真的有键按下。延时10ms后再次扫描P2口,第二次与初始值比较,若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备。
17
启动 是否有 键否
处 理是 程键盘子
图3-3 扫描键盘字程序流程图
4.3.3 键盘处理子程序流程图
按键处理子程序流程图如图3-3所示:
18