微机原理课设 步进电机设计.doc

合集下载

微机原理课程设计 步进电机的正反转及调速控制分解

微机原理课程设计 步进电机的正反转及调速控制分解

课程设计报告题目步进电机正反转及调速控制系统的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级10电气1班学生姓名管志成学号1004103027课程设计地点C304课程设计学时20指导教师李国利金陵科技学院教务处制步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。

绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统一、概述1.1 课程设计的目的 (4)1.2课程设计的要求 (4)二、总体设计方案及说明2.1 系统总体设计方案 (5)2.2系统工作框图 (5)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (6)3.2 步进电机的原理 (7)3.3 ULN2003A的简介 (8)3.4 74154芯片简介 (9)3.5 74LS273芯片简介 (10)3.6 8086最小系统的设计 (11)3.7 步进电机及其驱动电路的设计 (12)3.8 电机状态显示电路的设计 (12)3.9 输入采样电路的设计 (13)3.10系统总电路图 (14)四、系统软件部分设计4.1 系统流程图 (15)4.2 系统软件源程序 (16)4.2.1电机绕组通电顺序设定 (16)4.2.2 延时子程序设计 (16)4.2.3 汇编源程序及说明 (16)五、总结5.1 系统软硬件的联合调试 (21)5.2 问题分析和解决方案 (23)5.3 心得与体会 (23)六、参考文献 (23)附录:总电路图 (25)一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

微机原理步进电机课程设计

微机原理步进电机课程设计

微机原理步进电机课程设计一、课程目标知识目标:1. 让学生掌握微机原理在步进电机控制中的应用,理解步进电机的结构、原理及其特点。

2. 使学生了解步进电机与微控制器之间的接口技术,掌握步进电机的驱动程序编写方法。

3. 让学生掌握步进电机速度和位置控制的基本算法,并运用到实际项目中。

技能目标:1. 培养学生运用微机原理解决实际问题的能力,学会编写和调试步进电机控制程序。

2. 培养学生的动手实践能力,能独立完成步进电机的组装、调试和故障排查。

3. 培养学生团队协作能力,通过分组合作完成课程设计任务。

情感态度价值观目标:1. 激发学生对微机原理和步进电机控制技术的兴趣,培养其探索精神和创新意识。

2. 培养学生严谨、认真的学习态度,养成良好的实验操作习惯。

3. 增强学生的环保意识,关注步进电机在节能环保领域的应用。

本课程针对高年级学生,课程性质为理论与实践相结合。

在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果。

教学过程中,注重培养学生的实际操作能力和团队协作精神,使学生在完成课程设计任务的过程中,达到知识、技能和情感态度价值观的全面提升。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 微机原理基础:回顾微控制器的基本原理,重点讲解微控制器与步进电机的接口技术,涉及课本第3章相关内容。

2. 步进电机原理与结构:介绍步进电机的种类、结构、原理及特点,对应课本第5章内容。

3. 步进电机驱动技术:讲解步进电机的驱动电路设计,包括驱动芯片的选型、接口电路设计等,参考课本第6章相关内容。

4. 步进电机控制算法:学习步进电机的速度和位置控制算法,如PID控制、闭环控制等,结合课本第7章内容。

5. 实践操作:分组进行步进电机的组装、调试及控制程序编写,巩固理论知识,培养实际操作能力。

教学大纲安排如下:第1周:微机原理基础回顾,了解步进电机接口技术;第2周:学习步进电机原理与结构,选型及参数了解;第3周:步进电机驱动技术学习,驱动电路设计;第4周:步进电机控制算法学习,编写控制程序;第5周:实践操作,步进电机组装、调试及故障排查;第6周:课程设计总结,成果展示及评价。

微机原理课程设计-步进电机的正反转及调速控制

微机原理课程设计-步进电机的正反转及调速控制

课程设计报告题目步进电机正反转及调速控制系统的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级10电气1班学生姓名管志成学号**********课程设计地点C304课程设计学时20指导教师李国利金陵科技学院教务处制成绩步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。

绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统一、概述1.1 课程设计的目的 (4)1.2课程设计的要求 (4)二、总体设计方案及说明2.1 系统总体设计方案 (5)2.2系统工作框图 (5)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (6)3.2 步进电机的原理 (7)3.3 ULN2003A的简介 (8)3.4 74154芯片简介 (9)3.5 74LS273芯片简介 (10)3.6 8086最小系统的设计 (11)3.7 步进电机及其驱动电路的设计 (12)3.8 电机状态显示电路的设计 (12)3.9 输入采样电路的设计 (13)3.10系统总电路图 (14)四、系统软件部分设计4.1 系统流程图 (15)4.2 系统软件源程序 (16)4.2.1电机绕组通电顺序设定 (16)4.2.2 延时子程序设计 (16)4.2.3 汇编源程序及说明 (16)五、总结5.1 系统软硬件的联合调试 (21)5.2 问题分析和解决方案 (23)5.3 心得与体会 (23)六、参考文献 (23)附录:总电路图 (25)一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

微机原理及接口技术课程设计(步进电机)

微机原理及接口技术课程设计(步进电机)

微机原理及接口技术课程设报告题目步进电机转速实时控制学院电子信息工程学院专业学生姓名学号年级级指导教师职称二O一四年六月目录一、课程设计目的 (3)二、方案设计 (3)三、硬件系统的基本原理 (3)1、系统硬件子系统构成 (3)2、步进电机控制原理接线图 (4)3、工作原理 (5)四、软件框图及设计思想 (6)1、设计思想 (6)2、程序框图 (7)五、软件清单 (8)六、心得体会 (11)七、主要参考资料 (13)题目:步进电机转速实时控制一、课程设计目的:1、掌握四相步进电机接口电路的原理;2、理解步进电机正、反转工作原理和转速控制原理。

二、方案设计:本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,电机的励磁线圈顺序已经在实验指导书中给定。

以8255A 作为并行输出接口,通过查询步进电机的励磁线圈顺序表以及计算出步进电机的相序表,编写出适当的程序来调节步进电机的正反转以及转速问题。

同时利用程序对步进电机事实与数码管同步的相应运转状态,从而使得整个步进电机控制系统得以准确实现。

三、硬件系统的基本原理:1、系统硬件子系统的构成:本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如下图及下表所示:2、步进电机控制原理:4 - -3 - - -2 - - -1 - - -3、工作原理:4相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成电气连接示意图电机定子和转子示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。

例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理。

步进电机控制课程设计报告

步进电机控制课程设计报告

