欢迎来到天天文库
浏览记录
ID:11278677
大小:375.34 KB
页数:20页
时间:2018-07-11
《步进电机的单片机控制系统软件设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、步进电机的单片机控制系统软件设计4.1控制程序总体设计系统软件采用模块化程序设计,使程序流程清晰明了。系统主程序主要完成的内容:系统参数初始化、判断保护信号、打开中断启动电机。系统主程序流程图如下图4-1所示[1]。可以看出,主程序是一个死循环,在系统上电初始化完毕后,系统一直在不断的执行这个循环程序。在循环过程中,若产生中断,则程序就转去执行相应的中断服务程序。在后面将逐一介绍中断服务程序,功能子程序等的设计。图4-1主程序流程图步进电动机的速度控制通过控制单片机发出的步进脉冲频率来实现。对于用软件实现脉冲分配,可以采用调整两个控制字之间的时间间
2、隔来实现调速。根据调速原理,控制步进电动机速度的方法可有两种:一、通过软件延时的方法。改变延时的时间长度就可以改变输出脉冲的频率,但这种方法使CPU长时间等待,占用大量机时,因此没有实用价值。二、通过定时器中断的方法。在中断服务子呈现中进行脉冲输出操作,调整定时器的定时常数就可以实现调速。本系统软件延时的方法实现调速,从HSO.0通道输出连续脉冲信号。在50H单元存放脉冲处于“1”电平时间值(单位为2),52H单元存放脉冲处于“0”电平时间值(单位为2)。改变50H和52H单元的内容,就可以改变脉冲输出的频率及占空比。程序如下:主程序ORG2080
3、HOUPSS: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装载子程序POPF;恢复PSWRET;返回主程序CAM装载子程序LDCAM:LDBHSO-COMMAND,#20H;1→HSO.0LDH
4、SO-TIME,54HADD54H,50H;计算下跳变时刻NOPNOP;空操作LDBHSO-COMMAND,#10H;0→HSO.0,并产生HSO中断LDHSO-TIME,54HADD54H,52H;计算上跳变时刻RET其它高速输出口(HSO)的连续脉冲信号的产生程序可依据如上程序写入。这样可通过改变输出脉冲的频率达到控制步进电动机速度和方向。4.2键盘/显示器的自动扫描8279是Intel公司生产的通用可编程键盘和显示器I/O接口芯片。利用8279,可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,这样可以大大节省CPU对键盘/显示器的操
5、作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作。主程序框图如下图4-2所示图4-2主程序框图图4-3中断服务子程序框图;主程序STATUSEQU7FFFHDATAEQU7FFEHAXEQU20HALEQU20HAHEQU21HBXEQU22HBLEQU22HBHEQU23HCXEQU24HCLEQU24HCHEQU25HDXEQU26HDLEQU26HDHEQ27HEXEQ28HELEQU28HEHEQU29HFXEQU2AHFLEQU2AHFHEQU2BHLDAX,#200EHLDBX,#3000HSTBX,[AX]LDBB
6、L,#0DEHSTBBL,STATUS[R0]LDBL,#00HSTBBL,STATUS[R0]LDBBL,#34HSTBBL,STATUS[R0]LDBAH,#00HLDBAL,#00HLDBAH,#00HEI中断服务程序LDBBL,#40HSTBBL,STATUS[R0]LDBBL,DATA[R0]STBBL,[EL]CLRCSUBBBL,#38HJCL1LDBBL,[AH]SHRBBL,#01HJNCL2INCBALLDBBL,[AL]SHRBBL,#01HJCL3LDBBL,[EL]STBBL,[EH]INCB[FL]L8:LJMPL4EI
7、RETL3:LDBBL,[EL]STBBL,[DL]LDB[FL],#80HLJMPL8L1:CLRCSUBBBL,#38HJNZL5INCBAHLDBBL,[DH]SHRBBL,#04HANLBBL,#0FHSTBBL,[DL]LDB[FL],#80HLJMPL4LDBBL,[DH]ANLBBL,#0FHSTBAL,[EH]INCB[FL]LJMPL4L9:EIRETL5:LDBBL,[EL]CLRCSUBBBL,#39HJNZL2SHRBAL,#02HJCL2LDBAH,#00HLDBAL,#00HLDBBL,[DL]SHLBBL,#04HAN
8、LBBL,#0F0HORBBL,[EH]STBBL,[DH]LJMPL94.3软件脉冲分配器软件脉冲分配器是指实现脉冲分配
此文档下载收益归作者所有