步进电机—接口课程设计
- 格式:doc
- 大小:133.50 KB
- 文档页数:13
接口课程设计任务书学生姓名专业班级指导老师工作单位计算机学院题目:步进电机控制设计(C程序设计语言)一、内容:在MIFID微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启动和停止。
接口硬件电路图见说明书。
二、要求:1、控制步进电机运行的相序表存储在文件中。
2、按下SW1按钮,从文件中取出一个相序数据,从并行接口8255A的PA口输出,使步进电机运行。
相序数据在CRT上显示。
按下SW2按钮,步进电机运行停止。
3、SW1按钮的数字量由PC1输入,SW2按钮的数字量由PC0输入,4、设计程序运行时的界面友好。
三、进度安排:指导教师签名:年月日系主任(责任教师)签名:年月日一.设计目的和内容目的:通过步进电机控制实验,学习并行接口电路及其控制程序的设计原理与方法。
内容:在MIFID微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启动和停止。
接口硬件电路图见说明书。
要求:1、控制步进电机运行的相序表存储在文件中。
2、按下SW1按钮,从文件中取出一个相序数据,从并行接口8255A的PA口输出,使步进电机运行。
相序数据在CRT上显示。
按下SW2按钮,步进电机运行停止。
3、SW1按钮的数字量由PC1输入,SW2按钮的数字量由PC0输入,4、设计程序运行时的界面友好。
二、实验预备知识可编程并行接口8255是一个具有两个8位(A端口和B端口)和两个4位(C端口)并行I/O端口的芯片。
在与外设进行数据传输时,把A、B、C3个端口分为两组。
A组由A端口和C端口的高4位组成。
B组由B端口和C端口的低4位组成。
为了满足多种数据传输的要求,可以通过对8255的编程用方式控制字设置3种工作方式来实现。
这3种工作方式为:方式0(基本I/O工作方式);方式1(选通I/O工作方式);方式2(双向传送方式)。
8255的控制字有工作方式控制字和C端口的位置位/复位控制字。
工作方式控制字是必须要预先设定的,C端口的位置位/复位控制字可视需要而定。
步进电机控制PLC课程设计一、课程目标知识目标:1. 学生能理解步进电机的原理、结构和应用场景;2. 学生能掌握PLC在步进电机控制中的编程方法和技巧;3. 学生了解步进电机与PLC接口的硬件连接和调试方法;4. 学生掌握步进电机速度、位置和加速度等参数的调整方法。
技能目标:1. 学生能运用所学知识,设计并实现简单的步进电机控制程序;2. 学生具备调试和优化步进电机控制系统的能力;3. 学生能够结合实际需求,选择合适的PLC和步进电机进行项目设计。
情感态度价值观目标:1. 培养学生对自动化控制技术的兴趣,激发学生学习热情;2. 培养学生团队协作、沟通表达的能力,提高学生的综合素质;3. 培养学生严谨、务实的科学态度,树立正确的价值观。
课程性质:本课程为实践性较强的课程,旨在让学生在实际操作中掌握步进电机控制技术。
学生特点:学生具备一定的电气基础和PLC编程知识,对步进电机控制有一定了解。
教学要求:结合实际案例,以任务驱动的方式进行教学,注重培养学生的动手能力和创新能力。
通过本课程的学习,使学生能够将理论知识应用于实际项目中,提高学生的综合应用能力。
二、教学内容1. 步进电机原理与结构- 步进电机的分类、工作原理- 步进电机的结构特点及参数2. PLC在步进电机控制中的应用- PLC与步进电机的连接方式- 步进电机控制程序编写方法- PLC编程软件的使用3. 步进电机控制系统的设计与实现- 系统硬件设计:PLC选型、步进电机选型、接口电路设计- 系统软件设计:步进电机控制算法、PLC程序设计4. 步进电机控制系统的调试与优化- 系统调试方法与步骤- 常见问题及解决方法- 系统性能优化策略5. 实践项目案例分析- 案例一:简易步进电机控制系统设计- 案例二:复杂步进电机控制系统设计教学内容安排与进度:第一周:步进电机原理与结构第二周:PLC在步进电机控制中的应用第三周:步进电机控制系统的设计与实现第四周:步进电机控制系统的调试与优化第五周:实践项目案例分析及讨论教材章节关联:本教学内容与教材中“第三章 步进电机控制技术”和“第四章 PLC控制技术”相关章节紧密关联。
单片机课程设计 步进电机一、课程目标知识目标:1. 让学生掌握步进电机的原理、结构及其在单片机控制系统中的应用。
2. 让学生了解步进电机的控制算法,如细分驱动、变速控制等。
3. 使学生能够运用所学知识,设计简单的单片机控制步进电机系统。
技能目标:1. 培养学生使用编程软件(如Keil、Arduino等)编写单片机程序,实现对步进电机的控制。
2. 培养学生运用电路原理图设计、搭建单片机控制步进电机的硬件系统。
3. 培养学生动手操作、调试单片机控制步进电机系统的能力。
情感态度价值观目标:1. 激发学生对单片机控制技术及步进电机应用的兴趣,培养其创新意识和探索精神。
2. 培养学生团队协作意识,提高沟通与协作能力。
3. 培养学生严谨的科学态度和良好的工程素养,使其具备一定的项目实践能力。
课程性质分析:本课程为单片机课程设计,以实践操作为主,结合理论教学。
课程内容具有较强的实践性和应用性,旨在培养学生运用单片机技术解决实际问题的能力。
学生特点分析:学生已具备一定的单片机基础知识,具有一定的编程和电路设计能力。
但大部分学生对步进电机及其控制技术了解较少,需要通过本课程的学习,提高实际应用能力。
教学要求:1. 结合学生特点,注重理论与实践相结合,强化实践操作环节。
2. 采用项目驱动法,引导学生主动参与课程学习,培养其自主学习能力。
3. 注重课程评价,通过过程性评价和总结性评价相结合,全面评估学生的学习成果。
二、教学内容1. 步进电机原理与结构- 介绍步进电机的种类、原理及结构- 分析步进电机的技术参数,如步距角、静力矩等2. 步进电机控制技术- 讲解步进电机的控制方式,如单脉冲控制、细分控制等- 探讨步进电机的变速控制原理及实现方法3. 单片机与步进电机接口技术- 介绍单片机与步进电机接口电路设计- 分析常用的步进电机驱动芯片及其应用4. 步进电机控制程序设计- 指导学生使用编程软件(如Keil、Arduino等)编写步进电机控制程序- 讲解程序设计中的关键算法,如PID控制、速度规划等5. 单片机控制步进电机系统实践- 布置实际项目任务,让学生动手搭建单片机控制步进电机系统- 指导学生进行系统调试,分析并解决实际问题6. 课程总结与评价- 对所学内容进行总结,巩固知识点- 进行课程评价,检验学生学习成果教学内容安排与进度:第1-2周:步进电机原理与结构、步进电机控制技术第3-4周:单片机与步进电机接口技术、步进电机控制程序设计第5-6周:单片机控制步进电机系统实践、课程总结与评价教材章节关联:本教学内容与教材中“步进电机控制技术”章节相关,涉及的内容包括步进电机原理、接口技术、控制程序设计等,为教材内容的拓展与实践。
三相反应式步进电机驱动接口电路设计及应用步进电机是一种常见的可控电机,具有精确定位、转速可调、高转矩等特点,广泛应用于机器人、自动控制、数码设备等领域。
步进电机的驱动接口电路设计及应用十分重要,下面我们来详细探讨。
一、步进电机驱动接口电路设计1.电源驱动电路:步进电机通常需要外部电源供应,可以采用直流电源或者脉冲电源进行驱动。
直流电源一般要求电压稳定,电流大。
脉冲电源则需要通过脉冲信号来驱动电机。
2.信号输入电路:为了控制步进电机的转动,需要提供脉冲信号。
脉冲电平可以通过逻辑电平(如TTL)或者模拟电平(如±10V)来实现。
通常采用驱动芯片或者控制器来提供脉冲信号。
3.驱动芯片:为了方便驱动步进电机,可以使用专门的驱动芯片,如L293D、ULN2003等。
这些芯片具有电流放大功能,可以通过控制输入脉冲信号驱动电机。
4.驱动方式:步进电机的驱动方式有很多种,如全步进、半步进、微步进等。
全步进是指每次脉冲信号驱动电机转动一个步距角,半步进是指每次脉冲信号驱动电机转动半个步距角,微步进是指通过改变脉冲信号的幅值和频率,使电机可以在一个步距角内有很多个等分位置。
根据具体应用需求选择合适的驱动方式。
5.保护电路:步进电机在工作过程中可能会遇到一些异常情况,如过电流、过压、过热等。
为了保护步进电机,可以在驱动接口电路中添加保护电路,如过流保护、过压保护、温度保护等。
这些保护电路可以减少电机的损坏。
二、步进电机驱动接口电路应用1.机器人:步进电机在机器人领域中广泛应用,用于控制机器人的运动。
通过合理设计步进电机驱动接口电路,可以实现机器人的精确定位和高速运动。
2.自动控制:步进电机可以用于自动控制系统中的位置和速度控制。
通过驱动接口电路,可以实现自动控制系统对步进电机进行精确的控制。
3.数码设备:步进电机常用于数码设备中,如打印机、扫描仪等。
通过合理设计步进电机驱动接口电路,可以实现数码设备的高速运动和精确定位。
三相反应式步进电机驱动接口电路设计及应用一、引言1.1 任务背景三相反应式步进电机作为一种常见的电动机类型,在自动控制领域有着广泛的应用。
为了有效地驱动步进电机,需要设计合适的电路接口,以满足电机的驱动需求。
1.2 文章目的本文旨在深入探讨三相反应式步进电机的驱动接口电路设计及应用,包括接口电路的设计原理、电路参数计算与选择、驱动控制方法等方面的详细内容,以帮助读者更好地理解和应用该类型电机。
二、接口电路设计原理2.1 三相反应式步进电机工作原理三相反应式步进电机是一种可控制的电动机,其工作原理基于磁场的变化。
通过依次激励电机的三个相,使得磁场按照特定的规律旋转,从而带动电机转动。
2.2 接口电路设计要求为了更好地驱动三相反应式步进电机,接口电路需要满足以下设计要求:1.提供足够的电流驱动电机,以确保电机能够正常运转;2.具备反应式特性,能够对电机的转速和加速度进行精确控制;3.具备保护电路,以防止电机因异常情况而受损。
三、接口电路设计与参数计算3.1 电源设计接口电路的电源需要提供足够的电流和稳定的电压以满足电机的需求。
电源设计可以参考以下步骤:1.根据电机的额定电流和额定电压,计算所需的功率;2.选择合适的电源模块或设计电源电路,以满足功率需求;3.考虑到电机的启动和加速所需的电流脉冲,电源的设计应提供额外的过电流保护。
3.2 电流驱动设计三相反应式步进电机的驱动电路需要提供足够的电流以驱动电机。
设计电流驱动可以参考以下步骤:1.根据电机的额定电流和相电压,计算所需的驱动电流;2.选择合适的功率放大器或驱动芯片,并根据计算结果进行参数配置;3.考虑到电流共享和失控状态的情况,设计过流保护电路。
3.3 反应式特性设计三相反应式步进电机具备反应式特性,即电机的运动速度和加速度可以被控制。
设计反应式特性可以参考以下步骤:1.根据电机转速和加速度的要求,计算所需的电流变化率;2.选择合适的控制算法和驱动电路,以实现期望的转速和加速度;3.考虑到反应速度和精度要求,设计反馈电路以提高控制性能。
微机原理及接口技术课程设报告题目步进电机转速实时控制学院电子信息工程学院专业学生姓名学号年级级指导教师职称二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闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理。
课程设计步进电机一、教学目标本课程的目标是让学生了解和掌握步进电机的基本原理和应用。
通过本课程的学习,学生应能理解步进电机的工作原理,掌握步进电机的选型和应用,并能够进行简单的步进电机控制系统设计。
具体来说,知识目标包括:1.了解步进电机的基本原理和结构。
2.掌握步进电机的选型方法和应用场景。
3.了解步进电机控制系统的组成和设计方法。
技能目标包括:1.能够进行步进电机的选型和参数计算。
2.能够设计和实现简单的步进电机控制系统。
3.能够对步进电机进行故障分析和维修。
情感态度价值观目标包括:1.培养学生对新技术的兴趣和好奇心。
2.培养学生勇于尝试和解决问题的精神。
3.培养学生对工程实践的热爱和责任感。
二、教学内容本课程的教学内容主要包括步进电机的基本原理、结构和选型方法,步进电机的应用场景和控制系统设计。
具体来说,教学大纲如下:1.步进电机的基本原理和结构:介绍步进电机的工作原理和主要组成部分,包括定子和转子等。
2.步进电机的选型方法:讲解如何根据实际需求进行步进电机的选型,包括电机类型、功率、转速等参数的确定。
3.步进电机的应用场景:介绍步进电机在各种场合中的应用,如机器人、数控机床等。
4.步进电机控制系统的组成和设计方法:讲解步进电机控制系统的组成,包括控制器、驱动器、电源等,以及如何进行控制系统的设计。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
通过讲授法,教师可以系统地讲解步进电机的基本原理和应用,帮助学生建立扎实的理论基础。
通过讨论法,学生可以积极参与课堂讨论,提高思维能力和解决问题的能力。
通过案例分析法,学生可以了解步进电机在实际应用中的具体情况,提高应用能力。
通过实验法,学生可以亲自动手进行实验,加深对步进电机原理和应用的理解。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。
汇编及接口技术课程设计题目:步进电机控制系统班 级: 学 号: 姓 名:时 间:成绩:目录1 设计任务与要求 (3)1.1设计任务 (3)1.2设计要求 (3)2 设计方案 (3)2.1设计思路 (3)2.2使用的芯片 (4)2.3芯片的作用 (4)3 硬件线路设计 (5)3.1线路图及连线说明 (5)4 软件设计 (5)4.1程序流程图 (6)5源程序清单与注释 (6)6 调试过程 (9)6.1实验步骤 (9)6.2出现的问题及解决的方法 (9)7.总结 (9)8.参考资料 (10)步进电机控制系统一、设计任务与要求1.1设计任务1.了解步进电机控制的基本原理。
2.掌握控制步进电机转动的编程方法。
3.进一步熟练8255的使用。
1.2设计要求1.开关K8控制电机的启动与停止:当K8向上拨时,电机启动,否则电机停止;2.开关K7控制电机的正反转。
3.开关K1~K6控制电机的转速:K1向上拨时,得到最低转速,…… K6向上拨时,得到最高转速。
4.在数码管上显示速度编号。
二、设计方案2.1设计思路步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
本实验使用的步进电机线圈由四相组成,驱动方式为二相激磁方式,如图4.1所示。
图4.1 步进电机原理图如表4.1所示,首先使HA线圈和HB线圈有驱动电流,接着使HB和HC、HC和HD、HD和HA,又返回到HA和HB有驱动电流,按这种顺序切换,电机轴按顺时针方向旋转。
表4.1 步进电机激磁方式相HA HB HC HD 顺序0 + + --1 -+ + -2 --+ +3 + --+注:当实验结束要立即关闭电源,否则一直停留在某一相上会使电机发热。
2.2使用的芯片8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
116//C语言程序段如下。
outportb(0x303,0x0e);delay(10);outportb(0x303,0x0f);又如,利用82C55A的PC6,产生方波,送到喇叭,使其产生不同频率的声音,其汇编语言程序段如下。
MOV DX,303H ;82C55A命令端口L: MOV AL,00001101B ;置PC6=1OUT DX,ALCALL DELAY1 ;PC6输出高电平维持的时间MOV AL,00001100B ;置PC6=0OUT DX,ALCALL DELAY1 ;PC6输出低电平维持的时间JMP L改变DELAY1的延时时间,即可改变喇叭发声的频率。
//C语言程序段如下。
outportb(0x303,0x0d); //写命令,置PC6=1delay(100);//调用延时程序,延时100msoutportb(0x303,0x0c); //写命令,置PC6=0delay(100);(3)关于两个命令的使用①两个命令的最高位(D7)都分配作为特征位。
设置特征位的目的是为了解决端口共用。
82C55A 有两个命令,但只有一个命令端口,当两个命令写到同一个命令端口时,就用特征位加以识别。
②按位置位/复位命令虽然是对C端口进行按位输出操作,但它不能写入做数据口用的C端口,只能写入命令口,原因是它不是数据,而是命令,要按命令的格式来解释和执行。
这一点初学者往往容易弄错,要特别留意。
7.4 步进电机控制接口设计例7.1 步进电机控制接口电路设计。
1.要求设计一个四相六线式步进电机接口电路,要求按四相双八拍方式运行,当按下开关SW2时,步进电机开始运行;当按下开关SW1时,步进电机停止。
2.分析按照两侧分析法,要对接口的I/O设备一侧,即连接的对象步进电机进行分析。
首先,CPU与步进电机之间的数据交换是无条件传输,因此可利用82C55A的0方式设计步进电机控制接口。
其次,本例题接口的被控对象是步进电机,那么,若想对步进电机实施控制,就要了解步进电机的控制原理及控制方法。
中南民族大学计算机科学学院课程设计报告课程单片机与接口课程设计设计题目开关控制的双八拍正反转步进电机年级专业学号学生姓名指导教师2009年12 月29 日课程设计量化评分标准指指导导老老师师评评语语::设计题目:开关控制的双八拍正反转步进电机一、要求控制四相六线制步进电机按照双八拍运行方式运行,当按下开关K1时电机正转,按下开关K2时电机反转,断开时电机停止.二、分析1.步进电机控制原理步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器.步进电机旋转的角位移与输入脉冲的个数成正比,步进电机的转动方向与输入脉冲对绕组加电的顺序有关。
因此,步进电机旋转的角位移,转速以及方向均受输入脉冲控制。
2.运动方式的控制步进电机的运行方式是指各相绕组循环轮流通电的方式。
本设计要求为双八拍AB-ABC-BC-BCD-CD-CDA-DA-DAB运行方式。
用8255A的PA 口作为数据线连接,将各相绕组的加电顺序的控制代码制成一张表-步进电机相序表。
步进电机相序表的建立要考虑两个因素:一是应根据步进电机运行方式的要求;二是步进电机的各相绕组与数据线连接的对应关系。
这意味着相序表中的加点代码与步进电机的运行方式及绕组与数据线的连接有关。
运行方式改变,加点代码也会改变。
本设计的加电代码如下:相序表3.步进电机运行速度的控制控制步进电机速度有两个途径:一是改变输入脉冲的频率,二是软件延时发。
采用软件延时发来改变步进电机的速度,虽然易行,但延时受CPU主频的影响,应该指出的是步进电机的运行速度还受本身矩-频特性的限制,设计时应满足运行频率与负载力矩之间的确定关系。
本设计中采用调用延时子程序的方式控制步进电机的运行速度。
4.步进电机的启停控制为控制步进电机的启停,本电路采用设置硬开关的方法,改变开关K1的状态,电机正转,改变开关K2的状态,电机反转。
恢复原状态,电机停止。
三、设计1、硬件设计步进电机接口的硬件部分主要是提供输送相许代码的并行数据线,接口电路以8255A为主芯片,将PA口作为数据口,传送加点代码。
硬件连接图如下:步进电机硬件连接图按图连好实验线路图,8255的PA0、PA2、PA4、PA6分别接步进电机的HA孔、HB孔、HC孔、HD孔。
PB0和PB1分别接开关K1、K2。
2、软件设计实现步进电机的运行方式和速度以及启停控制,是接口软件设计的主要任务。
在编程之前,需要建立一个相序表,相序表的建立应根据步进电机运行方式的要求及绕组与8255A连接情况来确定加电代码。
根据硬件电路的连接情况,可以写出相序表中双八拍运行方式的加电代码为05H,15H,14H,54H,50H,51H,41H,45H。
步进电机控制程序流程图如下:程序清单:CODE SEGMENT ;BJ.ASM ASSUME CS: CODEIOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1630HSTART: JMP START0BUF DB ?,?,?,?,?,?KZ DB ?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1H START0: CALL BUF1MOV AL,88H ;初始化8255MOV DX,IOCONPTOUT DX,ALredikey: CALL dispkeyMOV AL,82H ;设置8255的工作方式,PA输出,PB输入MOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DX ;读取PB口内容MOV KZ,AL ;PB口内容送KZcmp KZ,01h ;KZ内容与01h比较JZ ZZ ;相等则跳转到正转子程序,不等则往下执行cmp KZ,02h ;KZ内容与02h比较JZ FZ ;相等则跳转到反转子程序,不等则往下执行cmp KZ,03h ;KZ内容与03h比较JZ STX ;相等则跳转到停止子程序,不等则往下执行JMP REDIKEY ;与01h、02h、03h都不等则循环STX: JMP STVZZ: CALL BUFZ ;电机正转子程序ZZ1: MOV DX,IOAPT ;往PA口送正传加电代码MOV AL,05HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,15HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,14HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,54HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,50HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,51HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,41HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,45HMOV DX,IOAPTOUT DX,ALCALL DELPZJMP ZZ1;-------------------------FZ: CALL BUFF ;电机反转子程序FZ1: MOV DX,IOAPT ;往PA口送反转加电代码 MOV AL,45HOUT DX,ALCALL DELPFMOV AL,41HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV DX,IOAPTMOV AL,51HOUT DX,ALCALL DELPFMOV AL,50HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,54HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,14HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,15HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,05HMOV DX,IOAPTOUT DX,ALCALL DELPFJMP FZ1 ;循环;-----------------STV: CALL BUFSMOV DX,IOAPTMOV AL,00HOUT DX,ALST1: call dispkey ;检测在在停止过程中开关是否改变状态cmp KZ,01hJZ ZZMON ;若变为1,则正转cmp KZ,02hJZ FZMON ;若变为2,则反转JMP ST1delpZ: mov cx,02hcon1: push cxCALL dispkey ;检测在正转过程中开关是否改变状态 pop cxcmp KZ,02hJZ FZMON ;若变为2,则反转cmp KZ,03hJZ STMON ;若变为3,则停止loop con1RETdelpF: mov cx,02hcon2: push cx ;堆栈CALL dispkey ;检测在反转过程中开关是否改变状态 pop cxcmp KZ,01hJZ ZZMON ;若变为1,则正转cmp KZ,03hJZ STMON ;若变为3,则停止loop con2RETZZMON: POP CX ;出栈JMP ZZ ;转正转FZMON: POP CXJMP FZ ;转反转STMON: POP CXJMP STV ;转停止;-------------------------dispkey: call disp ;调用显示程序并读取PB口内容送KZ MOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV KZ,ALRETdata2: db 07h,04h,08h,05h,09h,06h,0ah,0bhDB 01h,00h,02h,0fh,03h,0eh,0ch,0dhDISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: 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 ;缓存区1MOV BUF+1,019HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,17HRETBUFZ: MOV BUF,0BH ;正转缓存区MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,0FHRETBUFF: MOV BUF,0BH ;反转缓存区MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,18HRETBUFS: MOV BUF,0BH ;停止缓存区MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,05HRETCODE ENDSEND START3、调试说明按图连接硬件电路,调用程序,编译运行后按下开始按钮,数码管显示“BJ------”,拨动开关K1,则电机正转,数码管有相应显示”BJ------Z”;拨动开关K2,则电机反转,数码管显示“BJ-----F";恢复开关初始状态,则电机停止,数码管有相应显示。
4、设计结果及错误分析设计结果:开关是初始状态为高电平,当数码管显示“BJ-----”后,拨动开关K1为低电平时,电机正转,拨动开关K2为低电平时电机反转,当两开关都恢复高电平时电机停止转动。
错误分析:(1)最初修改加电代码时,由于没有结合相应的硬件连接,我们把PA0—PA3分别与电机的HA—HD孔连接,而相序表中的加电代码是05H,15H,14H,54H,50H,51H,41H,45H,调试后未能成功运行步进电机,后经检查接线及相序表的对照,发现加电代码与硬件连接不对应。