资源描述
实验三 扩展I/O口的利用
一、实验任务一:步进电机控制实验
1、实验要求:
利用G2002-8086实验板上的74LS273作为输出控制步进电机脉冲序列,输出的脉冲经75452反向驱动才能推动电机。
2、实验目的:
了解步进电机控制的基本原理,步进电机转动的编程方法。
3、实验电路:
BD
BA
BB
BC
4.实验器材:
(1)G2010+实验平台 1 台 (2)G6W仿真器 1 台
(3)连线 若干 根 (4)计算机 1 台
(5)Lab8088CPU板 1 块 (6)G2002-8086实验板 1 块
5、实验说明:
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
本实验使用的步进电机用直流+5V电压,每相电流为0.1A,电机线圈由四相组成:即:Ф1(BA);Ф2(BB);Ф3(BC);Ф4(BD), 驱动方式为二相激磁方式,各线圈通电顺序如下表:
相
顺序
Ф1
Ф2
Ф3
Ф4
0
1
1
0
0
1
0
1
1
0
2
0
0
1
1
3
1
0
0
1
反时针方向回转 正时针方向回转
状态 0 状态3
表中首先向Ф1线圈-Ф2线圈输入驱动电流,接着Ф2—Ф3,Ф3—Ф4,Ф4—Ф1,又返回到Ф1—Ф2,按这种顺序切换,电机轴按顺时针方向旋转。
可通过不同长度延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。
6、实验步骤:
(1)按“实验电路”连接硬件。G2002-8086板上的74LS273输出Q0、Q1、Q2、Q3分别连步进电机的BA、BB、BC、BD插孔。
(2)硬件诊断:G2010+G6W连PC机,在WINDOWS调试环境下点击 [窗口/数据窗口/MEMORY],以打开MEMORY数据窗口,在打开的MEMORY窗口中的0A000H开始的地址(即74LS273的片选空间)上写入依次写入03H,06H,0cH,09H,则应使步进电机转动四步。
(3)编写程序、编译程序。用单步、全速断点、连续方式调试程序,检查程序运行结果,观察步进电机的转动状态,连续运行时用示波器测试BA、BB、BC、BD孔的波形,排除软件错误,直至达到本实验的设计要求。
7、实验框图:
查表得速度延时参数
正向旋转?
是
控制信息循环左移一位
控制信息循环右移一位
读速度控制参数
开始
用273输出控制脉冲
根据延时参数延时
否
8、程序清单:
验证性程序:
; step motor control
; ASM for 8086/8088
ctl equ 0a000h
Astep equ 1h
Bstep equ 2h
Cstep equ 4h
Dstep equ 8h
data segment
dly_c dw 0
data ends
code segment
assume cs:code, ds:data
start proc near
mov ax, data
mov ds, ax
mov dx, ctl
mov al,0
out dx,al
mov dly_c,9000h
jmp step4
; 单/双八拍工作方式
step8:
mov dx, ctl
mov al,Astep
out dx,al
call delay
mov al,Astep+Bstep
out dx,al
call delay
mov al,Bstep
out dx,al
call delay
mov al,Bstep+Cstep
out dx,al
call delay
mov al,Cstep
out dx,al
call delay
mov al,Cstep+Dstep
out dx,al
call delay
mov al,Dstep
out dx,al
call delay
mov al,Dstep+Astep
out dx,al
call delay
mov ax, dly_c
dec ah
cmp ax, 1000h ; 提高转速
jne nn1 ; 最快速度
inc ah
nn1: mov dly_c,ax
jmp step8
; 双四拍工作方式
step4:
mov dx, ctl
mov al,Astep+Bstep
out dx,al
call delay
mov al,Bstep+Cstep
out dx,al
call delay
mov al,Cstep+Dstep
out dx,al
call delay
mov al,Dstep+Astep
out dx,al
call delay
; mov ax, dly_c
; dec ah
;cmp ax, 200h
;jne nn2
;inc ah
;nn2: mov dly_c,ax
jmp step4
; 单四拍工作方式
step41:
mov dx,ctl
mov al,Dstep
out dx,al
call delay
mov al,Cstep
out dx,al
call delay
mov al,Bstep
out dx,al
call delay
mov al,Astep
out dx,al
call delay
mov ax, dly_c
dec ah
cmp ax, 400h
jne nn3
inc ah
nn3: mov dly_c,ax
jmp step41
start endp
delay proc near
push cx
mov cx, dly_c
dd1:
loop $
pop cx
ret
delay endp
code ends
end start
实验程序:需要同学们自己改写程序使电机向相反的方向转。并且可以改变电机转速
实验任务二:8255控制的点阵LED实验
1.实验目的:
掌握点阵LED的原理和程序设计方法;掌握可编程I/O扩展8255的方法。
2.实验内容:
在点阵LED上显示”5”
3.实验器材:
(1)G2010+实验平台 1 台
(2)连线 若干 根
(3)G6W仿真器 1 台
(4)Lab8088CPU板 1 块
(5)G2002-8086板 1 块
4.程序框图:
开 始
取代码
代码指针加1
显示行指针加1=0?
Y
N
设置显示行指针
设8255工作方式
设置代码指针
从8255的PC0、PB0口发送
5.实验步骤:
(1)“译码器”YC2(0A000H)孔连“点阵LED”左侧CS0孔,G2002-8086板上8255的PC0孔连Sin孔,PB0孔连Cin孔,8255的片选信号CS5连“译码器”YC3(0B000H)孔。
(2)设计程序,调试并通过.
6.接线方案:
7.程序(自己完成)
展开阅读全文