大连理工大学计算机原理步进电机实验报告.docx

上传人:小飞机 文档编号:3401464 上传时间:2023-03-12 格式:DOCX 页数:10 大小:40.57KB
返回 下载 相关 举报
大连理工大学计算机原理步进电机实验报告.docx_第1页
第1页 / 共10页
大连理工大学计算机原理步进电机实验报告.docx_第2页
第2页 / 共10页
大连理工大学计算机原理步进电机实验报告.docx_第3页
第3页 / 共10页
大连理工大学计算机原理步进电机实验报告.docx_第4页
第4页 / 共10页
大连理工大学计算机原理步进电机实验报告.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《大连理工大学计算机原理步进电机实验报告.docx》由会员分享,可在线阅读,更多相关《大连理工大学计算机原理步进电机实验报告.docx(10页珍藏版)》请在三一办公上搜索。

1、大连理工大学计算机原理步进电机实验报告计算机技术实验室安全操作规程 1. 实验前认真阅读安全操作规程,不得擅自触及总电源开关。 2. 试验期间学生不得使用与实验无关的电气设备。 3. 实验过程中若遇到计算机故障时,交由指导教师负责,不允许学生私自开箱维修。 4. 在实验过程中,连接实验设备的220V电源时,要保持手部干燥,并注意操作安全,不允许使用金属部件触碰220V电源线及电源插座的带电部位。 5. 学生实验期间,在连接导线时不允许实验台带电操作,连接完成后检查无误时再将实验台上电。完成实验时先将实验台断电后在进行导线拆除。 6. 试验期间要关闭手机等通讯工具,实验室一律禁止携带饮料,食品;

2、禁止吸烟,喧哗,嬉闹,确保实验室卫生,整洁。 7. 学生完成实验后,必须关闭所有实验设备电源。 8. 如果实验中发生“突发事件”时,不要慌张,应沉着冷静采取相关措施,必要时拨打校内的紧急电话或拨打110,120报警。 电工电子实验教学中心 计算机技术实验室 学生签字:_ 成绩: 大连理工大学本科设计报告 题目: 课程名称:计算机原理实验 学院: 专业: 班级: 学号: 学生姓名: 20 年月日 题目:步进电机控制系统设计 一、 设计要求 利用实验台上的开关,实现步进电机的转速、转向控制。具体要求如下: 1. 利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作,相序之间

3、的时间决定着步进电机的转速,而间隔时间由延时程序中的CX寄存器的初值决定。 利用D8255A的PB7-PB0做输入,与K7-K0连接。其中K7做步进电机的转向控制,其余位做步进电机的转速控制。程序运行时通过K7-K0对步进电机实施动态控制; 利用8253做秒脉冲发生器,产生约2秒的周期性方波信号。其中CNT0做分频器:将1MHZ信号分频为100HZ;CNT1做秒脉冲输出; 利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR; 在中断服务程序中实现对步进电机的转速实时控制,在主程序中实现对步进电机的转向实时控制。方法如下:在IS

4、R中,对D8255A的PB口进行一次输入操作,并根据输入的数据: 1) 对D7位的数据为步进电机的转向控制; 2) 对D6-D0位的数据为步进电机的转速控制。 2. 3. 4. 5. 二、 设计分析及系统方案设计 1. 将初始相序存放在一个寄存器中,然后利用对该寄存器“移位”的方式产生下一个相序。其中对寄存器中的数据移位方向决定着电机旋转地方向。注意此方法仅适用于“双-四拍”的相序信号。 2. 对8253进行编程,使OUT1输出2秒周期的脉冲方波信号。为了便于调试,建议使用逻辑笔监测OUT1的输出; 3. 编制与中断相关的程序。包括中断屏蔽字的设定、中断向量表的创建以及开中断的操作。上述这些操

5、作都应当加到程序的初始化中; 4. 编写中断服务程序ISR。在ISR中读取D8255A的PB口数据,然后进行数据分析、根据数据来调整CX寄存器中的数据,因而改变步进电机的转速和转向。 5. 编写延时子程序delay,speed参数控制电机的loop循环,进而控制电机转速。 三、 200H 四、 系统电路图 5V BJ_IN4 BJ_IN3 BJ_IN2 BJ_IN1 步进 电机 8255A PA3 PA2 PA1 PA0 D7 LED3 LED2 LED1 LED0 D0 系统总线 A1 A0 /CS PB7 PB6 . PB0 MIR5 0.5HZ方波 8253 OUT1 CLK1 GATE

6、1 210H /CS OUT0 CLK0 GATE0 1MHZ脉冲 Vcc K7入 K6入 输输K7 K0 图 1 实验系统电路图 外围接口模块硬件电路功能描述 1. 8255有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片。其各口功能可由软件选择,使用灵活,通用性强。8255可作为主机与多种外设连接时的中间接口电路。 2. 8253是一个可编程的定时计数器,内部有三个计数器:CNT0、CNT1和CNT2,还有一个控制寄存器,每个计数器可按照二进制或十进制计数,每个通道都有六种不同的工作方式。 图2 8255A引脚图图3 8253引脚图 五、 主程序中主要变量说明 内存单元

