《单片机原理与应用》实验报告
实验序号:10 实验项目名称: 步进电机控制实验
第二篇:步进电机控制接口实验
实验一步进电机控制接口实验
一、实验目的
通过步进电机控制实验,学习并行接口电路及其控制程序的设计原理与方法。
二、实验内容
基本实验 控制四相步进电机以双八拍方式运行,自己设置按键来控制电机的启停。
三、实验要求
利用MFID实验平台和步进电机驱动模块板进行硬件连接,利用MF2KI集成开发环境进行步进电机软件控制程序的设计、调试,直到使步进电机正常运行。
四、实验原理
1.步进电机驱动模块板电路原理如图2.1.2所示。模块板上包括接口的对象永磁式四相步进电机和驱动电路达林顿管TIP,保护电路74LS373,相序指示灯以及开关SW1和SW2等。
2.步进电机接口设计原理与方法的详细阐述,参考计算机接口技术相关参考书。
图2.1.2 步进电机驱动模块电路原理框图
五、实验步骤
步骤一:硬件连接
跳线设置:模块电源L区 JP8跳接。
单线连法如右图:
排线接法如右图:
步骤二:将平台的电源开关拔到“内”的位置上。在配套集成环境下进行硬件检测,来达到初始化芯片的目的。
步骤三:(演示实验步骤)打开集成环境在“演示实验”菜单下点开“基本接口实验”。在“基本接口实验”中的“并行接口实验”中选择“步进电机”实验进行演示。
步骤四:(学生实验步骤)打开集成环境在“文件”菜单下学生可以选择新建自己的C++/ASM文件或者集成环境自带的C++/ASM参考程序进行调试、运行。
步骤五:观看实验现象得出结论。
△ 步进电机接口控制流程图
① 流程图 如图2.1.3所示。
图2.1.3 步进电机程序流程图
△ 步进电机接口控制主程序:
NAMA BUJINDIANJI
DATA SEGMENT
PSTA DB 05H,15H,14H,54H,50H,51H,41H,45H ;
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H
BEGIN: MOV DX,303H ; 初始化8255A
MOV AL, 10000001B ; 命令控制字
OUT DX,AL ; 送命令
MOV AL,00001001B ; 置PC4=1关闭74LS373
OUT DX,AL
L: MOV DX,302H
IN AL,DX
AND AL,00000010 ; 查SW2按下?未按下,等待
JNZ L ; 按下后继续执行
MOV DX,303H ; 置PC4=0,打开74LS37
MOV AL,08H
OUT DX,AL
RELOAD: MOV SI,OFFSET PSTA ; 设置相序表指针
MOV CX,8 ; 设8拍循环次数
LOP: MOV DX,302H
IN AL,DX
AND AL,00000001 ; 查SW1按下?未按下,等待
JZ QUIT ; 已按下,退出
MOV AL,[SI] ; 未按下,送相序代码到PA口
MOV DX,300H
OUT DX,AL
MOV DI,0AFH
MOV BX,0FFFFH ; 延时
DELAY: DEC BX
JNZ DELAY
DEC DI
JNZ DELAY
INC SI ; 相序表指针+1
DEC CX ; 循环次数-1
JNZ LOP ; 未到8次,继续
JMP RELOAD ; 已到8次,重新赋值
QUIT: MOV DX,303H ; 置PC4=1,关闭74LS373
MOV AL,09
OUT DX,AL
MOV AH,4CH ; 程序退出,带返回码结束
INT 21H
CODE ENDS
END START
七、心得体会
上机实验操作是一个把理论用于实践的很好机会。通过自己动手才明白自己的理论知识不过关,很多老师经常强调的易出错的地方自己还是没有重视起来导致实验过程当中频频出问题,对于汇编程序自己还有很多需要补习,心存侥幸便从网上下载了一个源代码。最后尽管硬件连接没问题通过了编译成功运行看到了实验现象,但是自己确实没有经过严格思考,以后会注意的。
八、小组成员:
##
九、验指导老师
##老师
十、参考教程
清华大学出版社《微机计算机原理与接口技术》;