当前位置:
文档之家› 综合实验(8253+8259+8255控制步进电动机)
综合实验(8253+8259+8255控制步进电动机)
综合实验实验报告
专业班级测控技术与仪器1302班姓名学号
实验题目8255A+8253+8259控制步进电机日期
实验九、8255A+8253+8259控制步进电机
一、实验目的
进一步掌握8253、8259、8255的工作原理,熟悉它们的使用方法,根据被控对象的要求组合使用步进电机的工作原理和控制方法。
二、实验设备
p8253: mov dx,04b6h
mov al,34h ;通道0,方式2
out dx,al
mov dx,04b0h
mov al,0
out dx,al
mov al,96h
out dx,al
sti
jmp $
int8259: cli
mov al,bl ;中断程序
mov dx,04a0h
out dx,al
JNZ NEXT1 ;若控制端为0,跳转
ROL BL, 1 ;若控制端为1,循环左移一位
JMP NEXT2 ;
NEXT1:
ROR BL, 1 ;控制端为0,循环右移一位
NEXT2:
MOV AL, 20H ;0010 0000,
MOV DX, 04C0H ;写入OCW2值,发EOI结束中断命令
OUT DX, AL ;输出结束中断命令
四、实验原理
本实验由8253、8255、8259三个芯片及步进电机组成,各芯片的工作原理参看前各部分实验。
五、实验步骤
1、实验连线
8255CS~CS0,8255A口接步进电机A、B、C、D,为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连
8253CS~CS1,CLK2~8253CLK0,out0~8259IR0;
8259CS~CS2,INT~INT(INT在8086小板上),INTA~INTA(在8086小板上)
2、根据程序框图编程实验程序,并对编写好的程序进行汇编、连接,然后全速或单步运行程序。
3、全速运行后观察步进电机的旋转情况以及发光二极管的变化。
六、实验程序
code segment
assume cs:code
MOV BX, 202H ;下一个字写入CS值
MOV AX, 100H ;
MOV DS:[BX], AX ;CS值为100H
for8259:
MOV AL, 13H ;8259初始化定义,0001 0011,单片方式,需要写ICW4
MOV DX, 04C0H ;从04C0H端口地址送初始化命令字ICW1
p8253:
MOV DX, 04B6H ;8253控制端端口地址04B6H
MOV AL, 34H ;通道0,方式2
OUT DX, AL ;
MOV DX, 04B0H ;通道0端口地址04B0H
MOV AL, 0 ;写入低字节
OUT DX, AL ;
MOV AL, 96H ;写入高字节
OUT DX, AL ;
p8259:
CLI
MOV AX, 0 ;中断程序的段地址、偏移地址填写
MOV DS, AX ;设置CS值为0
MOV AX, offset int8259 ;取int8259偏移地址
MOV BX, 200H ;设置IP值,对应IR0的中断向量
MOV DS:[BX], AX ;送偏移地址IP进0H:200H
org 100h
p8259: cli
mov ax,0 ;中断程序的段地址、偏移地址填写
mov ds,ax
mov ax,offset int8259
mov bx,200h
mov ds:[bx],ax
mov bx,202h
mov ax,100h
mov ds:[bx],ax
for8259: mov al,13h ;8259初始化定义
STI
IRET ;返回断点处
CODE ENDS
END p8259
OUT DX, AL ;
MOV AL, 80H ;设置中断向量号
MOV DX, 04C2H ;从04C2H端口地址送初始化命令字ICW2
OUT DX, AL ;
MOV AL, 01H ;设置ICW4,1680X86处理器
OUT DX, AL ;
MOV AL, 0FEH ;1111 1110设置OCW1值,允许IR0中断,禁止其他中断
STI
JMP $
int8259:
CLI
MOV AL, BL ;中断程序
MOV DX, 04A0H ;向8255的A口写入高低电平
OUT DX, AL ;
MOV DX, 04A2H ;8255 B口端口地址04A2H
IN AL, DX ;从B口读入数据
TEST AL, 01H ;读入数据与0000 0001相与
OUT DX, AL ;写入OCW1
MOV SI, 0 ;
i8255:
MOV DX, 04A6H ;8255初始化定义
MOV AL, 82H ; 1000 0010设置8255方式控制字,A口输出,B口输入,均为
;方式0工作模式
OUT DX, AL ;
MOV BL, 33H ;设置初值0011 0011
EL教学实验装置一个、计算机一套。
三、实验内容
将实验装置上的脉冲发生器所产生的脉冲信号作为定时/计数器8253的计数脉冲,使8253工作于周期计数方式(方式2),使其产生的脉冲输出信号作为中断控制器8259芯片的中断源。
中断控制器8259响应中断后,调用中断服务程序(8255驱动步进电动机)完成8255芯片对步进电机的控制。
rol bl,1
mov al,20h
mov dx,04c0h
out dx,al
sti
iret
code ends
end p8259
七、思考题
1、分析程序并写出程序注释。
2、如何在电动机工作状态下通过设置一个状态控制开关实现步进电机的反向转动?
答:
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
mov dx,04c0h
out dx,al
mov al,80h
mov dx,04c2h
out dx,al
mov al,01h
out dx,al
mov al,0feh
out dx,al
mov si,0
i8255: movout dx,al
mov bl,33h ;设置初置