(封面)XXXXXXX学院微机原理课程设计实验报告题目:院(系):专业班级:学生姓名:指导老师:时间:年月日课题名:步进电机控制一、课题内容和提示:编程提示:(1)步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机做步进式旋转。

调节输入脉冲的频率可改变步进电机的转速。

(2)编写程序使步进电机按正转10圈,反转5圈,再正转10圈,再反转5圈的规律旋转。

(3)调整延时参数,使步进电机的转动速度为每秒5转。

二、报告要求:每秒5转对应的延时参数是多少?,这个数字与微机的速度有什么关系?为什么?三、设计思路:(1)前言:步进电机具有控制简便、定位准确等特点。

随着科学技术的发展,在许多领域将得到广泛的应用。

鉴于传统的脉冲系统移植性不好,本文提出微机控制系统代替脉冲发生器和脉冲分配器,用软件的方法产生控制脉冲,通过软件编程可以任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。

以简化控制电路,降低生产成本,提高系统的运行效率和灵活性。

在此基础上提出了双三拍步进电机程序控制的硬件接口电路、程序流程图和汇编程序。

步进电机是自动控制系统中常用的执行部件。

步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器。

由于步进电机能够直接接受数字信号,而不需数/模转换,所以使用微机控制步进电机显得非常方便。

(2)步进电机有以下优点:(1)通常不需要反馈就能对位置和速度进行控制;(2)位置误差不会积累;(3)与数组设备兼容,能够直接接收数字信号;(4)可以快速启停。

(3)步进电机的工作原理:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

课程设计步进电机

课程设计步进电机

课程设计步进电机一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握步进电机的基本原理、结构特点及其在实际应用中的基本方法。

技能目标要求学生能够运用步进电机进行简单的物理实验,并能够分析实验结果。

情感态度价值观目标要求学生在学习过程中培养对科学的热爱和探索精神,提高学生的实践能力和创新意识。

二、教学内容教学内容主要包括步进电机的基本原理、结构特点、工作原理及其在实际应用中的基本方法。

具体包括以下几个方面:1.步进电机的基本原理:介绍步进电机的工作原理,让学生了解步进电机是如何通过电磁感应产生转矩的。

2.步进电机的结构特点:介绍步进电机的结构特点,包括定子和转子两部分,以及它们之间的相互关系。

3.步进电机的工作原理:讲解步进电机的工作原理,让学生了解步进电机在不同工作状态下的运行情况。

4.步进电机在实际应用中的基本方法:介绍步进电机在实际应用中的基本方法,包括步进电机的选型、安装、调试和维护等方面。

三、教学方法为了提高教学效果,我们将采用多种教学方法进行授课,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解步进电机的基本原理、结构特点和工作原理,使学生能够系统地掌握步进电机的相关知识。

2.讨论法:学生进行课堂讨论,引导学生主动思考和探究步进电机的相关问题,提高学生的思维能力和解决问题的能力。

3.案例分析法:通过分析实际应用中的步进电机案例,使学生能够更好地理解和掌握步进电机的工作原理和应用方法。

4.实验法:安排学生进行步进电机的实验操作,让学生亲身体验步进电机的工作过程,提高学生的实践能力和创新意识。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。

1.教材:选择一本与步进电机相关的教材,作为学生学习的主要参考资料。

2.参考书:推荐一些与步进电机相关的参考书籍,供学生进一步深入学习和研究。

微机原理及接口技术课程设计(步进电机)

微机原理及接口技术课程设计(步进电机)
第一次自己通过编写程序来完成一个实际问题,感觉很难,感觉到问题很难,无从下手。但是后面不断的编写,不断地在机器上调试,边学习边修改从中得到了锻炼与提升,使我增加了不少信心。在编写程序过程中巩固了在计算机原理课程中学到的理论知识,在调试的时候体会到了程序的编写必须非常的细心,有时候一不小心输错一个字母,一个符号,都容易导致调试不出来,从而浪费很多时间。体会到在课程设计的过程中,我还学到了其他很多平时学不到的东西,比如怎样发挥团队的力量,遇到问题困难的时候要懂得虚心去请教别人。中和大家的想法,不断地头脑碰撞,才能有好的创新。因为每个人的想法不同,程序的编写是没有定式的,只要最后的目的达到就可以,但是程序却是要不断简短的才是好程序。要写好一个程序就必须不断地修改,不断地尝试。
三、硬件系统的基本原理:
1、系统硬件子系统的构成:
本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如下图及下表所示:
1
2
3
4
5
6
7
8
5
+
+
+
+
+
+
+
+
4
-
-
3
-
-
-
2
-
-
-
1
-
-
-பைடு நூலகம்
2、步进电机控制原理:
接线图:
B4区8255的PC0、PC1、PC2、PC3分别接E1区步进电机的A、B、C、D;
DEC BX
DECDX
JZ M1
LOOPA5
JMPM2
M2:MOV BX,OFFSET TAB
MOVAX,0007H

微机原理步进电机控制课程设计报告

微机原理步进电机控制课程设计报告

