资源描述:
《步进电机角度控制(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、考试序列号19论文题目:步进电机角度控制(1)课程名称:计算机控制技术学院自动化学院专业班级学号姓名指导教师2013年06月25日一、系统设计说明1.硬件设计本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。按下按键时,给8255A一个信号设定步进电机下一步的动作。8086通过8255A的数据总线读取该信号,并作出反应,通过给8255A一系列的指令驱动其工作,从而驱动步进电机和LED显
2、示器。2.软件设计显示模块设计说明:为使显示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。当主程序需要显示,只需将要显示的字符送入显示缓冲区,然后调用显示子程序。显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。显示模块是用四位七段数码管来显示转动次数和每次转动的角度。给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。步进电机模块设计说明:在此
3、设计中,采用的是八拍步进电机。步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。控制模型可以以立即数的形式一一给出。对于步进电机模块的程序设计采用循环程序设计方法。先把转动的次数和角度的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。二、系统原理图(见任务书)三、设计流程图、开始8255初始化检测是否有N按键按下Y检测是否有转动电位SET键按下Y器调角度N检测S
4、TARTY根据保存的N检测C键键是否按下数据依次转是否按下动步进电机NY检测CLRN保存所调的键是否按下角度数据Y根据保存的数据依次反转步进电机四、源程序STACKSEGMENTDB64DUP(?)STACKENDSDATASEGMENTDATA6DB3FH,06H,5BH,4FH,66H,6DH,07H,7FH,6FH,77HDATA1DB01H,03H,02H,06HDATA3DB04H,0CH,08H,09H;正转DATA11DB00HDATA2DB00HORG0080HDATA4DB00H,
5、00H,00H,00H;保存所要转的数据ORG0100HDUSHUDB3FH,3FH,3FH,3FH;数码管显示的值DATA44DB02H,03H,01H,09HDATA55DB08H,0CH,04H,06H;反转DATA444DB00H;走过4拍的总次数CISHUDB00H;步进电机所要转的次数SETSHUDB00HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,88HMOVDX,0606HOUTDX,AL
6、;初始化STT:MOVAL,00HMOVDX,0600HOUTDX,ALNEXT:MOVDX,0604HINAL,DXANDAL,30HCMPAL,30HJNZKEYCALLXIANSHIJMPSTT;检测是否有按键按下KEY:MOVAL,0F7HMOVDX,0600HOUTDX,ALMOVDX,0604HINAL,DXTESTAL,10H;检测SET键是否按下JNZKEY1CALLKEY_SETKEY1:MOVAL,0BFHMOVDX,0600HOUTDX,ALMOVDX,0604HINAL,DX
7、TESTAL,10H;检测START是否按下JNZKEY2CALLKEY_STARTKEY2:MOVAL,0EFHMOVDX,0600HOUTDX,ALMOVDX,0604HINAL,DXTESTAL,20H;检测CLR键是否按下JNZSTTCALLKEY_CLRJMPSTTKEY_START:LEABX,CISHUMOVAL,[BX]CMPAL,00H;检测是否有数据保存JZSTTLEASI,DATA4MOVAL,[SI]MOVAH,00HA0:MOVBX,0018HMULBXMOVBX,0011
8、HDIVBXMOVBL,0FHDIVBL;计算转多少次4拍MOVAH,ALLEADI,DATA444ADDAL,[DI]MOV[DI],AL;保存走过4拍的总次数A1:LEABX,DATA1MOVCX,0004HA2:MOVAL,[BX]MOVDX,0604HOUTDX,ALCALLXIANSHIINCBXLOOPA2DECAHJZA000A3:LEABX,DATA3MOVCX,0004HA4:MOVAL,[BX]MOVDX,0604HOUTDX,ALCALLXIAN