微型计算机原理步进电机实验

合集下载

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告步进电机是一种将电脑控制信号转换为机械运动的设备,常用于打印机、数码相机和汽车电子等领域。

本实验使用STM32单片机控制步进电机,主要目的是通过编程实现步进电机的旋转控制。

首先,我们需要了解步进电机的基本原理。

步进电机是一种能够按照一定步长精确旋转的电机。

它由定子和转子两部分组成,通过改变定子和转子的电流,使转子按照一定的角度进行旋转。

在本实验中,我们选择了一种四相八拍步进电机。

该电机有四个相位,即A、B、C、D相。

每个相位都有两个状态:正常(HIGH)和反向(LOW)。

通过改变相位的状态,可以控制步进电机的旋转。

我们使用STM32单片机作为控制器,通过编程实现对步进电机的控制。

首先,我们需要配置STM32的GPIO口为输出模式。

然后,编写程序通过改变GPIO口的状态来控制步进电机的旋转。

具体来说,我们将A、B、C、D相分别连接到STM32的四个GPIO口,设置为输出模式。

然后,通过改变GPIO口输出的电平状态,可以控制相位的状态。

为了方便控制,我们可以定义一个数组,将表示不同状态的四个元素存储起来。

通过循环控制数组中的元素,可以实现步进电机的旋转。

在实验中,我们通过实时改变数组中元素的值,可以实现不同的旋转效果。

例如,我们可以将数组逐个循环左移或右移,实现步进电机的正转或反转。

在实验过程中,我们可以观察步进电机的旋转情况,并根据需要对程序进行修改和优化。

可以通过改变步进电机的旋转速度或步进角度,来实现更加精确的控制。

总结起来,通过本次实验,我们了解了步进电机的基本原理,并通过STM32单片机控制步进电机的旋转。

通过编写程序改变GPIO口的状态,我们可以实现步进电机的正转、反转和精确控制。

这对于理解和应用步进电机技术具有重要意义。

步进电机控制实验报告

步进电机控制实验报告

步进电机控制实验报告开课学院及实验室:学院年级、专业、班姓名学号实验课程名称计算机控制技术成绩实验项目名称步进电机控制实验指导老师一、实验目的1.了解步进电机的工作原理。

2.掌握步进电机的驱动及编程方法。

二、实验原理步进电机是一种电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。

通过设定脉冲数来使步进电机转过一定的角度。

步进电机多为永磁感应式,有两相、四相、六相等多种,实验所用电机为四相八拍式。

三、使用仪器、材料1.TPCC-III计算机控制技术实验箱一台。

2. 数字式万用表一个。

3.微型计算机一台(安装“DICE计算机控制实验软件”)。

四、实验步骤本实验使用的AD35-02M型四相八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下图3-1。

图3-1 励磁线圈及励磁顺序图3-2 实验接线图表3-1 8255B口输出电平在各步中的情况步骤1:按图3-2接线:步骤2:在汇编程序编辑界面输入程序,将宏汇编程序经过汇编,连接后形成.EXE文件。

打开调试窗口,复位,待出现“Welcome to you!”,装入系统,输入命令“G=2000↙”。

EXP3.ASM汇编程序如下:STACK SEGMENT STACKDW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H ;Step of motorDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMAIN: MOV AL,80H ;Initiate 8255 B(OUT)OUT 63H,ALA1: MOV BX,OFFSET TABLEMOV CX,0008H ; Number of stepA2: MOV AL,[BX] ; 8255 outOUT 61H,AL。

单片机步进电机控制实训报告

单片机步进电机控制实训报告

单片机步进电机控制实训报告一、引言随着工业自动化技术的不断发展,步进电机作为一种能够将电脉冲转化为机械转动的装置,在各种自动化控制系统中得到了广泛的应用。

而单片机作为现代电子计算机技术的重要分支,具有体积小、价格低、抗干扰能力强等特点,被广泛应用于各类电机的控制中。

本次实训旨在通过单片机实现对步进电机的控制,加深对步进电机和单片机理论知识的理解,提高实际操作技能。

二、实验目标本次实训的目标是通过单片机控制步进电机,实现电机的正转、反转、停转等操作。

同时,通过对电机的控制,进一步了解步进电机的特性和工作原理。

三、实验原理步进电机是一种将电脉冲转化为机械转动的装置。

当给步进电机施加一个电脉冲信号时,电机就会转动一个固定的角度,这个角度通常称为“步进角”。

通过控制电脉冲的数量和频率,可以实现对电机的速度和位置的控制。

