
接口技术8255A控制步进电机.doc
5页接口技术 实验报告专业班级 姓名 学 号 实验题目 8255A控制步进电机 日 期 2013-4-26 实验五、8255A控制步进电机一、实验目的掌握步进电机的工作原理和控制方法二、实验设备EL教学实验装置一个、计算机一套三、实验内容用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A按相反的顺序即可改变电机的旋转方向本实验系统采用的是:AB→BC→CD→DA→AB四、实验原理反应式步进电动机(三相)结构示意图B8255APA17407PA0+12VPA3PA2ACD8255A控制步进电机电路五、实验步骤1、实验连线8255A的PA0~PA3与步进电机的 A、B、C、D相连;为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连;8255的片选信号8255CS与系统CS0相连2、 根据程序框图编程实验程序,并对编写好的程序进行汇编、连接,然后全速或单步运行程序。
3、 全速运行后观察步进电机的旋转情况以及发光二极管的变化六、实验程序 CODE SEGMENT ASSUME CS:CODE COTR EQU 04A6HIOA EQU 04A0H ORG 100HH12: MOV AL,80H MOV DX,COTR OUT DX,AL MOV BL,33HIOLED1: MOV DX,IOA MOV AL,BLOUT DX,AL ROL BL,1 CALL XDELAY JMP IOLED1XDELAY: MOV CX,03FFFHXDELA: LOOP XDELA RETCODE ENDS END H12七、思考题1、分析程序并写出程序注释CODE SEGMENT ASSUME CS:CODE COTR EQU 04A6HIOA EQU 04A0H ORG 100HH12: MOV AL,80H MOV DX,COTR OUT DX,AL MOV BL,33H ;0011 0011 后四位接到了电机上 使得旋转时高四位和第四位一样IOLED1: MOV DX,IOA ;将A的地址给dx MOV AL,BLOUT DX,AL ROL BL,1 ;左移一位 CALL XDELAY ;调用子程序 JMP IOLED1 ;转移回去XDELAY: MOV CX,03FFFH ;延时03ffh次 控制加速和减速XDELA: LOOP XDELA RETCODE ENDS END H122、怎么实现步进电机的反向转动? 程序代码修改后: CODE SEGMENT ASSUME CS:CODE COTR EQU 04A6HIOA EQU 04A0H ORG 100HH12: MOV AL,80H MOV DX,COTR OUT DX,AL MOV BL,33H ;0011 0011 后四位接到了电机上 使得旋转时高四位和第四位一样IOLED1: MOV DX,IOA ;将A的地址给dx MOV AL,BLOUT DX,AL ROR BL,1 ;逻辑右移一位 CALL XDELAY ;调用子程序 JMP IOLED1 ;转移回去XDELAY: MOV CX,03FFFH ;延时03ffh次 控制加速和减速XDELA: LOOP XDELA RETCODE ENDS END H123、怎么实现步进电机的加速或减速?只需将下述程序代码中CX的赋值做相应改动即可。
CX赋值为比03FFFH小的数(但是不为0),则步进电机加速‘CX赋值为比03FFFH大的数,则步进电机减速Cx的大小代表循环次数CODE SEGMENT ASSUME CS:CODE COTR EQU 04A6HIOA EQU 04A0H ORG 100HH12: MOV AL,80H MOV DX,COTR OUT DX,AL MOV BL,33H ;0011 0011 后四位接到了电机上 使得旋转时高四位和第四位一样IOLED1: MOV DX,IOA ;将A的地址给dx MOV AL,BLOUT DX,AL ROL BL,1 ;左移一位 CALL XDELAY ;调用子程序 JMP IOLED1 ;转移回去XDELAY: MOV CX,03FFFH ;延时03ffh次 控制加速和减速XDELA: LOOP XDELA RETCODE ENDS END H12。