河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期: 2 0 —2 0 学年第学期指导教师:2 0 年月课程设计成绩评定表目录一、设计题目……………………………………………………………….二、设计目的……………………………………………………………….三、设计原理及方案……………………………………………………….四、实现方法……………………………………………………………….五、实施结果……………………………………………………………….六、改进意见及建议……………………………………………………….七、设计体会……………………………………………………………….、一、设计题目编程实现步进电机的控制二、设计目的1.了解步进电机控制的基本原理2.掌握控制步进电机转动的编程方法3.了解8086控制外部设备的常用电路4.掌握8255的使用方法三、设计原理及方案设计原理步进电机驱动原理是通过对每相线圈中的电流的顺序切换实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化,来使电机作步进式旋转;驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速;利用 8255对四相步进电机进行控制;当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动;每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度一个步距角;当通电状态的改变完成一个循环时,转子转过一个齿距;四相步进电机可以在不同的通电方式下运行,常见的通电方式有单单相绕组通电四拍A-B-C-D-A…,双双相绕组通电四拍AB-BC-CD-DA-AB…,八拍A-AB-B-BC-C-CD-D-DA-A…等;通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动;硬件连接图四.实现方法.步进电机控制程序流图.程序代码ASTEPEQU01H BSTEPEQU02H CSTEPEQU04H DSTEPEQU08H CODESEGMENT ASSUMECS:CODESTART:MOVDX,8003H;8255控制口地址MOVAL,82H;PA口输出,B口输入OUTDX,AL;写控制字K0:MOVDX,8000H;PA口地址MOVAL,0;输出低电平OUTDX,AL;电机停止转动MOVDX,8001H;PB口地址INAL,DX;读开关状态TESTAL,01H;PB0位K0=0吗JNZK1;不是零转K1JMPSTEP8;是零转单/双八拍工作方式K1:INAL,DX;读开关状态TESTAL,02H;PB1位K1=0吗JNZK2;不是零转K2JMPSTEP4;是零转双四拍工作方式K2:INAL,DX;读开关状态TESTAL,04H;PB2位K2=0吗JZSTEP41;是零转单四拍反转工作方式JMPK0;循环;单/双八拍工作方式:A→AB→B→BC→C→CD→D→DA→A STEP8:MOVBX,9000H;设置初始延时时间MOVDX,8000H;PA口地址MOVAL,ASTEPOUTDX,ALCALLDELAYMOVAL,ASTEP+BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEP+CSTEPOUTDX,ALCALLDELAYMOVAL,CSTEPOUTDX,ALCALLDELAYMOVAL,CSTEP+DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEP+ASTEPOUTDX,ALCALLDELAYJMPK0;双四拍工作方式:AB→BC→CD→DA→AB STEP4:MOVBX,5000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,ASTEP+BSTEP;PA0PA1AB相输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP+CSTEP;BC输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP+DSTEP;CD输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,DSTEP+ASTEP;DA输出高电平OUTDX,ALCALLDELAY;调延时JMPK0;单四拍反转工作方式:D→C→B→A→D STEP41:MOVBX,1000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,DSTEP;D输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP;C输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP;B;输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,ASTEP;A输出高电平OUTDX,ALCALLDELAY;调延时JMPK0DELAYPROCNEAR;延时子程序PUSHCXMOVCX,BXDD1:NOPLOOPDD1POPCXRETDELAYENDP;延时子程序结束CODEENDS;代码段结束ENDSTART五.实施结果.操作步骤1、硬件测试WINXP步进电机2、在硬件测试通过后,要注意三个相一致1PNP地址和数据段中的端口地址;2控制字和接线;3代码段中的端口地址和接线;3、把程序代码烧进写实验箱中.运行结果1K0扳下表示启动,步进电机转动;K0扳下表示停止,步进电机停止;2K1扳下表示顺时针转,速度慢;3K2扳下表示逆时针,即倒转,速度快;六.改进意见及建议程序设计没有实现加速和减速,在步进电机的转动函数里,每次循环都改变延时的大小即可实现变速;延时时间依次变长则步进电机减速,延时时间依次变短则步进电机加速;再配合开关即可实现加速减速的任意控制;七.设计体会这次做的实验是一个比较综合的实验,实验中主要是微机原理的编程,但还涉及到步进电机的有关知识以及一些专业基础课的知识,所以要做好这次实验我们需要做的有很多;首先,在查找资料的过程中,我更加理解了8255在微型计算机中的重要作用,理解了8255的基本的编程结构和基本控制字的设计方法,也锻炼了自己的动手能力和创新意识;其次,在编写汇编程序过程中,由于早先对汇编语言学习的不扎实,我们遇到了很大的困难,但是随着对问题理解的逐渐深入,这些问题最终都一一化解了;通过这次步进电机控制代码的编写,让我有了一个更深刻的认识:要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的;在这个过程中,不仅提高了实际动手操作能力,培养了治学严谨的态度,激发了我学习此专业课程的兴趣,而且让我们深刻的体验到理论知识与实践经验的密切联系,要成为一个高技术人才,必须理论与实践两手都要硬;在设计时,对不同方案的构思、分析、比较到最后的方案确定,这些工作,可以增强了我们分析、解决问题的能力,培养了我们的创新意识;。

微机原理课设 步进电机设计

微机原理课设 步进电机设计

学号:0120911360218课程设计题目步进电机学院自动化学院专业自动化班级自动化0902班姓名指导教师徐小强2012 年 1 月12 日课程设计任务书学生姓名:专业班级:自动化0902指导教师:徐小强工作单位:自动化学院题目:步进电机初始条件:用汇编语言设计一个步进电机的控制,在Proteus仿真环境下完成,功能上实现步进电机的基本功能。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 通过键盘控制步进电机的启动和停止,正转和反转;2. 编制完整的程序并调试;3.撰写符合学校要求的课程设计说明书,内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:1. 1月04日----1月05日查阅资料及方案设计2.1月06日----1月08日编程3.1月09日----1月10日调试程序4.1月11日----1月12日撰写课程设计报告5.1月13日上午准备答辩,下午正式答辩指导教师签名:年月日系主任(或责任教师)签名:年月日摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

其种类比较多,分为机电式、磁电式及直线式三种基本类型。

磁电式步进电动机主要有永磁式、反应式和永磁感应子式3种形式。

它主要用于数字控制系统中,精度高,且运行可靠。

步进电动机目前已广泛地应用于数字控制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。

因此可知,步进电机在现代控制领域中起着非常重要的作用。

本次设计中,要求使用8086CPU作为主控制器,通过与外部接口芯片的配合工作,以实现控制步进电机的启动、停止、正转、反转等功能。

设计要求为,通过编写正确的汇编程序,并使用仿真软件PROTEUS进行该控制系统的仿真。

微机原理步进电机控制

微机原理步进电机控制

微机原理步进电机控制微机原理步进电机控制实验报告实验步进电机控制⼀、实验内容l、⽤8255的PA0,PA3输出脉冲信号,驱动步进电机转动,通过键盘设定来控制步进电机正转、反转、停⽌。

2、实验预备知识,步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。

驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,⽤微电脑控制步进电机最适合。

⼆、实验步骤1、在系统处于命令提⽰符“P.”态下,按SCAL键。

2、按图6,9连好实验线路图,8255的PA0,PA3依次连到HA-HD插孔。

3、运⾏实验程序。

在系统处于命令提⽰符“P.”态下,输⼊1630,按EXEC键,显⽰BJ?,按“1”键正转;按“2”键反转;按“3”停⽌。

4、观察步进电机转动情况。