而单片机的GPIO口可以输出高低电平信号,通过控制输出信号的频率和占空比,可以实现对步进电机的控制。

四、实验步骤1、准备器材:单片机开发板、步进电机、杜邦线、面包板、焊锡等。

2、连接电路:将步进电机连接到单片机开发板上,使用杜邦线连接电源和信号接口。

3、编写程序:使用C语言编写程序,通过单片机控制GPIO口输出电脉冲信号,控制步进电机的转动。

4、调试程序:在调试过程中,需要不断调整程序中的参数,观察电机的反应,直到达到预期效果。

5、测试结果:完成程序调试后,进行实际测试,观察步进电机是否能够实现正转、反转、停转等操作。

五、实验结果及分析通过本次实训,我们成功地实现了通过单片机控制步进电机的正转、反转、停转等操作。

在实验过程中,我们发现步进电机的转速和方向可以通过改变单片机输出信号的频率和占空比来控制。

我们还发现步进电机具有较高的精度和稳定性,适用于需要精确控制的位置和速度控制系统。

六、结论与展望通过本次实训,我们深入了解了步进电机的工作原理和单片机的应用。

实践证明,单片机控制步进电机是一种高效、精确、可靠的方法。

步进电机微机实验报告

步进电机微机实验报告

步进电机微机实验报告步进电机微机实验报告引言:步进电机是一种特殊的电动机,它可以根据输入的电脉冲信号精确地控制转动角度和速度。

在本次实验中,我们使用了微机控制步进电机的转动,通过编写程序和控制电路,实现了步进电机的正转、反转和定位功能。

本报告将详细介绍实验的目的、原理、实验过程和结果,并对实验中遇到的问题进行分析和解决。

一、实验目的本次实验的目的是通过微机控制步进电机的转动,掌握步进电机的工作原理和控制方法。

具体目标包括:1. 理解步进电机的工作原理和结构特点;2. 掌握步进电机的控制方式和驱动电路设计;3. 通过编写程序实现步进电机的正转、反转和定位功能;4. 分析实验中可能遇到的问题,并提出解决方案。

二、实验原理步进电机是一种将电脉冲信号转化为机械转动的电动机。

它由定子、转子和驱动电路组成。

定子上有多个绕组,每个绕组上有若干个磁极。

转子上有多个磁极,与定子的磁极相对应。

通过改变绕组的通电顺序,可以使转子按一定的步距转动。

步进电机有两种常见的控制方式:全步进和半步进。

全步进模式下,每个步进脉冲使电机转动一个步距角度;半步进模式下,每个步进脉冲使电机转动半个步距角度。

在实验中,我们将使用全步进模式进行控制。

三、实验过程1. 设计驱动电路:根据步进电机的额定电流和电压,设计合适的驱动电路。

选择合适的功率晶体管和电流限制电阻,确保电机能够正常工作。

2. 连接电路:按照驱动电路的设计连接步进电机和微机。

注意接线的正确性和稳定性。

3. 编写控制程序:使用合适的编程语言编写步进电机的控制程序。

程序需要实现电机的正转、反转和定位功能。

4. 调试程序:通过调试程序,确保电机能够按照预期的方式工作。

可以通过改变电脉冲的频率和脉冲数来调整电机的转速和转动角度。

5. 实验结果记录:记录电机的转动角度、转速和实际运行情况。

分析实验结果,验证实验的准确性和可行性。

四、实验结果与分析经过实验,我们成功实现了步进电机的正转、反转和定位功能。

步进电机微机实验报告

步进电机微机实验报告

一、实验目的1. 熟悉步进电机的工作原理和特性。

2. 掌握通过微机控制步进电机的基本方法。

3. 了解步进电机在微机控制下的应用。

二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是步进角固定,控制精度高,响应速度快。

步进电机的工作原理是:当给步进电机输入一定频率的脉冲信号时,电机就会以一定的步进角进行旋转。

步进电机的控制方式主要有以下几种:1. 单相控制:将步进电机绕组分为A、B、C、D四相,每相依次通电,实现电机的旋转。

2. 双相控制:将步进电机绕组分为A、B两相,通过改变A、B两相的通电顺序,实现电机的旋转。

3. 四相控制:将步进电机绕组分为A、B、C、D四相,通过改变A、B、C、D四相的通电顺序,实现电机的旋转。

