欢迎来到天天文库
浏览记录
ID:35972471
大小:332.00 KB
页数:9页
时间:2019-04-29
《实验计算机原理实验综合设计选题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.2.1步进电机控制系统设计一、设计要求:利用实验台上的开关(K7-K0),实现步进电机的转速、转向控制。具体要求如下:1.利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作(使用四个LED监视步进电机的相序信号),相序之间的时间决定着步进电机的转速,而间隔时间由延时程序中的CX寄存器的初值决定(参见实验教材3.1.3章节)。2.利用D8255A的PB7-PB0做输入,与K7-K0连接。其中K7做步进电机的转向控制,其余位做步进电机的转速控制。程序运行时通过K7-K0对步进电机实施动态控制;3.利用
2、8253做秒脉冲发生器,产生约2秒的周期性方波信号。其中CNT0做分频器:将1MHZ信号分频为100HZ;CNT1做秒脉冲输出(0.5HZ);4.利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR;5.在中断服务程序中实现对步进电机的转速、转向实时控制。方法如下:在ISR中,对D8255A的PB口进行一次输入操作,并根据输入的数据:1)对D7(与K7对应)位的数据为步进电机的转向控制;2)对D6-D0(与K6-K0对应)位的数据为步进电机的转速控制。【提示】在
3、程序中建立一个“转向标志”,初始化时=1,并在后续中的中根据输入的K7来修改。回到主程序后,主程序根据该标志决定电机的旋转方向。二、设计步骤与方法1.首先参照实验教材第三章3.1.3的相关内容,将步进电机运转起来。在原有的参考程序中使用的是“输出立即数”方式来输出步进电机的相序,建议进行修改,以方便电机的转向控制。可采用下列方法之一:(1)使用“寄存器间接寻址”的方式输出相序信号:将步进电机的相序数据定义在数据段当中,使用SI或DI查表(间接寻址)获取相序数据。其中查表顺序决定着电机转动方向;(2)将初始相序存放在一个寄存器中
4、(原始相序数据位66H),然后利用对该寄存器“移位”的方式产生下一个相序。其中对寄存器中的数据移位方向决定着电机旋转地方向。注意此方法仅适用于“双---四拍”的相序信号。2.对8253进行编程,使OUT1输出2秒周期的脉冲方波信号。为了便于调试,建议使用逻辑笔监测OUT1的输出;3.编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作(参见教材3.3.3章节)。上述这些操作都应当加到程序的初始化中;4.编写中断服务程序ISR。在ISR中读取D8255A的PB口数据,然后进行数据分析、根据数据来调整CX寄
5、存器中的数据,因而改变步进电机的转速和转向。8253OUT1CLK1GATE1/CSOUT0CLK0GATE01MHZ脉冲K7输入K6输入……K0输入Vcc210H图1.1实验参考逻辑电路MIR58255APA3PA2PA1PA0D7··D0A1A0/CSPB7PB6....PB0LED3LED2LED1LED0200H步进电机5~12VBJ_IN4BJ_IN3BJ_IN2BJ_IN1系统总线K7………K00.5HZ方波从8255的B口输入数据中断结束命令PB7=1?N修改方向标志Flag=1Y根据D6-D0设定CX值ISRD
6、8255A的初始化PA、PB输出8253初始化CNT0方式3、初值CNT1方式2、初值主片8259初始化设置屏蔽字创建35H的中断向量表开中断开始(a)主程序流程图IRET修改方向标志Flag=0Flag=1?顺时驱动(等待中断)逆时驱动(等待中断)(b)中断服务程序流程图图1.2程序的参考流程图建立方向标志Flag=1YN【加分题】可以考虑:如何使用一个电位器(替代开关)实现对电机转速的控制。5.2.2基于“准PWM技术”的直流电机调速系统设计一、设计要求:利用实验台上的开关(K7-K0),实现3V直流电机的转速控制。利用8
7、253产生“准PWM”(占空比50%~0%)波形,不同的占空比影响着直流电机的转速。通过秒中断服务程序读取K7-0的数据、修改PWM的占空比,实现直流电机的转速控制。具体要求:1.以8253为核心,通过8253的OUT1输出方式2的方波经反相器后控制电机;a)设置8253的CNT0为方式三,将输入的1MHZ信号进行5000分频,在OUT0上得到200HZ对称方波,送CLK1使用;b)设置8253的CNT1为方式二,利用8253的CNT1的OUT1输出的不对称方波(参见图2.1),经一个反相器输出后,与直流电机连接、控制电机的转
8、速;2.利用D8255A的PA7-PA0做输入,与K7-K0连接。利用开关数据控制电机的转速。根据PA的数据设置CNT1的初值在10~2之间变化(共9档速度)、实现电机转速的控制;3.利用8253的CNT2做秒脉冲发生器(CLK2与OUT0连接以获取200HZ脉冲),在OUT
此文档下载收益归作者所有