三、实验原理图, 实验接线图:四(实验程序清单CODE SEGMENT ;BJ.ASM ASSUME CS: CODE IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28HPA EQU 0FF20H ;字位⼝PB EQU 0FF21H ;字形⼝PC EQU 0FF22H ;键⼊⼝ORG 1630HSTART: JMP START0 BUF DB ?,?,?,?,?,? KZ DB ?ltime db ?lkey db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1HSTART0: CALL BUF1 ;写显⽰缓冲区初值MOV AL,88H ;MOV DX,IOCONPTOUT DX,AL ;写命令字redikey: call dispkey ;调⽤显⽰键扫cmp KZ,01h ;是1键正转JZ ZZcmp KZ,02h ;是2键反转JZ STXJMP REDIKEY ;继续读键JMP ST ;转停⽌ STX:ZZ: CALL BUFZ ;显⽰正转值ZZ1: MOV DX,IOAPT ;PA⼝MOV AL,03H ;MOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.B两相CALL DELPZ ;延时,读键MOV AL,06HMOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.d两相CALL DELPZ MOV AL,0CHMOV DX,IOAPTOUT DX,AL ;驱动步进电机,C.D两相CALL DELPZ MOV AL,09H ;驱动步进电机,B.C两相MOV DX,IOAPT OUT DX,ALCALL DELPZMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,09HMOV DX,IOAPTOUT DX,AL;------------------------- FZ: CALL BUFF ;反转⼊⼝FZ1: MOV DX,IOAPTMOV AL,0CHOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV DX,IOAPTMOV AL,03HOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,00HOUT DX,ALST1: call dispkey cmp KZ,01hJZ ZZMONcmp KZ,02hJZ FZMONJMP ST1delpZ: mov cx,02h con1: push cx CALL dispkey pop cxcmp KZ,02hJZ FZMONcmp KZ,03hJZ STMONloop con1RETdelpF: mov cx,02h con2: push cx CALL dispkey pop cxcmp KZ,01hJZ ZZMONcmp KZ,03hJZ STMONloop con2RETZZMON: POP CXJMP ZZFZMON: POP CXJMP FZSTMON: POP CXJMP ST;-------------------------dispkey: call disp ;键盘显⽰⼦程序,见前注释call key mov ah,al ;newkeymov bl,ltime ;ltimemov dx,PA ;0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hdisk4: dec ahcmp ah,82hjz disk6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5: mov ah,0fhdisk6: mov bl,ahmov ah,bhdisk7: mov ltime,blmov lkey,bhmov KZ,bhmov al,ahretkey: mov al,0ffh ;键扫⼦程序mov dx,PB out dx,almov bl,00hmov ah,0fehmov cx,08hkey1: mov al,ahmov dx,PAmov ah,alnopnopnopnopnopnopmov dx,PCin al,dxnot alnopnopand al,0fhjnz key2inc blloop key1jmp nkeykey2: test al,01h je key3 mov al,00hjmp key6key3: test al,02h je key4 mov al,08hjmp key6key4: test al,04h je key5 mov al,10hjmp key6key5: test al,08hje nkeymov al,18hkey6: add al,blcmp al,10hjnc fkeymov bl,almov al,[bx+si]retnkey: mov al,20h fkey: retdata2: db 07h,04h,08h,05h,09h,06h,0ah,0bh DB 01h,00h,02h,0fh,03h,0eh,0ch,0dh DISP: MOV AL,0FFH ;显⽰⼦程序 ,5ms MOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUF DIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,0a0HLOOP $POP CXCMP CL,0FEHJZ LX1INC BXROR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,0BH ;写”BJ----” MOV BUF+1,019HMOV BUF+4,17HMOV BUF+5,17HRETBUFZ: MOV BUF,0BH ;写”BJ---F” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,0FHRETBUFF: MOV BUF,0BH ;写”BJ---r” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,18HRETBUFS: MOV BUF,0BH ;写”BJ---S” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,05HRETCODE ENDSEND START五、实验总结1、通过实验进⼀步了解8086的使⽤,学习汇编语⾔编程⽅法及调试技巧。

课程设计-- 微机步进电机控制系统设计

课程设计-- 微机步进电机控制系统设计

课程设计报告课程名称:微机原理与接口技术课程设计设计题目:微机步进电机控制系统设计系别XXXXXXXX专业: XXXXXXXX班级: XXX学生姓名XXX学号: XXXXXXXXXXX起止日期: XXXXXXX指导教师: XXXXXXX目录第一章绪论 (2)第二章分析 (2)2.1 课程设计题目 (2)2.2 课程设计任务及要求 (2)2.2.1 任务 (2)2.2.2 课程设计的要求 (3)2.3 运行环境及开发工具 (3)2.3.1 运行环境 (3)2.3.2 开发工具 (3)第三章设计 (3)3.1 基本原理 (3)3.2 设计方法 (4)3.2.1 硬件设计方法 (5)3.2.2 软件设计方法 (7)3.3 程序流程图 (14)第四章调试与操作说明 (25)4.1 综合调试步骤 (25)4.2 操作说明 (25)第五章课程设计心得与体会 (26)参考文献 (27)附录步进电机控制程序 (29)第一章绪论课程设计是培养和锻炼在校学生综合应用所学理论知识解决实际问题能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。

微机原理及接口技术应用是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。

通过设计实践,培养学生查阅专业资料、工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。

通过设计,不但要培养和提高学生解决工程具体问题、动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。

第二章分析2.1 课程设计题目微机步进电机启动与停止控制微机步进电机的速度控制微机步进电机的方向控制2.2 课程设计任务及要求2.2.1 任务1)微机步进电机起动与停止控制;实现方法:设置硬开关或软开关。

步进电机课程设计

步进电机课程设计

步进电机 课程设计一、课程目标知识目标:1. 学生能理解步进电机的原理、结构及其工作方式;2. 学生能掌握步进电机与控制器之间的通信协议和编程控制方法;3. 学生能运用步进电机进行简单机械运动的控制。

技能目标:1. 学生能通过实际操作,熟练进行步进电机的接线与调试;2. 学生能运用编程软件,编写简单的控制程序,实现对步进电机的精确控制;3. 学生能通过小组合作,解决步进电机控制过程中遇到的问题。

情感态度价值观目标:1. 学生对步进电机及其控制产生浓厚的兴趣,培养探究精神和创新意识;2. 学生在小组合作中,培养团队协作能力,增强集体荣誉感;3. 学生通过学习步进电机知识,认识到科技对生活的改变,增强社会责任感。

本课程针对高年级学生,结合电子技术、自动控制原理等学科知识,旨在培养学生的实际操作能力、编程思维和团队合作精神。

课程要求学生在理解理论知识的基础上,注重实践操作,将所学知识应用于实际问题的解决,达到学以致用的教学目标。

通过本课程的学习,为学生进一步探索自动化领域奠定基础。