7、 al dh 功能 步进电机相序 控制电机转速 变量名称 buf speed 六、 系统软件中各个子程序的功能描述 入口参数 P8255_b speed 出口参数 speed 无 功能描述 中断服务程序,修改转速 延时,控制电机相序的输出间隔 子程序名称 Int_proc Delay 七、 主程序程序流程图 开始 主片8259初始化 设置屏蔽字 创建35H的中断向量表 开中断 D7控制转向 8253 初始化 CNT0方式3、初值10000 CNT1方式2、初值200 D8255A的初始化 PA、PB输出 中断结束命令 ISR 从8255的B口 输入数据 根据D6-D0值改变speed值 Y 顺

8、时驱动 D7=1? N 逆时驱动 IRET 主程序流程图 图 4 程序流程图 中断服务程序流程图 八、 程序清单 p8255_a equ 200h ;8255的a口地址 p8255_b equ 201h ;8255的b口地址 p8255_ctlequ 203h ;8255的控制口地址 io8253_0 equ 210h ;8253CNT0的端口地址 io8253_1 equ 211h ;8253CNT1的端口地址 io8253_k equ 213h ;8253控制寄存器的端口地址 data segment buf db 0 ;相序存储 speed db 0 ;转速控制 data ends co

9、de segment assume cs:code,ds:data start:cli ;关中断 mov ax,cs ;设定数据段与代码段在同一个段中 mov ds,ax mov ax,data mov ds,ax ;-设置386EX主8259中断屏蔽字- in al,21h and al,11011111b ;开放主片IR5中断 out 21h,al ;-设置中断向量表- Push ds mov ax,0 mov ds,ax lea ax,cs:int_proc ;ax指向中断程序入口地址 mov si,35h ;中断类型码=35H add si,si ;35H*4H找到相应中断向量表中的位

10、置 add si,si mov ds:si,ax ;中断向量表的IP push cs pop ax mov ds:si+2,ax ;中断向量表的CS pop ds ;-8255芯片初始化- mov dx,p8255_ctl mov al,8bh ;设定A口方式0输出,B、C口方式0输入 out dx,al ;写入控制字 mov buf,66h ;初始相序66h ;-8255芯片初始化- mov dx,io8253_k ;设8253计数器0为方式3 mov al,36h out dx,al mov dx,io8253_0 mov ax,10000 ;写入计数器初值 out dx,al mov a

11、l,ah out dx,al mov dx,io8253_k ;cnt1产生0.5Hz的时钟 mov al,74h out dx,al mov dx,io8253_1 mov ax,200 out dx,al mov al,ah out dx,al out1: mov al,buf mov dx,p8255_a out dx,al ;-主程序循环体- lop: call delay in1: mov dx,p8255_b in al,dx sam: test al,80h jz nx0 mov al,buf ror al,1 jmp nx1 nx0: mov al,buf rol al,1 n

12、x1: mov dx,p8255_a out dx,al mov buf,al sti jmp lop ;-中断服务程序-; int_proc proc far push ax push cx push dx mov dx,p8255_b in al,dx and al,7fh mov speed,al mov al,20h out 20h,al pop dx ;设计数器1为工作方式2 ;写入计数器CNT1初值 ;输出步进电机的相序代码 ;指向8255的B口,输入K信号;方向控制:判断K7=1? ;K7=1时,转nx0 ;相序代码循环右移 ;相序代码循环左移 ;输出步进电机的相序代码 ;再读8

13、255B口,修改speed ;发EOI结束命令 pop cx pop ax sti iret int_proc endp ;-延时子程序-; delay proc push ax push cx push dx mov dh,speed x1: mov cx,300h x2: loop x2 dec dh jnz x1 pop dx pop cx pop ax ret delay endp code ends end start 九、 系统调试运行结果说明、分析所出现得问题,设计体会与建议 硬件环境:386EX实验箱 软件环境:计算机软件 设计语言:汇编语言 连接电路,运行程序,在385EX实

14、验箱中,可以观察到步进电机开始工作,K7控制转向,K7=1时,电机顺时针旋转,K7=0时,电机逆时针旋转;K6K0控制转速,K6K0均为0时,转速最大,K6K0均为1时,转速最小。 在设计程序时,我没有在中断服务程序中实现对步进电机的转向实时控制,而是在主程序中实现对步进电机的转向实时控制,在对步进电机的转速进行控制的延时程序中,不是通过改变寄存器cx的值来控制转速,而是通过改变speed的值来控制转速。 十、 结论及设计体会 通过综合设计实验,我对汇编语言的应用有了更为清晰的认识,编写汇编语言的水平有了大幅度提升,同时也更了解了8255,8253等芯片的使用方法,学会了如何通过编程使步进电机运转起来。在进行综合设计时要注意分模块设计,从实现基本功能开始,再逐步加入其他功能,从而完成整个系统的设计。 参考文献:计算机原理综合实验教程 秦晓梅 、 陈育斌 编著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号