步进电机的单片机控制系统软件设计4
1控制程序总体设计系统软件采用模块化程序设计,使程序流程清晰明了
系统主程序主要完成的内容:系统参数初始化、判断保护信号、打开中断启动电机
系统主程序流程图如下图4-1所示[1]
可以看出,主程序是一个死循环,在系统上电初始化完毕后,系统一直在不断的执行这个循环程序
在循环过程中,若产生中断,则程序就转去执行相应的中断服务程序
在后面将逐一介绍中断服务程序,功能子程序等的设计
开始初始化设置中断方式等待中断判断保护信号是否需要保护执行保护程序结束YN图4-1主程序流程图步进电动机的速度控制通过控制单片机发出的步进脉冲频率来实现
对于用软件实现脉冲分配,可以采用调整两个控制字之间的时间间隔来实现调速
根据调速原理,控制步进电动机速度的方法可有两种:一、通过软件延时的方法
改变延时的时间长度就可以改变输出脉冲的频率,但这种方法使CPU长时间等待,占用大量机时,因此没有实用价值
二、通过定时器中断的方法
在中断服务子呈现中进行脉冲输出操作,调整定时器的定时常数就可以实现调速
本系统软件延时的方法实现调速,从HSO
0通道输出连续脉冲信号
在50H单元存放脉冲处于“1”电平时间值(单位为2),52H单元存放脉冲处于“0”电平时间值(单位为2)
改变50H和52H单元的内容,就可以改变脉冲输出的频率及占空比
程序如下:主程序ORG2080HOUPSS:LDSP,#00C0H;设栈指针DI;关中断ORBINT-MASK,#8H;允许HSO中断LDTEMP,#HSO-INT;送HSO中断服务程序入口地址STTEMP,2006H[0]ADD54H,T1,52H;计算上跳变时刻SCALLLDCAM;调CAM装载子程序EI;开中断HERE:SJMPHERE;等待中断中断服务程序HSO-INT:PUSHF;保护PSW,同时清PSWSCALLLDCAM;调CAM