二、教学内容1. 步进电机原理与结构- 介绍步进电机的种类、工作原理及结构特点;- 分析步进电机与普通电机的区别及优势。

2. 步进电机控制基础- 讲解步进电机与控制器之间的通信协议;- 介绍步进电机的控制参数及其调整方法。

3. 步进电机编程控制- 学习编程软件的使用,编写简单的控制程序;- 掌握步进电机的运动控制指令及其应用。

4. 步进电机实践操作- 实际操作步进电机的接线与调试;- 通过编程控制步进电机实现直线运动、圆周运动等。

5. 步进电机应用案例- 分析步进电机在自动化设备中的应用案例;- 探讨步进电机在生活中的应用及发展趋势。

教学内容按照教材章节安排,结合课程目标,分为理论知识与实践操作两部分。

在教学过程中,注重引导学生从基础理论入手,逐步过渡到实际操作,培养学生动手能力。

同时,通过分析案例,拓展学生视野,提高他们对步进电机应用的认识。

微机原理课程设计说明书---步进电机控制

微机原理课程设计说明书---步进电机控制

微机接口技术课程设计说明书课题名称:步进电机控制目录1.课程设计任务书…………………………………………………2.说明书正文…………………………………………………………2.1 前言………………………………………2.2 现状…………………………………………………2.3 任务分析与方案设计…………………………………………2.4 系统电路原理图……………………………………………2.5元器件参数选择及清单……………………………………2.6 电路的调试………………………………………………3. 心得体会……………………………………………4. 参考文献………………5. 附录…………………………………1.课程设计任务书一、任务要求在Dais实验台基础上设计并调试一个外接口电路,能够显示所对应的电机状态。

且具有一定的控制功能,编程并调试完成整个开发系统。

二、主要技术要求实现步进电机转速和正反转控制。

控制四相步进电机是采用编程方法实现四相八拍环形分配运行方式,改变激励脉冲频率的大小来实现调制。

变换步进电机的其中两相相序,就能实现步进电机的正反转。

扩展一:用三个发光二极管亮灭表示三个速度开关的状态。

再用一个发光二极管亮灭表示正反转状态。

扩展二:用数码管显示速度状态。

三、主要完成任务1、查找相关资料,确定课程设计方案;2、微机接口电路硬件的焊接、装配、逐步排除故障及调试:3、用Protel2004绘制微机最小系统配置原理图;4、用Protel2004绘制相关项目的接口原理图;5、编写相关项目的程序,并进行调试;6、按照相关项目内容要求,上级进行调试;7、编写课程设计报告。

四、提交成果1)课程设计说明书一本(电子文档和打印稿各一份)要求:内容完整,图表完备,条理清晰,分析有据。

所附电路图布局合理,清晰完备,图形和符号要规范。

2)所用元器件清单3)电路实体一套。

要求:该电路实体必须是经过自己安装调试通过并达到性能指标要求的电路实体。

微型计算机控制技术课程设计步进电机共9页

微型计算机控制技术课程设计步进电机共9页

课程设计课程名称微型计算机控制技术题目名称__步进电机角度控制(2)学生学院____ _ 自动化________专业班级____学号学生姓名___ _指导教师______ 李传芳_____2013 年06月28日一、软件设计流程图如下图所示:否二、心得与体会终于完成了这次课程设计的任务。

析,以得到所需的步数。

总之,这次课程设计锻炼了我解决问题的能力,激发了我的思考,相信通过这次课程设计对我以后对微机的继续学习及以后的工作会有很大的帮助。