三、实验设备1. 微机:一台2. 步进电机驱动器:一台3. 步进电机:一台4. 编程软件:例如Keil、IAR等5. 连接线:若干四、实验内容1. 步进电机基本特性测试(1)观察步进电机在不同脉冲频率下的转动情况。

(2)观察步进电机在不同脉冲数下的转动角度。

2. 步进电机单相控制(1)编写程序,实现步进电机单相控制。

(2)测试步进电机单相控制下的转动情况。

3. 步进电机双相控制(1)编写程序,实现步进电机双相控制。

(2)测试步进电机双相控制下的转动情况。

4. 步进电机四相控制(1)编写程序,实现步进电机四相控制。

(2)测试步进电机四相控制下的转动情况。

5. 步进电机转速控制(1)编写程序,实现步进电机转速控制。

(2)测试步进电机在不同转速下的转动情况。

6. 步进电机转向控制(1)编写程序,实现步进电机转向控制。

(2)测试步进电机正转和反转的情况。

五、实验步骤1. 连接步进电机驱动器和步进电机。

2. 在微机上编写程序,实现步进电机的基本控制。

3. 编写程序,实现步进电机单相、双相、四相控制。

4. 编写程序,实现步进电机转速和转向控制。

5. 运行程序,观察步进电机的转动情况。

步进电机调速实验

步进电机调速实验

肇庆学院光机电一体化综合性实验实验报告学院:电子信息与机电工程学院课程:微型计算机控制技术级糸班别:13级电气2班姓名:梁智健学号:201324122202指导老师:陈显明实验地点:后山金工楼3楼电工实验室实验日期: 2015年12月7日________________________________________ 实验一步进电机调速实验一、实验目的掌握步进电机的控制方法二、实验设备TDN86/88+教学实验系统一台三、实验原理及接线步进电机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

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

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。

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

1、本实验使及35BY146型四项八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下图:实验线路8255B口输出电平在各步中的情况如下:2.实验程序及流程STACK SEGMENT STACKDW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 01H,03H,02H,06H,04H,0CH,08,09H ;步进电机对应步值(1-8) DATA ENDS ;即8255 B口输出值CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMAIN:MOV AL,90H ;初始化8255 B 口为输出OUT 63H,ALA1:MOV BX,OFFSET TABLEMOV CX,0008H ;步进电机步数为8A2:MOV AL,[BX] ;8255输出OUT 61H,ALCALL DALLY ;调Dally延时程序INC BXLOOP A2JMP A1DALLY: PUSH CXMOV CX,5000H ;在此可改变步间延时值,只需增T1:PUSH AX ;减输入到CX中的值POP AXLOOP T1POP CXRETCODE ENDSEND START四、实验内容及步骤(1)按图接线:(2)输入程序,将宏汇编程序经过汇编,连接后形成.EXE文件装入系统,也可直接从软盘中调用EXP3.EXE文件。

微型计算机原理步进电机实验

微型计算机原理步进电机实验

微型计算机原理步进电机实验一、实验目的掌握步进电机的基本工作原理和控制方法,理解步进电机与微型计算机的接口原理。

二、实验器材1.电脑2.步进电机3.驱动器电路板4.接口电缆5.实验面包板6.杜邦线7.电源三、实验步骤1.搭建电路连接:将步进电机与驱动器电路板连接,然后将驱动器电路板与微型计算机的接口电缆连接。

2.编写控制程序:使用任何一种编程语言,编写通过微型计算机控制步进电机的程序。

3.载入程序:将编写好的控制程序载入微型计算机。

4.运行程序:执行控制程序,观察步进电机的运动情况。

四、实验内容1.观察步进电机是否正常运转。

2.改变控制程序中的参数,例如步进角度和转速,观察步进电机的运动情况。

3.尝试通过控制程序改变步进电机的运动方向。

4.尝试同时控制多个步进电机。

五、实验原理步进电机是一种能够按照指令进行旋转的电机。

它可以精确控制转动角度和转速,适用于需要精确定位的应用场景。

步进电机的控制通常使用驱动器来实现。

驱动器接受来自微型计算机的指令,然后根据指令来控制步进电机的转动。

步进电机的控制方法有多种,常见的有脉冲信号控制方法和磁场控制方法。

脉冲信号控制方法是通过给步进电机的控制端口发送不同的脉冲信号来实现转动控制;磁场控制方法是通过改变电磁铁的磁场来使步进电机转动。

在本实验中,我们使用脉冲信号控制方法来控制步进电机。

步进电机的转动是按照一定的角度来进行的,这个角度叫做步角。

