- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学本科设计报告
(计算机原理接口实验综合设计)
题目: 步进电机控制系统设计
课程名称: 计算机原理实验
学院(系): 电子信息与电气工程学部
专 业:
班 级:
学 号:
学生姓名:
成 绩:
2015 年 12 月 26 日
题目:步进电机控制系统设计
1 设计要求
利用实验台上的开关(K7-K0),实现步进电机的转速、转向控制。具体要求如下:
1. 利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作(使用四个LED监视步进电机的相序信号),相序之间的时间决定着步进电机的转速,而间隔时间有时由CX寄存器的初值决定(参见实验教材3.1.3章节)。
2. 利用ADC0809将输入滑动变阻器的模拟信号转换成数字信号来控制步进电机的转速,当滑动变阻器在两端时转速最快,向中间转动时,步进电机的转速会逐渐减小,当转过中间之后,步进电机转向;
3. 利用8253做秒脉冲发生器,产生约0.5秒的周期性方波信号。其中CNT0做分频器:将1MHZ信号分频为100HZ;CNT1做秒脉冲输出(2HZ);
4. 利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR;
5. 在中断服务程序中实现对步进电机的转速、转向实时控制。实现方法如下:在ISR中,对ADC0809的输出进行一次输入操作,并根据输入的数据:
判断ADC0809输出的值,根据相应的值来判断步进电机的方向和转速;
2 设计分析及系统方案设计
1.首先参照实验教材的相关内容,将步进电机运转起来。在原有的参考程序中使用的是“输出立即数”方式来输出步进电机的相序,建议进行修改,以方便电机的转向控制。
使用“寄存器间接寻址”的方式输出相序信号:将步进电机的相序数据定义在数据段当中,使用SI或DI查表(间接寻址)获取相序数据。其中查表顺序决定着电机转动方向。
2.对8253进行编程,使OUT1输出秒脉冲方波信号,为了便于调试,建议使用逻辑笔监测OUT1的输出状态是否正常;
3.编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作,以上这些都应当加到程序的初始化中;
4.编写中断服务程序ISR。在ISR中读取ADC0809转换后的数据,然后进行数据分析、根据数据来调整CX寄存器中的数据,因而改变步进电机的转速。
3 系统电路图
4 外围接口模块硬件电路功能描述
5 主程序中主要变量说明
变量名称
内存单元
功能
SPEED2
DS:0001
存储不同状态下对应的CX值
SPEED
DS:0000
延时程序中dh的值
flag
DS:0003
控制步进电机转动的方向和速度值
6 系统软件中各个子程序的功能描述
子程序名称
入口参数
出口参数
功能 描述
delay
cx要改变的值存放在SPEED2中
延时子程序,用来延时,改变步进电机的转速。
int_proc
将转速和转向存放在flag中
中断控制程序,通过中断改变延时程序中CX
7 主程序程序流程图
8 程序清单
.model small
.386
IO_8255 EQU 200H
IO_8253 EQU 210H
AD_IO EQU 220H
DATA SEGMENT
SPEED DB 6
SPEED2 DB 70H
FLAG DB 00H
ZZ DB 01H,03H,02H,06H,04H,0CH,08H,09H
FZ DB 09H,08H,0CH,04H,06H,02H,03H,01H
STOP DB 00H,00H,00H,00H,00H,00H,00H,00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
;-------设置8253CNT0,CNT1----------
MOV DX,IO_8253
ADD DX,3
MOV AL
OUT DX,AL
MOV DX,IO_8253
MOV AL,0
OUT DX,AL
OUT DX,AL
MOV DX,IO_8253
ADD DX,3
MOV AL
OUT DX,AL
MOV DX,IO_8253
IN
文档评论(0)