任务1连接数码管显示电路和键盘电路,实现如下表所示的按键控制,并能够左移显示:STACK SEGMENT STACKDB 64 DUP(?)STACK ENDSDATA SEGMENTORG 0030HVAR1 DB 0FCH,0FCH,0FCH,0FCHVAR5 DB OF7H,0FBH,0FDH,0FEHVAR2 DB0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH, 0FCHVAR3 DB00H,00H,00H,00H,00H,00H,00H,00HVAR4 DB00H,00H,00H,00H,00H,00H,00H,00H TABLE1 DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0 H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AL,88H ;8255初始化MOV DX,0606HOUT DX,ALSTT: MOV AL,60HMOV DX,0604HOUT DX,ALNEXT: MOV DX,0604HIN AL, DXAND AL,60HCMP AL,60HJNZ KEYABCCALL DISPJMP STT ;.............键盘扫描................................................. KEYABC:CALL TIMEMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60H ;PC6 PC5 =0110 0000JNZ KEYJMP STTKEY: MOV AL,0FEH ;扫描PC0口PC0=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_FCALL KEYAJMP STTKKEY_F: TEST AL,040H ;检测PC6口JNZ KEY_0CALL KEYFJMP STTKKEY_0:MOV AL,0FDH ;扫描PC1口,PC1=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_2CALL KEY0JMP STTKKEY_2:TEST AL,040H ;检测PC6口JNZ KEY_6CALL KEYF ;否则是按键2JMP STTKKEY_6:MOV AL,0FBH ;PC2=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_7CALL KEY6JMP STTKKEY_7:TEST AL,040H ;检测PC6口JNZ KEY_3CALL KEY7JMP STTKKEY_3:MOV AL,0F7H PC3=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_BCALL KEY3JMP STTKKEY_B:TEST AL,040H ;检测PC6口JNZ KEY_111CALL KEYBKEY_111:JMP STTK ;..................数字XIANSHI............ KEYA: CMP BH,00HJZ KEYA_1KEYA_1: CALL LP1MOV AL,0EEHMOV [SI],ALMOV AL,0AHMOV [DI],ALCALL DISPRETKEYF: CMP BH,00HJZ KEYE_1KEYF_1:CALL LP1MOV AL,8EHMOV [SI],ALMOV AL,0FHMOV [DI],ALCALL DISPRETKEY0:CMP BH,00HJZ KEY1_1KEY0_1:CALL LP1MOV AL,0FCHMOV [SI],ALMOV AL,00HMOV [DI],ALCALL DISPRET KEY2:CMP BH,00HJZ KEYF_1KEY2_1:CALL LP1MOV AL,0DHMOV [SI],ALMOV AL,02HMOV [DI],ALCALL DISPRETKEY6:CMP BH,00HJZ KEY7_1KEY6_1:CALL LP1MOV AL,0BEHMOV [SI],ALMOV AL,06HMOV [DI],ALCALL DISPRETKEY7:CMP BH,00HJZ KEYA_1KEY7_1:CALL LP1MOV AL,0E0HMOV [SI],ALMOV AL,07HMOV [DI],ALCALL DISPRETKEY3:CMP BH,00HJZ KEY8_1KEY3_1:CALL LP1MOV AL,0F2HMOV [SI],ALMOV AL,03HMOV [DI],ALCALL DISPRETKEYB:CMP BH,00HJZ KEYB_1 KEYB_1:CALL LP1MOV AL,3EHMOV [SI],ALMOV AL,0BHMOV [DI],ALCALL DISPRETLP1: MOV SI,OFFSET VAR1PUSH AXMOV AL,[SI+2]MOV [SI+3],ALMOV AL,[SI+1]MOV [SI+2],ALMOV AL,[SI]MOV [SI+1],ALPOP AXMOV [SI],ALRET;..................显示...........DISP:PUSH DXPUSH CXMOV SI,OFFSET VAR1MOV DX,0604HMOV AL,11111110BOUT DX,ALMOV DX,0602HMOV AL,[SI+3]OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11111101BOUT DX,ALMOV DX,0602HMOV AL,[SI+3]OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11111011BOUT DX,ALMOV DX,0602HMOV AL,[SI+3]OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11110111BOUT DX,ALMOV DX,0602HMOV AL,[SI+3]OUT DX,ALDEC SICALL TIMEPOP AXPOP DXRET ;.......................延时................................ TIME: PUSH AXPUSH CXMOV CX,0006HTIME1: MOV AX,0100HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET ;................放键测试........................STTK: CALL DISPMOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ STTKJMP STTCODE ENDSEND START任务2 实现:定义键盘按键:5个为数字键:0、1、3、5、9 ;3个功能键:设置SET、清零CLR、开始START;按键分布如下表所示:2.2STACK SEGMENT STACKDB 100 DUP(?)STACK ENDSDATA SEGMENTVAR1 DB OF7H,0FBH,0FDH,0FEHVAR2 DB 0FCH,0FCH,0FCH,0FCHVAR5 DB 00H,00H,00H,00H,00H,00H TABL DB0FCH,60H,0DH,0F2H,66H,0B6H,0BEH,0E0H ,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH TAB_C DW 00HORG 0100HVAR3 DB 64 DUP(?)ORG 0200HVAR4 DW 64 DUP(?)COUNT DB 00HTABLE DB08H,18H,10H,30H,20H,60H,40H,48HD_COUNT DB 00HD_TIMES DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXPUSH DXMOV AL,88H ;8255初始化MOV DX,0606HOUT DX,ALMOV BX,0000HMOV COUNT,00HMOV D_COUNT,00HMOV D_TIMES,00HSTT: MOV AL,00HMOV DX,0604HOUT DX,ALNEXT: MOV DX,0604HIN AL, DXAND AL,60HCMP AL,60HJNZ KEYABCCALL DISPJMP STTPOP DX ;.............键盘扫描................................................. KEYABC:PUSH DXCALL TIMEMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60H ;PC6 PC5 =0110 0000JNZ KEY_5JMP STTPOP DXKEY_5: MOV AL,0FEH ;扫描PC0口MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_CLRCALL KEY5 ;否则是按键5JMP STTKKEY_CLR: TEST AL,40H ;检测PC6口JNZ KEY_6CALL KEYCLRJMP STTKKEY_6:MOV AL,0FDHMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_STARTCALL KEY6JMP STTKKEY_START:TEST AL,40H ;检测PC6口JNZ KEY_3CALL KEYSTARTJMP STTKKEY_3:MOV AL,0FBHMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_4CALL KEY3JMP STTKKEY_4:TEST AL,40H ;检测PC6口JNZ KEY_0CALL KEY4JMP STTKKEY_0:MOV AL,0F7HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_SETCALL KEY0JMP STTKKEY_SET:TEST AL,40H ;检测PC6口JNZ KEY_111CALL KEYSETKEY_111:JMP STTKKEY0:CALL LP1MOV AL,00HMOV [DI],ALMOV AL,0FCHMOV [SI],ALCALL DISPRETKEY3: CALL LP1MOV AL,03HMOV [DI],ALMOV AL,0F2HMOV [SI],ALCALL DISPRETKEY4: CALL LP1MOV AL,04HMOV [DI],ALMOV AL,66HMOV [SI],ALCALL DISPRETKEY5: CALL LP1MOV AL,05HMOV [DI],ALMOV AL,0B6HMOV [SI],ALCALL DISPRETKEY6: CALL LP1MOV AL,06HMOV [DI],ALMOV AL,0BEHMOV [SI],ALCALL DISPRETKEYSTART: CMP COUNT,00HJZ STA1MOV AL,COUNTCBWPUSH AXMOV SI,OFFSET VAR4MOV DI,OFFSET TABLEMOV DL,00HSTA4: MOV BX,[SI]MOV AX,[SI+2]MOV DH,0FHDIV DHMOV DH,04HMUL DHINC SIINC SIINC SIINC SIPUSH AXSTA5: POP AXMOV CX,AXPUSH AXSTA2: PUSH DXMOV AL,[DI]MOV DX,0600HOUT DX,ALPOP DXINC DIINC DLCALL DISP1CALL DALLY1CMP DL,08HJNZ STA3MOV DL,00HMOV DI,OFFSET TABLE STA3: LOOP STA2CALL DISP1DEC BXJNZ STA5INC D_COUNTMOV AL,COUNTPOP AXCALL DISP1DEC COUNTJNZ STA4POP AXCALL DISP1DEC COUNTJNZ STA4POP AXMOV COUNT,ALMOV D_COUNT,00HMOV TAB_C,DIMOV CL,DLSTA1: RETKEYSET: LEA SI,VAR2LEA DI,VAR3MOV AL,COUNTCBWADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV CX,0004HSET1: MOV AL,[SI]MOV [DI],ALINC DIINC SILOOP SET1LEA SI,VAR5MOV DX,0000HMOV DI,OFFSET VAR4MOV AL,COUNTCBWADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV AL,[SI]MOV [DI],ALMOV AL,[SI+1]MOV BL,64HMUL BLADD DX,AXMOV AL,[SI+2]MOV CL,0AHMUL BLADD DX,AXMOV BL,[SI+3]CBWADD AX,DXMOV [DI+2],AXMOV CX,0004HLEA SI,VAR2LEA DI,VAR5SET2: MOV [SI],0FCHMOV [DI],00HINC SIINC DILOOP SET2CALL DISPINC COUNTRETKEYCLR: CMP COUNT,00HJZ CLR1MOV DI,TAB_CMOV SI,OFFSET VAR4MOV DL,CLTEST DL,DLJNZ CLR6MOV DL,08HMOV DI,OFFSET TABLEMOV AL,07HCBWADD DI,AXCLR6: DEC DIDEC DLCLR4: MOV BX,[SI]MOV AX,[SI+2]MOV DH,0FHDIV DHMOV DH,04HMUL DHINC SIINC SIINC SIINC SIPUSH AXCLR5: POP AXMOV CX,AXPUSH AXCLR2: PUSH DXMOV AL,[DI]MOV DX,0600HOUT DX,ALPOP DXDEC DIDEC DLCALL DALLYTEST DL,DLJNZ CLR3MOV DL,08HMOV DI,OFFSET TABLEMOV AL,07HCBWADD DI,AXCLR3: LOOP CLR2DEC BXJNZ CLR5MOV AL,COUNTPOP AXDEC COUNTJNZ CLR4MOV COUNT,00HCLR1: MOV CX,0004HLEA SI,VAR3LEA DI,VAR4CLR7: MOV [SI],0FCHMOV [DI],00HINC SIINC DILOOP CLR7CALL CLRRCALL DISPRETDISP1: PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV D_TIMES,BLMOV AL,D_COUNTCBWMOV BX,OFFSET TABLMOV SI,OFFSET VAR1MOV DI,OFFSET VAR3ADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV AL,[SI]MOV DX,0604HOUT DX,ALMOV AL,D_TIMESXLATMOV DX,0602HOUT DX,ALCALL TIMEINC SIINC DIMOV CX,0003HDIR1: MOV AL,[SI]MOV DX,0604HOUT DX,ALMOV AL,[DI]MOV DX,0602HOUT DX,ALCALL TIMEINC SIINC DILOOP DIR1POP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETLP1: MOV CX,0003HLEA SI,VAR2LEA DI,VAR5LP2: MOV AL,[SI+1]MOV [SI],ALMOV AL,[DI+1]MOV [DI],ALINC DIINC SILOOP LP2RETDISP: LEA SI,VAR1LEA DI,VAR2MOV CX,0004H DIR: MOV AL,[SI]MOV DX,0604HOUT DX,ALMOV AL,[DI]MOV DX,0602HOUT DX,ALCALL TIMEINC SIINC DILOOP DIRRETCLRR: MOV CX,0004HLEA SI,VAR2LEA DI,VAR5 CLR8:MOV [SI],0FCHINC SILOOP CLR8RETTIME: PUSH AXPUSH CXMOV CX,0010H TIME1:MOV AX,00300H TIME2:DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRETDALLY:PUSH CXPUSH AXMOV CX,1000H A6: MOV AX,0010HA7: DEC AXJNZ A7LOOP A6POP AXPOP CXRETDALLY1:PUSH CXPUSH AXMOV CX,0010H AA6: MOV AX,0500HAA7: DEC AXJNZ AA7LOOP AA6POP AXPOP CXRET ;..............放键测试............. STTK: CALL DISPMOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ STTKJMP STT CODE ENDSEND START。