步进电机通常有两种类型:单圈步进电机和多圈步进电机,它们的步角不同。

每接收到一个脉冲信号,步进电机就会转动一定的步角。

驱动器电路板通常有多个控制端口,用来接收控制信号。

控制信号可以是高电平或低电平的脉冲信号,通过给这些控制端口发送不同的脉冲信号,就可以控制步进电机的转动方向和转动步数。

六、实验问题与解答1.为什么要使用驱动器来控制步进电机?答:步进电机的控制需要精确的脉冲信号来实现转动控制,而微型计算机无法直接提供这种精确的信号。

微机步进电机实验报告

微机步进电机实验报告

一、实验目的1. 了解步进电机的工作原理,掌握其控制方式和调速方法。

2. 学习使用微机对步进电机进行控制,提高微机应用能力。

3. 培养实验操作和数据分析能力。

二、实验设备及器件1. 微机一台2. 步进电机驱动器一台3. 步进电机一台4. 电源一个5. 连接导线若干三、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,具有定位精度高、响应速度快、控制简单等优点。

步进电机的工作原理是利用电机的磁极与定子磁极之间的磁力相互作用,通过控制脉冲信号的输入,使电机产生相应的角位移。

步进电机的控制方式主要有以下几种:1. 单拍控制:每输入一个脉冲信号,电机转动一个步距角。

2. 双拍控制:每输入两个脉冲信号,电机转动一个步距角。

3. 四拍控制:每输入四个脉冲信号,电机转动一个步距角。

步进电机的调速方法主要有以下几种:1. 脉冲频率调速:通过改变脉冲信号的频率,实现电机转速的调节。

2. 脉冲宽度调速:通过改变脉冲信号的宽度,实现电机转速的调节。

3. 脉冲分配调速:通过改变脉冲信号的分配方式,实现电机转速的调节。

四、实验步骤1. 将步进电机驱动器连接到微机,确保连接正确。

2. 将步进电机连接到驱动器,确保连接牢固。

3. 将电源连接到驱动器,确保电源电压符合要求。

4. 编写程序,实现步进电机的控制功能。

5. 调试程序,观察步进电机的转动情况。

6. 分析实验结果,总结实验经验。

五、实验程序以下是一个简单的步进电机控制程序,实现单拍控制方式:```c#include <reg51.h>#define STEP_PIN P2 // 定义步进电机控制端口void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 123; j++);}void main() {while (1) {STEP_PIN = 0x01; // 输入第一个脉冲信号delay(100); // 延时STEP_PIN = 0x00; // 清除脉冲信号delay(100); // 延时}}```六、实验结果与分析1. 在实验过程中,通过改变脉冲信号的频率,实现了步进电机的调速。

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

微型计算机原理综合实验装题目:步进电机控制订线学院电子信息工程学院学科门类工学专业通信工程学号**********姓名孙姣指导教师侯顺艳2015年1 月7日目录一、实验目的………………………………………………..二、设计要求……………………………………………….三、设计原理……………………………………………….四、程序流程图……………………………………………五、程序源代码……………………………………………六、总结与体会……………………………………………. 参考文献…………………………………………………….一、实验目的1.1掌握微机原理程序设计方法,达到运用所学知识来应用于实践的目的;1.2培养学生查阅资料、使用工程设计标准、手册及编写设计技术的能力;1.3培养初步掌握设计开发产品的能力,了解微机控制系统的一般设计方法。

1.4掌握汇编语言在硬件编程方面的应用二、设计要求2.1外设电路要求设计电路,使其能够驱动步进电机转动,所需元件及器材由实验室提供,其中步进电机为35BYJ46型四相八拍电机,电压为DC12V,电源取自实验箱。

根据相应状态,利用数码管完成输出显示。

数据的输入采用键盘、输出采用实验箱上8255单元完成。

2.2程序要求编写程序,控制步进电机的运转,要求可调整步进电机运转的方向和速度。

选择合适的设计方案,并进行理论阐述。

编制相应的控制程序,要求有程序流程图,程序加注释。

绘制实现电路原理图,所有图纸均用计算机绘制。

三、设计原理3.1工作过程一、步进电机的概述及四相八拍步进电机的工作原理:步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。

步进电机的输入量是脉冲序列,输出量则为相应的增量位移或步进位移,正常运行情况下,它每转一周是有固定的步数。

该步进电机为四相八拍步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。

图1是该四相反应式步进电机工作原理示意图。

开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C 相绕组的磁极对齐。

而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。

