汇编课程设计

发布 2022-10-01 07:11:28 阅读 8626

汇编及接**术课程设计。

题目:步进电机控制系统。

班级: 080610

学号: 080610106

姓名。时间: 2023年12月

目录。1. 设任务与要求2

2. 设计方案2

3. 硬件线路设计4

4. 软件设计5

5. 源程序7

6. 调试过程9

7. 总结9

设计任务与要求:

1. 了解步进电机控制的基本原理。

2. 能按照电路图对步进电机进行连线。

3. 掌握控制步进电机转动的编程方法,使其能够正常运转,并实现如下功能:

1)开关k8控制电机的启动与停止:当k8向上拨时,电机启动,否则电机停止;

2)开关k1~7控制电机的转速:k1向上拨时,得到最低转速,……k7向上拨时,得到最高转速。

3)电机反转。

4. 进一步熟练8255的使用。

设计方案:步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。

因此可以通过选择8255芯片将各种脉冲信号传送给步进电机,即通过8255芯片将k1-8的各种选择信号传送给步进电机,实现对步进电机的控制,同时将8255芯片与七段数码管相连当选择不同的k1-6时数码管会显示出相应的数字。

硬件线路设计(包括线路图及连线说明)

本实验使用的步进电机线圈由四相组成,驱动方式为二相激磁方式,如图。

首先使ha线圈和hb线圈有驱动电流,接着使hb和hc、hc和hd、hd和ha,又返回到ha和hb有驱动电流,按这种顺序切换,电机轴按顺时针方向旋转。

表4.1 步进电机激磁方式。

实验连线。8255模块的wr、rd连到isa总线接口模块的iowr、iord,8255选通信号ce连到isa总线接口模块的ioy0。

8255模块的数据线ad7~ad0、地址线a7~a0分别连到isa总线接口模块的lad0~lad7,la0~la7。

步进电机的ha—pa0,hb—pa1,hc—pa2,hd—pa3。

1)8255的端口a(pa0---pa7)和开关k1-k8相连。

2)8255的端口b(pb0---pb7)通过驱动连接到led的a~h各段(kd0---kd7)。

3) 8255的端口c(pc0---pc3)和步进电机的四相ha、hb、hc、hd相连。

4)8255的端口c(pc7、pc6)和红灯、绿灯连接。

软件设计(包括程序流程图)

源程序(要有注释)

my_data segment

p8255a dw 0c800h定义a端口。

p8255b dw 0c801h定义b端口。

p8255c dw 0c802h定义c端口。

p8255m dw 0c803h

shun db 03h,06h,0ch,09h ;顺时针旋转。

timep db ?

my_data ends

my_code segment

my_proc proc far

assume cs:my_code, ds:my_data

start: mov ax,my_data

mov ds,ax

mov dx,p8255m

mov al,90h

out dx,al

mov bl,33h

new: mov dx, p8255a

inal,dx

test al,80hk8=pa7

jnznext

mov dx, p8255c

mov al,00h停止步进电机

out dx,al

jmpnew

next: mov dx,p8255c

again: mov al,bl

out dx,al

call vel

call delay

zhfan: mov dx,p8255a

inal,dx

test al,40hk7=pa6

jzsecond

first: rol bl,1

jmpnew

second: ror bl,1

jmpnew

exit: mov ax,4c00h

int21h

my_proc endp

delay procnear延时程序。

push cx

push si

dely1: mov si, timep

dy1mov cx, 0ffffh

dy2: loop dy2

dec si

jnz dy1

pop si

pop cx

retdelayendp

vel procnear速度子程序。

push ax

push dx

velc1: movdx,p8255a

inal,dx

test al,01hk1=01h,即开关处于开的状态。

jnzk1test al,02h

jnzk2test al,04h

jnzk3test al,08h

jnzk4test al,10h

jnzk5test al,20h

jnzk6mov si,3000h

jmpvelc2

k1mov ax,100h实验得出具体值。

jmpvelc2

k2mov ax, 200h实验得出具体值。

jmpvelc2

k3mov ax, 300h实验得出具体值。

jmpvelc2

k4mov ax, 500h

jmpvelc2

k5mov ax, 1000h

jmpvelc2

k6mov ax, 2000h

jmpvelc2

velc2: mov timep,ax

popdxpopax

retvelendp

my_code ends

end start

调试过程:1) 测试连接线路是否正确。没有通过,经检查后发现,8255有两根连线错误。更改错误连线。

2) 再次测试,仍未通过,检查发现,有一根连线是坏的,更换连线。

3) 再次测试,通过。

4) 编写程序并进行编译,没有通过。检查程序,发现有两个数据格式定义错误。将dw改成db。

5) 再次进行编译,成功。继续进行编译,成功!

6) 进行链接,成功。

7) 运行程序,成功。

8) 当k8向上拨时,电机启动,向下拨时电机停止。

9) 开关k1~6控制电机的转速:k1向上拨时,得到最低转速,……k6向上拨时,得到最高转速。

10) k7向上拨时电机反转。

11) 当拨动k1-6时数码管显示相印的转速。

总结: 在老师的耐心指导和帮助下,我们终于完成了步进电机设计课程。从书本上的知识到自己亲手的课程设计,每一步对我们来说无疑是巨大的尝试和挑战。

通过这次课程设计,使我对微机原理与接**术这门课有了更深的认识和了解。尤其在动手能力和用汇编语言编程方面有了不小的进步。当然试验中我也遇到了不少问题,例如连线的错误,还有编写程序的时后数据的定义有错误,等等。

但正是这些错误让我认识到了一些以前经常忽略的问题,促进我了我能力的提高。课程设计加深了我们对于书本上知识的了解,从而对汇编与接口这门课程有了更深入的了解,也加深了学习这门课程的兴趣。

汇编课程设计

直流电机调速系统设计。摘要。脉宽调制的全称为 pulse widthmodulator 简称pwm 直流电机调速器就是调节直流电动机速度的设备,由于直流电动机具有低转速大力矩的特点,是交流电动机无法取代的,因此调节直流电动机速度的设备 直流调速器,由于它的特殊性能 常被用于直流负载回路中 灯具调光或...

汇编课程设计

湖南农业大学课程设计报告。学院 信息科学与技术学院班级 计算机科学与技术2班 姓名 陈小湾学号 200841842226 课程设计报告题目 时钟显示程序。课程名称 微机原理与接 术。评阅成绩 评阅意见 成绩评定教师签名 日期 年月日。第一部分 任务与要求。利用芯片8253和8259a完成时钟显示程序...

汇编课程设计

汇编语言课程临近结束时,将利用实验课和理论课最后阶段时间 大约14周开始,具体安排听通知 让同学们进行题目的答辩。分组 每5到6人一组,推选出组长。每组同学选一组题目,且任两组同学不得选重复组的题目,两班同学不要选相同组题目。请班长在第三周周一前将分组及选题的汇总excel电子版发到我邮箱。选第一组...