通用步进电机控制器设计(精通单片机汇编语言的朋友进)

任务:
1.步进电机驱动器能驱动四相步进电机。
2.驱动器用两线控制方式,一根控制方向,一根控制速度。
3.能用按键分别控制电机的启动与停止,正转,反转。
4. 能用按键分别设定正转或反转的步数。
5. 能从按键调整正转或反转的速度。
6. 能显示设定的正转或反转的步数.
希望各位按上面要求做,给我提供源程序,并附必要的程序说明,另外给我个电路原理图(元件要清晰的)
我是单片机初学者,希望懂的朋友指点下

实验七:8255A+8253+8259A

<实验目的>
了解步进电机的的基本控制原理,掌握控制步进电机的转速、转向的程序设计方法。
<实验内容>
用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电。步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向。步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A。按相反的顺序即可改变电机的旋转方向。本实验系统采用的是:AB→BC→CD→DA→AB。
注:电机在起动和停止时,不应该突然起、停。而应采用逐渐加速、减速的方式。至于起、停所需时间则依产品型号而定。
<实验电路>
8255A: PA0~3与步进电机的BA~BD相连;
8253: GATE0接+5v;

CLK0接393分频器的T2插孔(4.9125/4MHz),或T3~6插孔(分别是8、16、32、64分频);

CS接译码器单元的Y2;

数据线D0~7与系统数据总线单元任一插座相连;

译码单元: 译码器输入A、B、C与系统地址线A2、A3、A4相连;

译码器控制端G与系统地址线A0下方的G相连。
8259单元: CS端与译码器单元的Y0相连;

D0~7与系统数据总线单元任一插座相连;
最后,将8253的OUT0与8259的IR7相连。

<实验程序>
CODE
SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE

ORG 3400H
H8:
JMP P8259
PORT0
EQU 0FFE0H
PORT1
EQU 0FFE1H
;-------------------初始化-------------------
P8259: CLI

MOV AX,OFFSET INT8259

MOV BX,003CH

MOV [BX],AX

MOV BX,003EH

MOV AX,0000H

MOV [BX],AX

CALL FOR8259

MOV SI,0000H
I8255: MOV DX,0FFDBH
MOV AL,8AH

OUT DX,AL

MOV BL,03
P8253: MOV DX,0FFD9H
;

IN AL,DX
;选择3种转速

TEST AL,01H

JNZ QQQ

TEST AL,02H

JNZ WWW

MOV DX,0FFEBH
;转速0

MOV AL,34H

OUT DX,AL

MOV DX,0FFE8H

MOV AL,00H

OUT DX,AL

MOV AL,096H

OUT DX,AL

JMP OVER1
QQQ:
MOV DX,0FFEBH
;转速1

MOV AL,34H

OUT DX,AL

MOV DX,0FFE8H

MOV AL,00H

OUT DX,AL

MOV AL,010H

OUT DX,AL

JMP OVER1
WWW:
MOV DX,0FFEBH
;转速2

MOV AL,34H

OUT DX,AL

MOV DX,0FFE8H

MOV AL,00H

OUT DX,AL

MOV AL,0F0H

OUT DX,AL
OVER1:
STI

;中断子程序------------------------------------
INT8259:CLI
MOV DX,0FFD8H
MOV SI,0FFD9H//通过PB7控制正反转
IN AL,SI
AND AL,80H
JZ X59
XX59:
MOV AL,BL

OUT DX,AL

SHL BL,1

CMP BL,18H

JZ A1

CMP BL,12H

JNZ C1

MOV BL,03H

JMP C1
A1:
MOV BL,09H
C1:
MOV AL,20H

MOV DX,PORT0

OUT DX,AL

STI

IRET
X59:
MOV AL,BL

OUT DX,AL

SHR BL,1

CMP BL,81H

JZ A2

CMP BL,88H

JNZ C2

MOV BL,0CH

JMP C2
A2:
MOV BL,09H
C2:
MOV AL,20H

MOV DX,PORT0

OUT DX,AL

STI

IRET

;8259A初始化==============================
FOR8259:MOV AL,13H

