电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

步进电机的单片机控制系统软件设计VIP免费

步进电机的单片机控制系统软件设计_第1页
1/20
步进电机的单片机控制系统软件设计_第2页
2/20
步进电机的单片机控制系统软件设计_第3页
3/20
步进电机的单片机控制系统软件设计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装载子程序POPF;恢复PSWRET;返回主程序CAM装载子程序LDCAM:LDBHSO-COMMAND,#20H;1→HSO.0LDHSO-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对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作。主程序框图如下图4-2所示开始设置堆栈指针SP8279芯片初始化:清0FIFO及置1显示RAM,设置显示,键盘工作模式清0K1键状态字清0显示缓冲区满标志清0数字键记数开中断启动用户程序图4-2主程序框图向8279送读键盘命令读FIFO送字符缓冲区是命令键是K1键?K1键状态字置“1”取DH单元内容高4位右移四次到低4位送显示缓冲区I置缓冲区I满标志调显示子程序DH内容低四位送显示缓冲区II置缓冲区II满标志调显示子程序开中断返回是EX键?最低位是1清K1键状态字清0键计数值显示缓冲区II左移4次与显示缓冲区II低4位拼一个字节送DH单元否否是出错处理出错处理是否是是否A开始K1键状态字=0?数字键计数值加1最低位是0?字符送显示缓冲区II字符送显示缓冲区I置缓冲区II满标志置缓冲区I满标志调显示子程序开中断中断返回出错处理否是是否A图4-3中断服务子程序框图;主程序STATUSEQU7FFFHDATAEQU7FFEHAXEQU20HALEQU20HAHEQU21HBXEQU22HBLEQU22HBHEQU23HCXEQU24HCLEQU24HCHEQU25HDXEQU26HDLEQU26HDHEQ27HEXEQ28HELEQU28HEHEQU29HFXEQU2AHFLEQU2AHFHEQU2BHLDAX,#200EHLDBX,#3000HSTBX,[AX]LDBBL,#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:LJMPL4EIRETL3:LDBBL,[EL]STBBL,[DL]LDB[FL],#80HLJMPL8L1:CLRCSUBBBL,#38HJNZL5INCBAHLDBBL,[DH]SHRBBL,#...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

步进电机的单片机控制系统软件设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部