微机接口课设-步进电机控制系统设计.

微机接口课设-步进电机控制系统设计.

武汉理工大学华夏学院课程设计课程名称微机接口技术及应用Ⅰ题目步进电机控制系统设计专业计算机科学与技术班级计算机1112学号10210411213姓名沈宇超成绩__________________ 指导教师夏婷2014 年6 月13 日武汉理工大学华夏学院信息工程系课程设计任务书课程名称:微机接口技术与应用指导教师:夏婷班级名称:计算机1112开课系、教研室:信息系、计算机一、课程设计目的与任务目的:1. 巩固、实践本课程所学理论知识,综合运用可编程接口芯片8255、8253、8259进行应用系统设计;2.通过步进电机控制系统设计与制作,学习、掌握计算机控制系统软、硬件的设计方法;3. 通过课程设计培养学生查阅、合理运用参考资料的能力。

任务:步进电机控制系统设计二、课程设计的内容与基本要求内容:1.步进电机采用三相双八拍运行方式;2.用1个开关控制步进电机起停,分别用2/4个开关控制步进电机四种工作模式:1)正向慢速旋转2)正向快速旋转3)反向慢速旋转4)反向快速旋转3.送电时和步进电机停止时,七段码显示器显示数字“0”;运行时,分别显示对应四种工作模式的序号1、2、3、4;* 4.使用硬件延时实现步进电机的快、慢旋转控制。

(选做)要求:1.画出硬件原理图(接口芯片和外设部分)和实验连线图;2.掌握计算机控制系统的软硬件的调试方法和步骤;3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)具体内容如下:①设计任务与要求②总体方案与说明③硬件原理图与说明④实验电路图与说明⑤系统流程图⑥软件主要功能模块及流程图⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);⑧小结与体会⑨参考文献提供附录:①源程序(必须有简单注释)②使用说明③参考资料目录1 需求分析 (1)1.1 课程设计题目 (1)1.2 课程设计任务及要求 (1)1.3 软硬件运行环境及开发工具 (1)2 概要设计 (2)2.1 设计原理及实现方法 (2)2.1.1 步进电机控制原理 (2)2.1.2 驱动步进电机的方法 (2)2.2主要芯片说明 (2)3 详细设计 (3)3.1 硬件设计与实现 (3)3.2程序流程图 (4)3.2.1 系统流程图 (4)3.2.2 功能模块流程图 (4)3.3 软件设计 (6)3.3.1正转子程序 (6)3.3.2反转子程序 (6)3.3.3延时子程序 (7)4 系统调试与操作说明 (8)4.1系统调试 (8)4.2 操作说明 (8)5课程设计总结与体会 (10)参考文献 (11)附录:步进电机控制程序 (12)1 需求分析1.1 课程设计题目步进电机控制系统设计1.2 课程设计任务与要求任务1. 用一个开关控制步进电机的起停,用两个开关控制步进电机四种工作模式:正向慢速旋转、正向快速旋转、反向慢速旋转、反向快速旋转2. 送电时和步进电机停止时,七段码显示器显示数字“0”;运行时,分别显示对应四种工作模式的序号1、2、3、4;要求:1.画出硬件原理图(接口芯片和外设部分)和实验连线图;2.掌握计算机控制系统的软硬件的调试方法和步骤;3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)1.3 软硬件运行环境及开发工具实验设备:TDN86/88教学系统一台电脑配置:windows xp软件开发工具:wmd862.1 设计原理及实现方法2.1.1 步进电机控制原理步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号:10063115南昌航空大学题目步进电机学院飞行器工程学院专业飞行器制造工程班级100631姓名周炎2013 年 1 月15 日学生姓名:周炎专业班级: 100631工作单位:飞行器工程学院题目:步进电机初始条件:用汇编语言设计一个步进电机的控制,在Proteus仿真环境下完成,功能上实现步进电机的基本功能。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 通过键盘控制步进电机的启动和停止,正转和反转;2. 编制完整的程序并调试;3.撰写符合学校要求的课程设计说明书,内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

