步进电机实验

本文介绍了一种利用8255芯片控制步进电机的方法。通过编写特定的汇编程序,实现了对步进电机转速及旋转方向的有效控制。实验过程中,详细记录了程序设计、电路连接等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的:

  • 掌握步进电机的控制方法。
  • 巩固8255芯片的编程方法;
  • 了解步进电机控制的基本原理;
  • 掌握步进电机转动编程方法:

二、实验内容与要求:

编写实验程序,利用8255的B口来控制步进电机的运转。

8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。它有A、B、C三个八位端口寄存器通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。这24根端口线全部为双向三态。三个端口可分二组来使用,可分别工作于三种不同的工作方式。

三、实验环境:

PC机一台,TD-PITE实验装置一套。

四、实验步骤

1、连线。

  • 确保8255芯片安装在开发板或实验板上,并与系统正确连接。
  • 为芯片提供电源和必要的控制信号。
  • 配置8255的A、B、C三个I/O端口连接步进电机的驱动电路。步进电机通常需要通过驱动电路来进行控制。

2、编写实验程序,经编译、连接无误之后装入系统。

  • 使用汇编编译器将代码编译为目标代码。
  • 使用连接器将目标代码连接为可执行文件。
  • 处理任何编译和连接过程中出现的错误。

3、运行程序,观察实验现象。

  • 观察步进电机的运行情况,确保其按照预期方式运转。
  • 确认步进电机按照预期的顺序进行步进操作。
  • 如果程序包括延迟控制,注意观察步进电机的速度变化。

五、电路连接

六、代码设计

1.关于8255的工作字

MOV AL, 90H         ; 控制B口工作于方式0,输出

MOV DX, MY8255_MODE

90H=1001 0000B;表示工作方式0,A口输入,B口输出

2.改变步进电机的转速

DALLY:  PUSH CX

        MOV CX,8000H

修改CX的数字即可,数字越大越慢。具体方法是将CX设置为8000H,然后通过LOOP指令创建循环,以产生延迟。

3.改变步进电机的旋转方向

TABDT   DB 01H,03H,02H,06H,04H,0CH,08H,09H 

可以将DB的值全部反过来(也就是步序1到8改成步序8到1),可以实现逆时针。

也可以修改如下代码,

MOV BX, OFFSET TABDT

改成

MOV BX, OFFSET TABDT+8

TABDT则是将TABDT这个内存单元的偏移地址赋值给BXoffset是一个操作符,由编译器处理,功能是取偏移地址。

七、实验现象

现象:驱动管处A、B、C、D依次循环闪亮,步进电机指针开始旋转。

附录 源代码

;=========================================================
; 文件名: BUJIN.ASM
; 功能描述: 步进电机控制实验
;=========================================================

IOY0         EQU   0600H          ;片选IOY0对应的端口始地址
MY8255_A     EQU   IOY0+00H*2     ;8255的A口地址
MY8255_B     EQU   IOY0+01H*2     ;8255的B口地址
MY8255_C     EQU   IOY0+02H*2     ;8255的C口地址
MY8255_MODE  EQU   IOY0+03H*2     ;8255的控制寄存器地址

SSTACK  SEGMENT STACK
        DW 256 DUP(?)
SSTACK  ENDS
DATA    SEGMENT
TABDT   DB 01H,03H,02H,06H,04H,0CH,08H,09H  
DATA    ENDS
CODE    SEGMENT
        ASSUME CS:CODE, DS:DATA
START:  MOV AX, DATA
        MOV DS, AX
MAIN:   MOV AL, 90H         ; 控制B口工作于方式0,输出
        MOV DX, MY8255_MODE
        OUT DX, AL
A1:     MOV BX, OFFSET TABDT+8
        MOV CX, 0008H
A2:     MOV AL,[BX]   
        MOV DX, MY8255_B    ; 写B口 
        OUT DX, AL
        CALL DALLY          ; 控制步进电机的转速
        DEC BX 
        LOOP A2
        JMP A1
DALLY:  PUSH CX 
        MOV CX,8000H
A3:     PUSH AX
        POP AX
        LOOP A3
        POP CX
        RET 
CODE    ENDS
        END START

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钻仰弥坚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值