MOV DX,PORT0

OUT DX,AL

MOV AL,08H

MOV DX,PORT1

OUT DX,AL

MOV AL,09H

OUT DX,AL
MOV AL,7FH
;IRQ7

OUT DX,AL

RET
CODE
ENDS
END H8
<思考与练习>
1. 计算出步进电机走一步旋转的角度,能否精确的回到原点。
答:18度,能。
2.如何控制步进电机的起、停?
答:用8253的GATE0门控制,高电平时起,低电平时停。
3.如何控制步进电机的转速和转向?
答:进入中断,通过8355A的PB7输入来控制正反转向;
温馨提示:内容为网友见解,仅供参考
无其他回答

通用步进电机控制器设计(精通单片机汇编语言的朋友进)
用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电。步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向。步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:A→B→C→D→A;A→AB→B→BC→C...

如何用c51编写51单片机控制步进电机转动程序
A=( 50h ),SP=( 50h ),(51H)=( 30h ),(52H)=(50h ),PC=( 5030h )pc总是指向下一条指令的首地址的。但是在返回的时候得看堆栈中的数了。上面程序执行完之后:(A)=50H;sp=50H(因为在程序中,sp减了两次,后来又加了两次,在程序最后ret有在返回的时候减了两次...

步进电机的单片机控制
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即...

如何用单片机控制步进电机步数
要使用步进电机转动,只要轮流给各引出端通电即可。将COM端标识为C,只要AC、C、BC、C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、B、轮流接地。列出了该电机的一些典型参数:表135BY48S03型步机电机参数型号步距角相数电压...

现在单片机工程师是运用汇编语言多还是C语言多呢?
毫无疑问是c,因为c相对通用,51上的c程序只要做小小的修改就可以用在pic等其他单片机上,而汇编的话只能重写。汇编最实用的方面是用在步进电机等实时性较强的工程上,这是c的不足,但是这一点可以使用混编来实现。51的汇编是很容易学的,就111条指令,而且相当一部分类似,实际掌握30多条指令就能操作...

步进电机单片机控制系统
文中所控制的步进电机是四相单极式35BY48HJ120减速步进电动机。本文所设计的步进电机控制驱动器的框图如图2所示。它由AT89C52单片机、光电耦和器、集成芯片L297和L298组成。AT89C52是美国ATMEL的低电压、高性能8位CMOS单片机。片内置8K字节可重复擦写的Flash闪速存储器。256字节RAM。3个16位定时器.可编程串行UART通道...

各位老师,能给我发个步进电机的控制系统设计吗?谢谢!!根据下列要求原理...
1、系统原理图设计 该步进电机控制系统由单片机、驱动电路、步进电机等组成。系统所用的步进电机为四相步进电机,其工作电压+12V。单片机采用AT89C2051 ,并配以显示(指示)电路、按键电路、驱动电路、复位电路等。系统方框图二所示:(略)电路工作原理:由AT89C2051产生脉冲信号,分别由P1.7、P3.4、P3.5...

数字电路课程设计,步进电机控制器
红外信号的发射由另一块单片机和红外线LED完成,用红外万能接收头接收红外信号,可以实现对电机的控制进行红外遥控。关键字:四相步进电机 单片机 功率放大 红外遥控 目 录 前言 3 1.系统设计 3 1.1 功能介绍 3 1.2总体设计方案 3 1.2.1总体设计思路 3 1.2.2方案论证与比较 3 1.3电机的参数...

用单片机对步进电机进行控制
单片机控制步进电机的一般原理。电机驱动及控制的实现。控制系统整体设计以及模块划分说明。原理图。代码。关键词:单片机;步进电机;系统;驱动AbstractMany Industrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor ...

步进马达的功能模块设计
本模块可分为如下3个部分· 单片机系统:控制步进电动机;· 外围电路:PIC单片机和步进电动机的接口电路;· PIC程序:编写单片机控制步进电功机的接口程序,实现三角波信号的输出功能。(1)步进电动机与单片机的接口。单片机是性能极佳的控制处理器,在控制步进电机工作时,接口部件必须要有下列功能。①...

相似回答