其种类比较多,分为机电式、磁电式及直线式三种基本类型。

磁电式步进电动机主要有永磁式、反应式和永磁感应子式3种形式。

它主要用于数字控制系统中,精度高,且运行可靠。

步进电动机目前已广泛地应用于数字控制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。

因此可知,步进电机在现代控制领域中起着非常重要的作用。

本次设计中,要求使用8086CPU作为主控制器,通过与外部接口芯片的配合工作,以实现控制步进电机的启动、停止、正转、反转等功能。

设计要求为,通过编写正确的汇编程序,并使用仿真软件PROTEUS进行该控制系统的仿真。

关键字:步进电机控制 PROTEUS 仿真汇编程序步进电机1设计基础分析1.1 步进电机步进电机(stepping motor )是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

它主要用于数字控制系统中,精度高,运行可靠。

如采用位置检测和速度反馈,亦可实现闭环控制。

步进电动机已广泛地应用于数字控制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。

因此可知,步进电机在现代控制领域中起着非常重要的作用。

步进电动机分为机电式、磁电式及直线式三种基本类型。

磁电式步进电动机主要有永磁式、反应式和永磁感应子式3种形式。

永磁感应子式步进电动机又称混合式步进电动机。

是永磁式步进电动机和反应式步进电动机两者的结合,并兼有两者的优点。

这里着重介绍永磁感应子式步进电动机。

感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。

因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。

感应子式步进电机某种程度上可以看作是低速同步电机。

一个四相电机可以作四相运行,也可以作二相运行。

(必须采用双极电压驱动),而反应式电机则不能如此。

例如:四相,八相运行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍运行方式.小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。

感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。

使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统。

不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。

1.2 8086CPUIntel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。

Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。

资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。

它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。

大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。

运算结果会储存在操作数中的一个。

Intel 8086有四个内存区段(segment) 寄存器,可以从索引寄存器来设定。

区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。

8086 把段地址左移 4 位然后把它加上偏移地址。

大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。

尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针 (如C 编程语言) 变得困难。

它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。

更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。

而 8086 的寻址方式改变让内存扩充较有效率。

8086处理器的时钟频率介于4.77MHz(在原先的IBM PC)和10 MHz之间。

8086 没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。

1.3 设计方案本次课程设计中,按要求,我们采用8086CPU作为主控制器,加上其对应的接口芯片并连接电路,通过电机驱动器驱动步进电机运行并在仿真软件proteus中进行仿真实验。

参考文献[1]周佩玲,彭虎,傅忠谦编著.微机原理与接口技术.电子工业出版社,2005[2]艾德才等编著.Pentium/80486实用汇编语言程序设计.清华大学出版社,2000 [3]吴秀清,周荷琴编著.微型计算机原理与接口技术(第二版).中国科学技术大学出版社,2002[4]顾辉,梁惺彦编著.微机原理与接口技术:基于8086和Proteus仿真.电子工业出版社,2011[5]贾志平主编,石冰副主编.计算机硬件技术教程——微机原理与接口技术.中国水利水电出版社,1999[6]徐爱钧主编.单片机原理与应用——基于Proteus虚拟仿真技术 .机械工业出版社,2010附录一:步进电机仿真总电路图附录二:系统程序STACK SEGMENTSTA DB 100 DUP(?)TOP EQU LENGTH STASTACK ENDSDATA SEGMENTSTR1 DB 42H,46H,44H,4CH,48H,49H,41H,43H ;正转STR2 DB 83H,81H,89H,88H,8CH,84H,86H,82H ;反转STOP DB 20H,20H,20H,20H,20H,20H,20H,20H ;停止STAR DB 13H,11H,19H,18H,1CH,14H,16H,12H ;启动DATA ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATAIOCTRL EQU 8300HA_PORT EQU 8000HB_PORT EQU 8100HSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV AX, TOPMOV SP, AX ;CPU初始化MOV AL,82H ;控制方式字:A输出、B输入 MOV DX,A_PORTOUT DX,ALNOPMOTOR3: MOV CX,08H ;设置循环次数LEA DI,STOP ;去输出数组首地址IOLED3: MOV AL,[DI]MOV DX,A_PORTOUT DX,AL ;A口输出MOV DX,B_PORTIN AL,DX ;B口输入TEST AL,08H ;反转键是否按下?JE MOTOR2 ;是则跳转TEST AL,04H ;正转键是否按下?JE MOTOR1TEST AL,01H ;启动键是否按下?JE MOTOR4INC DICALL DELAYLOOP IOLED3JMP MOTOR3MOTOR1: MOV CX,08HLEA DI,STR1IOLED1: MOV AL,[DI]MOV DX,A_PORTOUT DX,ALMOV DX,B_PORTIN AL,DXTEST AL,08HJE MOTOR2TEST AL,02HJE MOTOR3TEST AL,01HJE MOTOR4INC DICALL DELAYLOOP IOLED1JMP MOTOR1MOTOR2: MOV CX,08HLEA DI,STR2IOLED2: MOV AL,[DI]MOV DX,A_PORTOUT DX,ALMOV DX,B_PORTIN AL,DXTEST AL,04HJE MOTOR1TEST AL,02HJE MOTOR3TEST AL,01HJE MOTOR4INC DICALL DELAYLOOP IOLED2JMP MOTOR2MOTOR4: MOV CX,08HLEA DI,STARIOLED4: MOV AL,[DI]MOV DX,A_PORTOUT DX,ALMOV DX,B_PORTIN AL,DXTEST AL,08HJE MOTOR2TEST AL,04HJE MOTOR1TEST AL,02HJE MOTOR3INC DICALL DELAYLOOP IOLED4JMP MOTOR4DELAY: ;延时PUSH CXMOV CX,0D1HDELAY1:NOPNOPNOPNOPLOOP DELAY1POP CXRETCODE ENDSEND START。

相关文档
最新文档