依次类推,A、B、C、D四相绕组轮流供电,则转子会沿A、B、C、D方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单4拍b. 双4拍c. 八拍图2 步进电机工作时序波形图35BYJ46步进电机为四相八拍,其相序表如下:步序 PA3 PA2 PA1 PA0 对应A口输出值1 0 0 0 1 01H2 0 0 1 1 03H3 0 0 1 0 02H4 0 1 1 0 06H5 0 1 0 0 04H6 1 1 0 0 0CH7 1 0 0 0 08H8 1 0 0 1 09H步进电机的工作方式:35BYJ46 有四相ABCD,如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;也可以每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA"、"AB- ABC- BC- BCD- CD- CDA- DA- DAB",此时磁场旋转一周需要换相八次。

双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。

同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。

四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。

一般说来,步进电机控制系统需要以下部分,如图1 所示。

其中的脉冲发生器用于产生频率变化的脉冲信号; 脉冲分配器根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉_冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的运转,这些部分都可以由专门的电路来实现。

二、步进电机的驱动步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。

由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。

在实际应用中, 我们可以选择L298N 集成电路芯片作为35BYJ46 的驱动芯片。

但本次实验我们采用的是自行设计的驱动电路。

3.2编写步进电机汇编程序1、通过实验了解8255工作在方式0下的编程方法8255可编程并行接口芯片介绍8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式四、程序流程图本程序用8255的a口输出控制信息,经驱动电路实现对步进电机的速度和方向的控制。

程序中8255的地址段设置为200h~207h,控制键为0~9,正转速度分三档,分别由123控制;3为最高速度,反转速度分三档,分别由456控制,6为最高速度;78键为速度微调,分别在各档位速度的基础上小幅度调节速度的大小;0为停止键;9为退出键。

程序设计上用按键控制输出的延迟时间的大小来达到控制转速的目的。

程序流程图如下:五、实验程序ASTEP EQU 01H BSTEP EQU 02H CSTEP EQU 04H dstep EQU 08H CODE SEGMENT ORG 1000HASSUME CS:CODESTART :MOV DX,0FFDBH ;8255控制口地址MOV AL, 82H ;PA口输出,pB口输入OUT DX, AL ;写控制字K1:MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9H ;PB口地址IN AL,DX ;读开关状态TEST AL,01H ;PB0位(K1=0吗?)JNZ K2 ;不是零转K2JMP ZHENGFAST ;是零转ZHENGFASTK2: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,02H ;PB1位(K2=0吗?)JNZ K3 ;不是零转K3JMP FANFAST ;是零FANFASTK3: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,08H ;PB2位(K3=0吗?)JNZ K4 ;不是零转K4JMP FANLOW ;是零转FANLOWK4: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,04H ;PB2位(K3=0吗?) JNZ K1 ;是零转ZHENGKUAIJMP ZHENGLOWZHENGFAST:MOV BX,500H;设置初始延时时间 MOV DX, 0FFD8H;PA口地址MOV AL,CSTEPOUT DX,ALCALL DELAYMOV AL,CSTEP+DSTEPOUT DX,ALCALL DELAYMOV AL,BSTEPOUT DX,ALCALL DELAYMOV AL,BSTEP+CSTEPOUT DX,ALCALL DELAYMOV AL,DSTEPOUT DX,ALCALL DELAYMOV AL,ASTEP+BSTEPOUT DX,ALCALL DELAYMOV AL,ASTEPOUT DX,ALCALL DELAYMOV AL,DSTEP+ASTEPOUT DX,ALCALL DELAYJMP K1ZHENGLOW:MOV BX,1000H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平 OUT DX,ALCALL DELAY ;调延时MOV AL,ASTEP+DSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,CSTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP;DA输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1FANFAST:MOV BX,500H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平 OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,DSTEP+CSTEP;DA输出高电平OUT DX,ALCALL DELAYMOV AL,ASTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1FANLOW:MOV BX,1000H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,CSTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,DSTEP+ASTEP;DA输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1DELAY PROC NEAR ;延时子程序PUSH CXMOV CX,BXDELAY1:NOPLOOP DELAY1POP CXRETDELAY ENDP ; 延时子程序结束CODE ENDS ;代码段结束END START六、总结与体会本次试验不仅实现了步机的转动,还可以通过控制开关实现步机顺时针旋转、逆时针旋转、加快速度的转动和减慢的转动,通过本次程序设计加深了8255的工作原理,对课本知识有了进一步的了解与认知,通过这次试验收获很大。

相关文档
最新文档