基于8086的步进电机控制课程设计

合集下载

基于8086的步进电机控制系统设计2说明书内容

基于8086的步进电机控制系统设计2说明书内容

目录一、电路总体设计 (2)1.1系统功能与实现方式 (2)1.2系统的总体组成 (2)二、各部分电路原理图设计 (3)2.1 8086最小方式系统 (3)2.2存储器的设计 (4)2.3步进电机控制电路 (6)2.4键盘和显示电路 (8)三、设计心得与总结 (9)四、参考资料 (9)一、电路总体设计1.1系统功能与实现方式该系统采用8086最小方式,用8255作为接口芯片,用于连接控制步进电机的变频控制器,芯片62256和2764分别作为数据存储扩展芯片和程序存储扩展芯片,步进电机的工作时间控制由82C54芯片来确定,步进电机的工作方式由按键板块接收操作信号,然后由程序判定并执行操作。

1.2系统的总体组成1)处理器芯片选用8086,当8086的MN/MX引脚接+5V电压时,8086工作在最小方式下:时钟发生器采用82C54芯片主微处理器CPU选用8086芯片数据收发器用来对数据进行缓冲和驱动,并控制数据发送和接收方向,向CPU传送I/O的数据或向IO传送CPU提供的数据。

同样由于8086中数据线只有8条,所以数据收发器只要一个8286就可以了。

地址译码器用74LS138,用地址线直接控制。

在最小方式下,8086CPU会直接产生全部总线控制信号。

2)只读存储器采用ROM芯片2764,随机存储器62256。

3)8255和82C54去控制步进电机4)键盘控电路5)时钟电路、加电复位和复位电路。

6)地址分配:8255: 00100---001FF2764: 01000---01FFF62256: 04000---07FFF键盘相关:100H—103H显示相关:140H—141H步进电机相关:200H—207H功能描述:在最小方式下,8086CPU产生全部总线控制信号,由2764和62256构成了8k的ROM和32KB 的RAM,在此基础上,分别实现接口逻辑。

本系统采用8086位处理器工作在最小方式系统下,采用8282、8286、8284构成了最小系统,形成总线逻辑。

微机原理课程设计基于8086

微机原理课程设计基于8086

学号:HEBEI UNITED UNIVERSITY微机原理课程设计说明书设计题目:八路竞赛抢答器学生姓名:专业班级:学院:指导教师:2012年11月22日成绩评定表摘要现在很多地方都可能会有各种智力竞赛,当遇到抢答环节时,如果要求主持人自己去用肉眼观察哪一个选手抢答的速度最快无疑会对比赛结果造成很大的影响,同时使比赛失去了公平和公正性,这时候我们想到了抢答记分器是必要设备。

数字抢答器由主体电路与扩展电路组成。

用我们刚刚学过的汇编语言编写程序模拟分析了竞赛中抢答系统的运用,结合竞赛的实际情况阐述了抢答系统的工作原理,给出了一种简单实用的多路抢答系统的硬件、软件电路设计方案。

该系统适用于竞赛中的抢答环节。

现假定竞赛中共有八名选手,主持人宣布抢答开始后,进入倒计时,倒计时间为10秒,10秒内若有选手按下抢答按钮,则倒计时结束,屏幕显示最先抢答选手的号码;若10秒内无人抢答,则该轮抢答结束。

当主持人按下复位按钮时,屏幕显示清零,等待下一轮抢答。

本课题设计了一种采用8255芯片和汇编语言制作的多功能抢答器,实验箱中的开关区和数码显示区共同完成。

主要功能:1.倒计时10秒 2.用LED数码管显示1-8号选手先按下键者的号码。

它除了具有基本的抢答功能之外,和数显的功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设的,期间有人抢答的话系统会停止计时,如果期间没人抢答,系统自动锁存直到主持人按下复位键。

AbstractNow many places may have a variety of intellectual competition responder, when link, if ask themselves to see with the unaided eye which one contestant vies to answer first the fastest will undoubtedly have great impact on the outcome of the game, the game lost fair and justice, at that time we thought the answer scoring apparatus is necessary equipment. The figure vies for the answering device extended from the main circuit and the circuit. We have just learned with the assembly language program to simulate and analyze the race responder system used, combined with the actual situation of competition elaborated vies to answer first the working principle of the system, this paper presents a simple and practical the responder system hardware, software design. The system is applicable to contest Responder link. It is assumed that the race a total of eight players, the host announced the answer after the start, entered the countdown, countdown time of 10 seconds, 10 seconds if the contestant to answer in the button pressed, the end of the countdown, the screen display first player answer number; if nobody answer the question within 10 seconds, the wheel the answer in the end. When the host press the reset button, the screen display clear, waiting for the answer in the next round.The task of designing a method using 8255 chip and assembly language produced by multi-functional responder, the experimental box switch region and digital display area together. Main function: 1 countdown 10 seconds 2 with LED digital tube display 1-8 player to press the number keys. It has a basic responder function, and digital display function, when the answer after the start, the system will automatically countdown, and the time can be preset, during the answer words system will stop the clock period, if no answer, the system automatically latched until the host press the reset button.目录前言 (6)第一章八路竞赛抢答器的设计要求与设计案 (7)1.1 八路竞赛抢答器方案的选择与比较 (7)1.2 八路竞赛抢答器的元件选择 (7)第二章八路竞赛抢答器的硬件设计 (9)2.1 八路竞赛抢答器的硬件框图 (9)2.2 显示电路设计 (9)2.3 抢答电路设计 (9)2.4 开始、复位开关控制电路设计 (10)2.5 可编程并行接口8255及其引脚说明 (11)2.6 8086及引脚说明 (13)第三章八路竞赛抢答器的软件设计 (21)3.1 主程序流程图 (21)3.2 显示模块程序设计 (21)3.3 延时模块程序设计 (22)3.4 开始模块程序设计 (22)3.5 复位模块程序设计 (23)第四章设计体会与小结 (24)4.1 总结设计体会与心得 (24)第五章参考文献 (25)附录一 (26)附录二 (27)前言微机接口课程设计是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。

微机原理课程基于80x86的步进电机控制系统

微机原理课程基于80x86的步进电机控制系统

微机原理课程基于80x86的步进电机控制系统《微机原理与接口技术》课程设计姓名:厉小洋学号:0945533117班级:09电气1班专业:电气工程及其自动化学院:电气与信息工程学院江苏科技大学张家港校区2012年9月目录一理论部分 (2)1课题要求与内容 (2)2 系统方案设计 (3)3 系统硬件的设计 (4)4 系统软件设计 (5)二实践部分 (6)1 系统硬件原理简介 (6)2 系统硬件调试中出现的问题及解决措施 (10)3 系统软件 (11)3.1 软件设计 (11)3.2软件调试中出现的问题及解决措施 (14)三附录 (15)题目:《基于80x86的步进电机控制系统》第一章、理论部分一微机原理课程设计课题要求与内容内容要求:(1)使用8255A控制步进电机的运转。

(2)使用数码管LED显示速度的大小。

(3)使用8253定时器调节速度的大小。

(4)使用4个独立按键控制步进电机,即“正传”、“反转”、“停止”、“调速”。

(5)使用8259A产生中断控制按键;(6)使用DAC0832显示速度的波形。

拓展功能:(1)按键部分可以增加“加速”、“减速”等功能;(2)考虑可以加蜂鸣器来区分“正转”和“反转”;(3)其他可以有自己特色的功能均可。

二系统方案设计在课程要求的前提下,步进电机为四相八拍步进电机,这样可以用8255的一个端口控制电机的驱动,LED显示为十六位图1系统流程图在8255中可用两个端口控制,按键单元可与电机共用一个八位端口,由8254产生可编程脉冲,进入8259产生中断,反馈给80x86,控制8255。

再执行到步进电机及其LED显示上,一个脉冲步进电机一拍。

由按键读入系统状态。

具体的系统设计如图1为系统概况流程图三系统硬件设计在硬件设计中,主要是通过步进电机模块、8255模块、LED模块、8254模块。

在8255芯片上用A,B口控制数码管的显示(A为位选B为段选),C口的高四位为四个按键单元,低四位作为输出,控制步进电机。

基于8086的步进电机控制课程设计论文

基于8086的步进电机控制课程设计论文

目录1 课程设计的目的 (1)2课程设计的任务与要求 (1)3设计方案与论证 (1)4 设计原理及功能说明 (2)4.1励磁线圈及其励磁顺序 (3)4.2工作原理 (3)4.3 8086 CPU (5)4.4 8255工作方式选择 (6)4.5 ULN2003A (6)4.6 74LS273 (6)4.7 74LS138 (6)5单元电路的设计(计算与说明) (8)6硬件的制作与调试 (10)7总结 (11)参考文献 (12)附录1:总体电路原理图 (13)附录2:元器件清单 (13)附录3:源程序代码 (14)1 课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

体会系统整体设计的流程与方法,为以后系统级设计积累经验。

培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

2 课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02. 通过开关K2来选择步进电机的正转与反转;03. 通过开关K3,K4组成(2-4译码)四档电机转速选择;04. 对每只开关的选择情况同时通过4位8段数码管来显示;05. 扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。

8086微机应用DAC0832控制小直流电机转速的设计

8086微机应用DAC0832控制小直流电机转速的设计

课程设计任务书2009~2010学年第1学期一、设计题目8086微机应用DAC0832控制小直流电机转速的设计二、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。

通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。

三、设计内容与要求1、内容采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。

2、设计要求(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在报告书中综述之。

(2)、设计系统的硬件连接原理图,对原理图加以说明。

(3)、画出程序框图,并说明。

(4)、编写应用程序,并注解程序。

(5)、提交课程设计说明书。

四、设计资料与参数1、电机转速由8个按钮开关以补码形式给定输入,并以发光二极管形式显示出来。

电机的转速变化范围为反向500 rpm~正向500rpm;2、DAC0832双极性电压输出控制原理,控制小直流电机以不同转速运行。

3、小直流电机额定电压为5V。

电源:5V由外部提供。

五、设计前准备DAC0832双极性电压输出控制原理自学DAC0832 是电流形式输出,当需要电压形式输出时,必须外接运算放大器。

根据输出电压的极性不同,DAC0832 又可分为单极性输出和双极性输出两种输出方式。

(1) 单极性输出。

DAC0832 的单极性输出电路如图一所示。

VREF 可以接±5V 或±10V 参考电压,当接+5V 时,输出电压范围是0V~-5V;当接-5V 时,输出电压范围是0V~+5V;当接+10V 时,输出电压范围是0V~-10V ;当接-10V 时,输出电压范围是0V~+10V。

若输入数字为0~255 ,则输出为:Uout =-VREF×D/256。

式中D为输入DAC0832的十进制数,因为转换结果Ioutl 接运算放大器的反相端,所以,式中有一个负号。

步进电机控制课程设计

步进电机控制课程设计

步进电机控制 课程设计一、课程目标知识目标:1. 让学生理解步进电机的原理与结构,掌握其工作方式;2. 使学生掌握步进电机控制的基础知识,包括驱动电路的设计与控制算法;3. 引导学生了解步进电机在自动化设备中的应用。

技能目标:1. 培养学生能够运用所学知识进行步进电机的选型与安装;2. 培养学生具备编写步进电机控制程序的能力,实现电机的精确控制;3. 提高学生动手实践能力,能够独立完成步进电机控制系统的搭建与调试。

情感态度价值观目标:1. 培养学生对步进电机控制技术的兴趣,激发学生学习热情;2. 培养学生具备团队协作精神,能够在小组合作中发挥个人优势;3. 引导学生认识到步进电机控制技术在工业自动化中的重要性,树立科技创新意识。

分析课程性质、学生特点和教学要求:本课程为电子技术及应用领域的一门实用课程,针对高年级学生,他们在前期已经掌握了电子技术基础知识,具备一定的实践能力。

本课程旨在进一步提高学生的实际操作能力,培养他们解决实际问题的能力。

课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果。

通过本课程的学习,学生能够将理论知识与实际应用相结合,具备步进电机控制系统的设计与实施能力,为将来的职业生涯打下坚实基础。

二、教学内容1. 步进电机原理与结构:- 步进电机的工作原理- 步进电机的分类及结构特点- 步进电机的性能参数2. 步进电机控制系统基础:- 驱动电路设计与原理- 控制算法原理及应用- 步进电机与控制器接口技术3. 步进电机控制程序编写:- 控制程序设计流程- 编程语言及开发环境选择- 步进电机控制程序实例4. 步进电机控制系统实践:- 步进电机选型与安装- 控制系统硬件连接与调试- 控制程序下载与运行5. 步进电机应用案例分析:- 步进电机在自动化设备中的应用案例- 案例分析与讨论- 创新设计与实践教学内容安排与进度:第一周:步进电机原理与结构学习第二周:步进电机控制系统基础学习第三周:步进电机控制程序编写学习第四周:步进电机控制系统实践操作第五周:步进电机应用案例分析及创新设计教材章节关联:《电子技术与应用》第四章:电机控制技术《自动化控制系统》第三章:步进电机及其控制系统教学内容确保科学性和系统性,结合课程目标,按照教学大纲安排和进度,使学生能够循序渐进地掌握步进电机控制相关知识。

8086微机课程设计

8086微机课程设计

8086微机课程设计一、课程目标知识目标:1. 理解8086微处理器的内部结构、工作原理及其指令系统;2. 掌握汇编语言编程的基本方法,能够编写简单的汇编程序;3. 了解存储器组织、I/O端口编程以及中断处理的相关知识;4. 掌握8086微机系统设计的基本流程和关键步骤。

技能目标:1. 能够运用汇编语言进行基本程序设计,实现数据的处理和逻辑控制;2. 能够分析和解决8086微机系统设计中遇到的问题;3. 能够运用所学知识,完成一个简单的微机系统设计项目。

情感态度价值观目标:1. 培养学生对计算机硬件和底层编程的兴趣,激发他们的学习热情;2. 培养学生的团队合作意识,使他们能够在项目实践中相互协作、共同进步;3. 培养学生勇于尝试、不断探索的精神,提高他们面对问题的解决能力;4. 引导学生认识计算机技术对社会发展的作用,培养他们的社会责任感和使命感。

本课程针对高年级学生,结合学科特点,注重理论与实践相结合。

课程目标旨在使学生掌握8086微处理器的基本知识和技能,培养他们在微机系统设计方面的实际操作能力,同时提高学生的情感态度价值观。

通过本课程的学习,为学生未来在计算机领域的发展奠定基础。

二、教学内容1. 8086微处理器内部结构及工作原理:包括CPU的架构、寄存器组、总线结构等;相关教材章节:第一章 8086微处理器概述。

2. 汇编语言编程:介绍汇编语言的基本语法、指令系统、伪指令等;相关教材章节:第二章 汇编语言编程基础。

3. 存储器组织与I/O端口编程:讲解存储器层次结构、I/O端口寻址方式及编程方法;相关教材章节:第三章 存储器组织与I/O端口。

4. 中断处理:阐述中断的概念、中断处理过程以及中断向量表的使用;相关教材章节:第四章 中断处理。

5. 微机系统设计:包括系统设计流程、硬件连接、软件编程等;相关教材章节:第五章 微机系统设计。

教学内容安排与进度:第一周:8086微处理器内部结构及工作原理;第二周:汇编语言编程基础;第三周:存储器组织与I/O端口编程;第四周:中断处理;第五周:微机系统设计实践。

基于8086的小型直流电机闭环调速系统PID控制设计

基于8086的小型直流电机闭环调速系统PID控制设计

微机原理课设报告目录一、需求分析与解决方案 (4)1.1 需求分析 (4)1.1.1实验题目 (4)1.1.2 实验题目问题分析 (4)1.2 解决问题的思路 (4)1.2.1 总体思路 (4)1.2.2 硬件设计器件选择 (4)1.2.3 软件整体思路 (6)二、硬件设计详解 (6)2.1 片选模块 (6)2.2 中断定时模块 (8)2.3 PWM发生模块 (9)2.4 调速模块 (10)2.5 测速模块 (11)2.6 参数显示模块 (11)2.7 电机驱动模块 (12)2.8 参数调整模块 (12)2.9串口通信模块 (13)三、软件设计详解 (13)3.1 下位机程序流程图 (13)3.2 下位机程序清单 (14)3.2.1宏定义 (14)3.2.2全局变量声明 (14)3.2.3 系统初始化 (15)3.2.4 主函数 (15)3.2.5 中断服务子程序 (16)3.2.6 显示子程序 (16)3.3 PID简介 (16)3.4 labview上位机制作 (17)3.5 辅助软件选择 (18)四、实验条件 (18)五、模块调试 (18)5.1 片选模块调试 (18)5.2 中断定时模块调试 (18)5.3 PWM发生模块调试 (19)5.4 调速模块调试 (20)5.5 测速模块调试 (20)5.6 参数显示模块调试 (21)5.7 电机驱动模块调试 (21)5.8 参数调整模块调试 (21)5.9 串口通信模块调试 (22)5.10 labview上位机的调试 (22)六、实验结果讨论及改进措施 (23)6.1实验结果讨论 (23)6.2 改进措施 (23)七、实验心得体会 (24)八、参考文献 (24)九、附录一(硬件电路图) (25)十、附录二(软件源代码) (25)小型直流电机闭环调速系统PID控制设计一、需求分析与解决方案1.1 需求分析1.1.1实验题目(1)、设计基于80x86微机接口控制电路;(2)、分别用C语言或汇编语言或VC++编程完成硬件接口功能设计;(3)、程序功能要求:电机速度由按键分段给定或电位器连续给定,计算机屏幕和数码管同步跟踪显示当前给定速度和电机实际运行速度,实现PID参数在线显示和修改。

基于8086的直流电机的控制

基于8086的直流电机的控制

目录一、直流电机控制的设计思路: (2)二、直流电机控制的硬件框图: (2)2.1并行I\O口输入、输出 (3)2.2输出锁存 (3)2.3电机驱动模块 (4)2.4仿真模拟图 (5)三、软件设计 (6)3.1程序流程图 (6)3.2程序代码 (7)四、项目体会 (9)一、直流电机控制的设计思路:1)通过按键改变电动机的启动与停止,当启动后再由按键选择工作方式。

2)通过改变pwm的极性从而改变电机的转向,实现正反转。

3)可实现顺、逆旋转的直接切换,不用按下停止后再启动反向运转。

二、直流电机控制的硬件框图:通过按钮来控制电机的顺、逆时针转,并且可以实现顺、逆旋转直接切换,无需中间停顿。

2.1并行I\O口输入、输出采用8255A作为信号的输入与输出接口,使用前需设置芯片的控制字来确定其工作方式,以及端口的使用。

本次采用的控制字为90H,即A组工作在方式0,作为输入接口,连接按钮,B组工作在方式0,作为输出接口连接电机驱动模块。

8255AI\O接口使用2.2输出锁存使用常见的74HC373芯片来实现输出锁存,由于按钮具有复位功能,当按钮按下后的一瞬间才产生输入,所以需要输出锁存来保持电机的连续运转,本次采用两块74HC373,一块与8255A的A0、A1口连接作为电机运行信号的控制,另一块与3-8译码器74H138相连,接入8255A的片选信号输入端,选中8255A运行。

74H373接口使用2.3电机驱动模块通过对IN1、IN2的状态改变来控制L293D芯片的输出,从而实现电机的顺、逆时针转动电机驱动模块2.4仿真模拟图三、软件设计3.1程序流程图当按下按键时,检测A口是否为01H,若是即跳转到子程序MOT1,实现电机顺时针旋转,否则检测A口是否为02H,若是即跳转到子程序MOT2,实现电机逆时针旋转,否则检测A口是否为04H,若是即跳转到子程序MOT3,使电机停止转动。

再进入循环。

3.2程序代码CODE SEGMENT 'CODE'ASSUME CS:CODE,SS:STACK,DS:DATA ;定义数据段IOCON EQU 8006HIOA EQU 8000HIOBEQU 8002H 定义端口的地址 IOC EQU 8004HSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV AX, TOP1MOV SP, AXMOV AL,90H A 口为输入,B 口为输出 MOV DX,IOCON 控制字设置,AB 端口为“0”方式下,控制字10010000B OUT DX,AL NOP NOP TEST_BU:MOV DX,IOA IN AL,DX 检测总线系统 MOV DX,IOA IN AL,DX NOP test_1: TEST AL,01HJE MOT1 test_2: TEST AL,02HJE MOT2 test_3: TEST AL,04HJE MOT3 JMP TEST_BU MOT1:MOV AL,0FEHMOV DX,IOB 往B 端口中输出1111 1110B=0FEH 使电机顺时针旋转OUT DX,AL MOV DX,IOA IN AL,DX ;从A 口读入数据 TEST AL,02H ;测试是否等于0000 0010即按下逆时针按钮 JE MOT2 ;如果是按下逆时针按钮,则跳转到MOT2 TEST AL,04H JE MOT3 JMP MOT1 MOT2:MOV AL,0FDHMOV DX,IOB向B 端口中输入1111 1101B=0FDH使电机逆时针旋转 OUT DX,AL MOV DX,IOA IN AL,DX ;从A 口读入数据 TEST AL,01H 测试A 口数据是否为01H ,若是则跳到 JE MOT1 MOT1顺时针旋转模式 TEST AL,04H 测试A 口数据是否为04H,JE MOT3 若是则跳转到MOT3停止模式JMP MOT2 ;否则跳转到MOT2逆时针旋转模式 MOT3:MOV AL,0FFHMOV DX,IOB 向B 端口输出11111111B=0FFH 使电机停止 OUT DX,AL MOV DX,IOAIN AL,DX TEST AL,01H JE MOT1TEST AL,02H JE MOT2JMP MOT3CODE ENDSSTACK SEGMENT 'STACK' STA DB 100 DUP(?) TOP1 EQU LENGTH STA STACK ENDS DATA SEGMENT 'DATA' DATA ENDSEND START四、项目体会微机原理与接口技术的课程历时一个学期,通过自己编写、运行程序,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

步进电机控制的课程设计

步进电机控制的课程设计

步进电机控制的课程设计一、课程目标知识目标:1. 学生能理解步进电机的原理、结构和分类,掌握其工作方式及相关参数。

2. 学生能掌握步进电机控制的基础知识,包括驱动电路的原理和编程控制方法。

3. 学生能了解步进电机在不同应用场景中的选型和使用要点。

技能目标:1. 学生能运用所学知识,设计简单的步进电机控制电路,并进行调试。

2. 学生能编写简单的步进电机控制程序,实现电机的精确运动控制。

3. 学生能通过团队合作,解决实际工程问题,提高实践操作能力。

情感态度价值观目标:1. 学生对步进电机控制产生兴趣,激发学习动力,培养自主学习能力。

2. 学生通过课程学习,认识到科技进步对生活的改变,增强社会责任感和创新意识。

3. 学生在团队合作中,学会相互尊重、沟通协作,培养良好的团队精神和职业素养。

本课程针对高年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。

课程以实用性为导向,注重理论与实践相结合,旨在提高学生的动手能力、创新意识和团队合作精神。

通过本课程的学习,为学生后续相关课程和实际工作打下坚实基础。

二、教学内容1. 步进电机原理及分类:介绍步进电机的结构、工作原理、特点及分类,对应教材第3章。

- 磁阻式步进电机- 永磁式步进电机- 混合式步进电机2. 步进电机驱动电路:讲解步进电机驱动电路的原理、分类及设计方法,对应教材第4章。

- 驱动电路的原理- 驱动电路的分类- 驱动电路的设计方法3. 步进电机编程控制:介绍步进电机的编程控制方法,包括脉冲信号生成、运动控制算法等,对应教材第5章。

- 脉冲信号生成- 运动控制算法- 编程实践案例4. 步进电机应用与选型:分析不同场景下步进电机的应用和选型要点,对应教材第6章。

- 常见应用场景- 步进电机选型要点- 实际应用案例5. 实践环节:安排步进电机控制电路设计、编程控制及调试,对应教材第7章。

- 控制电路设计- 编程与调试- 团队合作实践教学内容按照以上大纲进行安排和进度规划,确保学生能够系统、全面地掌握步进电机控制相关知识,为实际应用奠定基础。

基于8086的计算机+步进电机控制

基于8086的计算机+步进电机控制

课程设计课程名称题目名称步进电机的角度控制(1)学生学院专业班级学号学生姓名指导教师2009年 6 月25日题目1:按要求控制步进电机,使步进电机每转360度停5秒;程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar step[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}void main(){int,I,j;outp(CON,0x81);while(1){for(j=0;j<12;j++){for(i=0;i<8;i++){outp(PC,step[i]);delay(5);}delay(200);}delay(5000);}}题目2:按要求实现键盘显示程序设计的程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,flag,num,key;uchar jiou;uchar a1,a2,a3,a4;void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);uchar keyscan();void main(){flag=0;jiou=0;outp(CON,0x81);while(1){display(a4,a3,a2,a1);key=keyscan();if(flag==1){flag=0;a4=a2;a3=a2;a2=a1;a1=key;}}}void display(uchar w4,uchar w3,uchar w2,uchar w1) {outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}uchar keyscan(){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=9;break;case 0x01:num=5;break;}while(temp!=0x03){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=0;break;case 0x01:num=6;break;}while(temp!=0x03){outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=1;break;case 0x01:num=7;break;}while(temp!=0x03){outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=2;break;case 0x01:num=8;break;}while(temp!=0x03){outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}return num;}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}题目3:测试AD转换器的性能程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,flag,num,key;uchar jiou;uchar a1,a2,a3,a4;void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);void main(){outp(CON,0x81);while(1){uint dat;outp(0x00,0x0d);dat=inp(0x00);a3=dat/16;a4=dat%16;display(0,0,a3,a4);dat=inp(0x00);}}void display(uchar w4,uchar w3,uchar w2,uchar w1){outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--); }题目四:步进电机的角度控制(1)设计的程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar step[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};uchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,num,key;uchar jiou;int max;uchar set,clr,start;uchar ge,shi,bai;int ge1,shi1,bai1;int xianshi;int adc();void clear();void dianji(int degree);void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);void keyscan();void main(){int tt,kk,chazhi;max=0;xianshi=0;tt=0;kk=0;chazhi=0;xianshi=0;jiou=0;ge=0;shi=0;bai=0;ge1=0;shi1=0;bai1=0;outp(CON,0x81);while(1){keyscan();if(set==1){ge=0;shi=0;bai=0;while(1){display(0,bai,shi,ge);keyscan();if(clr==1){clear();break;}if(start==1)break;}if(start==1){max=bai*100+shi*10+ge;while(clr!=1){kk=max/15*(adc())/0xff; //下一次的角度;tt=kk-(xianshi/15);//和上一次相差的度數;if(tt!=0)dianji(tt);keyscan();}clear();}}display(0,0,0,0);}}void display(uchar w4,uchar w3,uchar w2,uchar w1){bai1=xianshi/100;shi1=xianshi%100/10;ge1=xianshi%10;outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}void keyscan(){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:set=1;break;case 0x01:break;}while(temp!=0x03){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:clr=1;break;case 0x01:if(start==0){shi++;if(shi>9)shi=0;}break;}}while(temp!=0x03){outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:if(start==0){ge++;if(ge>9)ge=0;}break;case 0x01:start=1;break;}}while(temp!=0x03){outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:break;case 0x01:if(start==0){bai++;if(bai>9)bai=0;}break;}}while(temp!=0x03){outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}}void dianji(int degree) //电机程序,精度为15度{int i,j,k,l;if(degree>0){for(i=degree;i>0;i--){if(jiou==0){for(j=0;j<4;j++){outp(PC,step[j]);display(0,bai1,shi1,ge1);}jiou=1;goto loop_1;}if(jiou==1){for(k=4;k<8;k++){outp(PC,step[k]);display(0,bai1,shi1,ge1);}jiou=0;goto loop_1;}loop_1: xianshi=xianshi+15;display(0,bai1,shi1,ge1);}}if(degree<0){for(i=-(degree);i>0;i--){if(jiou==0){for(j=7;j>3;j--){outp(PC,step[j]);display(0,bai1,shi1,ge1);}jiou=1;goto loop_2;}if(jiou==1){for(k=3;k>-1;k--){outp(PC,step[k]);display(0,bai1,shi1,ge1);}jiou=0;goto loop_2;}loop_2: xianshi=xianshi-15;display(0,bai1,shi1,ge1);}}}void clear(){int huiwei;huiwei=-xianshi;huiwei=huiwei/15;if(huiwei!=0)dianji(huiwei);ge=0;bai=0;shi=0;xianshi=0;start=0;set=0;clr=0;}int adc() //ad转换函数{uint dat;outp(0x00,0x0d);dat=inp(0x00);display(0,bai1,shi1,ge1);dat=inp(0x00);return dat;}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}系统设计说明:此系统运行后,如果没有按set键,按其他键不起任何作用;当按下set后,可以由相应的个位键、十位键、百位键,以每按一次加一的形式输入任意三位数。

步进电机控制系统设计

步进电机控制系统设计

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

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

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

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统1、课程设计任务书1.1任务和目的 (4)1.2设计题目 (4)1.3内容和要求 (4)1.4列出使用元器件和设备清单 (4)2、绪论 (4)3、步进电机的总体方案 (6)4、步进电机的硬件设计 (7)4.1总体设计思路 (7)4.2电路原理图 (10)4.3线路连接图 (11)5、步进电机软件设计 (12)5. 1流程图 (12)5.2控制程序 (14)&调试说明 (19)6.1调试过程 (19)6.2调试缺陷 (19)7、总结收获 (19)8、参考文献 (20)附录:元器件及设计清单1. 课程设计任务书1.1任务和目的掌握微机硬件和软件综合设计的方法。

1.2设计题目步进电机控制系统设计1.3内容和要求1. 基本要求:控制步进电机转动,要求转速1步/1秒;设计实现接口驱动电路。

2. 提高要求:改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3挡);1.4列出使用元器件和设备清单8086cpu可编程并行接口8255指示灯键盘74LS138译码器驱动模块步进电机2. 绪论步进电机又称脉冲电动机或阶跃电动机,国外一般称为Step motor或Steeping motor、Stepper servo Steppe,等等。

步进电动机正反转控制系统设计..

步进电动机正反转控制系统设计..

课程设计报告题 目 步进电动机正反转控制系统设计课 程 名 称 微机原理及应用院 部 名 称 机电工程学院专 业 电气工程及其自动化班 级学 生 姓 名学 号课程设计地点 工科楼 C304课程设计学时 20指 导 教 师金陵科技学院教务处制摘要步进电机是工业生产过程控制及仪表中的主要控制元件之一。

在数字控制系统中,由于它可以直接接受计算机输出的数字信号,而不需要进行数/模/转换,用起来非常方便。

此次微机原理的课程设计,是对计算机系统和微处理器以及汇编语言、外围芯片的研究学习。

本设计就是基于8086CPU的微机控制,利用汇编语言、74273、74LS244芯片、ULN2003A驱动等综合应用实例,连接上硬件驱动电机电路,通过对按键输入信号的检测实施对步进电动机正反转的控制。

关键词:8086CPU;正反转;步进电机目录摘要……………………………………………………………………………………一、概述………………………………………………………………………………1.1 课程设计的目的………………………………………………………………1.2 课程设计的要求………………………………………………………………二、总体设计方案及说明……………………………………………………………2.1 系统总体设计方案……………………………………………………………2.2 系统工作框图…………………………………………………………………三、系统硬件电路设计………………………………………………………………3.1 8086微处理器的简介………………………………………………………3.2 74273和74LS244芯片的简介………………………………………………3.3 ULN2003A的简介…………………………………………………………3.4 步进电机的工作原理…………………………………………………………3.5 微型处理器最小控制模块…………………………………………………3.6按键输入模块………………………………………………………………3.7驱动电动机模块…………………………………………………………3.8系统电路原理图…………………………………………………………四、系统软件部分设计………………………………………………………………4.1 系统流程图……………………………………………………………………4.2 系统软件源程序………………………………………………………………五、课程设计体会…………………………………………………………………5.1 系统调试………………………………………………………………………5.2 问题分析与解决方案…………………………………………………………5.3 心得体会………………………………………………………………………六、参考文献…………………………………………………………………………附录:原理图……………………………………………………………………………一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

基于80C86步进电机控制系统设计与实现

基于80C86步进电机控制系统设计与实现
自动化, 2008, 22( 4) : 40- 40. [ 3] 徐进, 孙兴进. 步进电动机最佳变速控制的单片机实现[ J] . 上海电
力学院学报. 2000( 3) : 13- 16. [ 4] 周凯. 步进驱动系统的高精度闭环控制[ J] . 电机与控制学报, 1998
( 3) : 13- 16. [ 5] 刘少克, 陆胜旺. 计算机控制的步进电动机程序设计方法[ J] . 微特
图 8 启动方波发生器后步进电机相序图步
图 5 电源保护措施原理图
5 控制系统软件设计 根据控制系统的功能 需求, 软件 可以划 2) 通信模块; ( 3) 开环调焦控制模块; ( 4) 闭环调焦控制模块; ( 5) 运动位置信息采集模块。
6 实验及结论 通过实验测试以四相 八拍方 式驱动 步进电 机运动, 用 示波器 测试驱动电路相序波 形如图 7 所示。从 上到下 黄色波 形、绿色波 形、紫色波形、红色 波 形依 次为 电 机 A 相、B 相、C 相 、D 相波 形。 测试结果与理论设计一致, 波形无明显毛刺, 说明电机泻流回路工 作有效。方波发生器产 生占空 比和频率 可调的 波形后, 用 示波器 测试各个相序波形如 图 8 所 示。通过测 试结果 得出, 方波 发生器 产生方波信号后, 步进电机运行平稳, 振动明显减少。
图 1 步 进电机控制系统结构图 各组成部分的功能及工 作模式如下: ( 1) 80C86 微处 理器工作方式: 最小模式; ( 2) 硬件看门狗: 完成上电复位、异常复位; ( 3) 中断控制器 管理 2 个中 断, 包 括: 控制 定时 中断( 0. 5K ~ 1. 5K) ; 软件定时中断( 1ms~ 500ms) ; ( 4) 程序存储器 AT 28C010:32K ! 8 Bit,地址范围:F8000H FFFFFH; ( 5) SRAM 存储器存储容量:512K! 8 Bit; 地址范围:00000H 7FFFFH; ( 6) 计数器器件选用 INT ERSIL 公司的 82C54, 它是 16 位计数器, 设计中输入时钟频率为 2. 7456MHz, 计数器输出的频率范围为 41Hz~

8086控制电机

8086控制电机

工程训练计划书
实验需求:
唐都仪器实验箱(小型直流电机),ST89C51RD单片机系统板、PC机、等等。

实验方案简介:
利用单片机产生脉冲信号作为控制量,采用PWM方式调制,经驱动电路驱动电机运转。

霍尔测速元件经端口HR得到输出的脉冲信号记录电机转速构成反馈量。

在参数给定的情况下,经PID计算,电机可在控制量作用下,按给定转速运转。

实验利用PC机0#定时器通道,设置输出为1ms方波,作为采样时钟,产生PWM脉冲计时。

由HR端口脉冲信号计算出电机实际转速,2#定时器转速累加,送至数码管显示及单片机,经PID运算产生输出控制量。

通过独立按钮单元手动控制电机增速、减速、正反转、停止。

通过LCD数码管显示给定转速和电机实际转速。

预期效果:
通过手动控制控制电机运行状态,PID控制使电机实际转速跟随给定转速变化,按特定速度运行。

第12组组员简晟、周朋、张腾。

基于8086的直流电机控制.

基于8086的直流电机控制.

图 图 4动模块 IN1 IN2
电机状态
0
1
顺时针转
1
0
逆时针转
1
1
停止 如图2-1
4
通过对IN1、IN2的状态改变来控制L293D芯片的输出, 从而实现电机的顺逆时针转动。如图2-1.
程序流程框图: 当按下按键时,检测A口是 否为01H,若是即跳转到子 程序MOT1,实现电机顺时 针旋转,否则检测A口是否 为02H,若是即跳转到子程 序MOT2,实现电机逆时针 旋转,否则检测A口是否为 04H,若是即跳转到子程序 MOT3,使电机停止转动。 再进入循环。

• • •
JE MOT1
TEST AL,04H JE MOT3 JMP MOT2
; MOT1顺时针旋转模式
;测试A口数据是否为04H, ; 若是则跳转到MOT3停止模式 ;否则跳转到MOT2继续进行逆时针旋转模式
9/24/2017
电机停止子程序
• • • MOT3: MOV AL,0FFH MOV DX,IOB ;向B端口输出11111111B=0FFH使电机停止

• • • • • • •
9/24/2017
OUT DX,AL
MOV DX,IOA IN AL,DX TEST AL,01H JE MOT1 TEST AL,02H JE MOT2 JMP MOT3 ;若不是则检测是否输入为02H则转到MOT2逆时针旋转 ;否则转到MOT3继续进行停止模式 ; 检测A口是否输入为01H若是则转到MOT1顺时针旋转 ;从A口读出数据
;检测总线系统
;当检测到A口输入为01H时顺时针旋转 ;当检测到A口输入为02H时逆时针旋转 ;当检测到A口输入为04H时停止

8086的课程设计

8086的课程设计

8086的课程设计一、课程目标知识目标:1. 让学生掌握8086微处理器的结构、工作原理及主要性能特点。

2. 使学生了解8086指令系统,能正确运用汇编语言编写简单的程序。

3. 帮助学生理解内存管理、中断处理和I/O操作等基础知识。

技能目标:1. 培养学生运用汇编语言进行程序设计和调试的能力。

2. 使学生能够分析并解决8086微处理器在实际应用中遇到的问题。

3. 提高学生的动手实践能力,能独立完成基于8086的硬件系统搭建和编程。

情感态度价值观目标:1. 培养学生对计算机硬件和汇编语言的兴趣,激发学习热情。

2. 培养学生具备良好的团队合作精神和沟通能力,增强解决问题的信心。

3. 引导学生认识到计算机技术对社会发展的作用,树立正确的科技观。

课程性质:本课程为计算机硬件基础课程,以理论教学和实践操作相结合的方式展开。

学生特点:学生已具备一定的计算机基础知识和编程能力,但对硬件和汇编语言了解较少。

教学要求:结合学生实际情况,注重理论与实践相结合,强调实践操作,提高学生的实际动手能力。

通过本课程的学习,使学生能够掌握8086微处理器的基本知识,为后续相关课程打下坚实基础。

同时,注重培养学生的团队合作精神和沟通能力,提高学生的综合素质。

二、教学内容1. 8086微处理器概述:介绍8086微处理器的结构、工作原理及性能特点,对应教材第一章。

- 8086内部结构- 工作原理与性能参数- 8086的发展历程及其在计算机硬件中的应用2. 8086指令系统:学习8086指令的分类、格式及功能,对应教材第二章。

- 指令分类及格式- 常用指令介绍与示例- 汇编语言编程基础3. 内存管理:讲解内存的组织结构、地址空间分配及管理方法,对应教材第三章。

- 内存组织结构- 地址空间分配- 内存管理方法4. 中断处理:分析中断的类型、处理过程及中断向量表,对应教材第四章。

- 中断类型及处理过程- 中断向量表- 中断编程实例5. I/O操作:介绍I/O端口地址分配、编程方法及其应用,对应教材第五章。

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

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

学号: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进行该控制系统的仿真。

基于8086步进电机课程设计

基于8086步进电机课程设计

皖西学院本科课程设计步进电机电机控制设计摘要:8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface,PPI),它是为Intel系列微处理器设计的配套电路,也可以用于其他微处理系统中。

通过它进行编程,芯片可工作于不同的工作方式。

在微型计算机系统中,用8255A作为接口是时,通长常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道,因此它得到了极为广泛的应用。

其次步进电机具有快速启动和停止的能力,它的步矩角和转速不受电压波动和负载变化的影响,也不受环境条件如:温度、气压、冲击和振动等影响,仅与脉冲频率有关。

它每转一周都有固定的步数,在不丢失步的情况下运行,其步矩误差不会长期累积。

正因为步进电机具有快速启动、精确步进以及能直接接收数字量的特点,所以在定位场合中得到了广泛的应用。

比如在打印机中,数控车床、自动记录仪表、数模交换装置和计算机等数字控制系统中。

随着微机的发展,步进电机的使用领域将更加广阔。

本次设计正是利用并介绍了可编程并行I/O接口芯片8255A为8086CPU与步进电机之间提供数据通道,通过芯片的A口输入,B口输出的方式来实现控制步进电机的停转、快慢及正反转。

关键词:可编程并行I/O接口芯片8255A;8086CPU;ULN2003A驱动芯片;步进电机目录1 课程设计题目及课题分析 --------------------------------------------------------------------------- 11.1课程设计题目----------------------------------------------------------------------------------- 11.2步进电机介绍----------------------------------------------------------------------------------- 11.4软硬件运行环境及开发工具----------------------------------------------------------------- 12 步进电机控制系统各部件功能原理介绍--------------------------------------------------------- 22.1设计原理及实现方法-------------------------------------------------------------------------- 22.1.1 步进电机控制原理-------------------------------------------------------------------- 22.1.2微机步进电机控制系统原理图 ----------------------------------------------------- 22.1.3 运行方式与方向的控制——循环查表法 ---------------------------------------- 32.1.4步进电机的停转及快慢控制——设置开关 -------------------------------------- 42.2步进电机控制设计流程图-------------------------------------------------------------------- 53 步进电机控制系统软件编写与仿真 --------------------------------------------------------------- 63.1 硬件设计与实现 ------------------------------------------------------------------------------- 63.2仿真结果----------------------------------------------------------------------------------------- 63.2.1 并行接口I/O芯片8255A ----------------------------------------------------------- 63.2.2 驱动部分与步进电机----------------------------------------------------------------- 73.2.3步进电机与外部开关 ----------------------------------------------------------------- 83.2.4 仿真结果-------------------------------------------------------------------------------- 83.3软件设计----------------------------------------------------------------------------------------- 93.3.1正向慢转子程序 ----------------------------------------------------------------------- 93.3.2正向快转子程序 ----------------------------------------------------------------------- 93.3.3反向慢转子程序 ---------------------------------------------------------------------- 103.3.4反向快转子程序 ---------------------------------------------------------------------- 103.3.5长延时子程序-------------------------------------------------------------------------- 103.3.6短延时子程序-------------------------------------------------------------------------- 114 系统调试与操作说明 -------------------------------------------------------------------------------- 124.1系统调试---------------------------------------------------------------------------------------- 124.2 操作说明 --------------------------------------------------------------------------------------- 125 课程设计总结与体会 -------------------------------------------------------------------------------- 13 致谢------------------------------------------------------------------------------------------------------ 14 参考文件献 ----------------------------------------------------------------------------------------------- 15 附录步进电机控制系统源程序---------------------------------------------------------------------- 16皖西学院本科课程设计1 课程设计题目及课题分析1.1课程设计题目步进电机控制设计,运用汇编语言编写程序对8255A控制,通过emu8086编译成.com文件并载入8086CPU中并用74LS373、74LS130、ULN2003A等一些列芯片通过连接实现对步进电机的控制。

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

基于8086的步进电机控制课程设计西安电子科技大学《微型计算机原理》课程设计题目基于8086的步进电机控制学生姓名专业班级11级计嵌班学号 201院(系)信息工程学院指导教师完成时间年月日目录1 课程设计的目的 (1)2课程设计的任务与要求 (1)3引言 (1)4设计方案与论证 (2)5 设计内容及功能说明 (3)5.1 励磁线圈及其励磁顺序 (3)5.2工作原理 (4)5.3 8086 CPU …………………………………………………………………55.4 8255工作方式选择 (6)5.5ULN2003A (6)5.674LS273 (7)5.774LS138 (7)6单元电路的设计(计算与说明) (7)7硬件的制作与调试…………………………………………………………108总结……………………………………………………………………………12参考文献…………………………………………………………………………1 3附录1:总体电路原理图 (14)附录2:元器件清单 (14)附录3:源程序代码 (15)1 课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

体会系统整体设计的流程与方法,为以后系统级设计积累经验。

培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

2 课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02. 通过开关K2来选择步进电机的正转与反转;03. 通过开关K3,K4组成(2-4译码)四档电机转速选择;04. 对每只开关的选择情况同时通过4位8段数码管来显示;05. 扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。

3 引言步进电机的原理是基于最基本的电磁铁作用,其模型起源于1830年之1860年,1870年后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为是最初的步进电机,此后步进电机被广泛使用[1]。

步进电机是将脉冲信号转换成角位移或线位移的开环控制源步进电机件。

在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按固定的方向旋转一定的角度,称为:“步距角”,它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的角速度和加速度,从而达到调速的目的[2]。

步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。

目前,计算机外围设备,打字机,数控机床,传真机等设备,都使用了步进电机。

随着电子计算机技术的发展,步进电机必将发挥它的控制方便,准确控制的特点,在工业控制的领域取得广泛的应用。

4 设计方案与论证本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003.根据课题要求,用8086处理器和可编程并行接口芯片8255组成控制系统,控制步进电机正转、反转以及转速控制,步进电机不能直接由8255驱动,而需要用相应的驱动芯片,因此,控制系统直接控制电机驱动即可控制步进电机。

转向分别用逆时针转动片段转速和顺时针转动片段则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速快。

设计流程图如下:图4-1 总体设计流程图本步进电机控制系统通过四个键盘来控制步进电机的正转、反转、启动和停止以及转速,步进电机旋转的角度取决于键盘接通时间长短,接通时间越长,旋转角度越大,其功能表如表4—1所示。

表4-1 键盘功能表5 设计原理及功能说明在该步进电机控制系统中,需要接收键盘信息并识别,然后将数据传送给步进电机使步进电机旋转,采用8086CPU 和8255接口芯片是可行的[3],系统框图如图5-1图5-1系统方框图5.1 励磁线圈及其励磁顺序图5-2励磁线圈图表5-3励磁顺序表5.2 工作原理:4相步进电机示意图四相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成1 2 3 4 5 6 7 85 + + + + + + + + 4 - - - 3 - - - 2 - - - 1- - -图5-4电机定子和转子示意图图5-5电气连接示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。

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

图5-78255A向步进电机发出的控制脉冲5.3 8086 CPU:现将8086的引脚图和各引脚功能列出如下[4]:8086CPU的40条引脚信号可按功能分可分为四类,它们是:地址总线,数据总线,控制总线,其它(时钟与电源)。

在最小模式下各引脚功能(MN/MX接+5V):① AD15~AD0,地址/数据总线② A19/S6~A16/S3,地址/状态总线③ BHE/ S7,高8位数据允许/状态线④MN/MX,最小/最大模式控制信号,输入⑤RD,读信号⑥WR,写信号⑦M/IO,存储器/输入输出控制信号⑧ALE,地址锁存允许信号⑨READY(Ready),准备就绪信号⑩INTR,可屏蔽中断请求信号⑪INTA,中断响应信号⑫NMI,非屏蔽中断请求信号⑬RESET,系统复位信号⑭DEN,数据允许信号⑮DT/R,数据发送/接收控制信号⑯HOLD,总线保持请求信号输入⑰HLDA,总线保持响应信号⑱TEST,测试信号⑲CLK,时钟输入信号⑳VCC(+5V),GND5.4 8255工作方式选择:8255有三个数据端口(A口、B口、C口),8255有三种基本的工作方式,分别为:方式一(基本输入/输出方式),方式二(选通输入/输出方式),方式三(双向总线I/O方式)。

其中A口可选择三种方式中的任意一种,B口只能选择方式0或方式1,C口常用作两个4为端口,若工作于方式0,其高四位工作方式与A端口一致,低四位与工作方式与端口B一致;若工作于其余两种方式,端口的部分信号作为A口和B口的控制联络信号。

5.5 ULN2003A:ULN2003A是高压大电流达林顿晶体管阵列,由功率电路来扩展输出电流以满足被控元件的电流,电压[5]。

具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003A芯片主要用于如下领域:伺服电机,步进电机,电磁阀,可控照明灯。

5.6 74LS273:74LS273是一种带清除功能的8D触发器, 1D~8D为数据输入端,1Q~8Q 为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。

5.7 74LS138:74LS138为3线-8线译码器。

引出端口号:B、C译码地址输入端G1选通端/(G2A)、/(G2B)选通端(低电平有效)Y0~Y7 译码输出端(低电平有效)6 单元电路的设计(计算与说明)本电路采用8086CPU来控制,8086是16位CPU,采用高性能的N沟道、耗尽型负载的硅栅工艺制造8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器。

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

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

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

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

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

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

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

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

8086处理器的时钟频率介于4.77MHz和10 MHz之间。

以8086CPU构成的微型计算机系统,有最小模式和最大模式两种配置。

最小模式是单机系统,系统中所需要的控制信号全部由8086CPU本身提供;最大模式可以构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供。

CPU工作模式的选择是由硬件决定的,当CPU的管脚接高电平时,构成最小模式;当接低电平的时候,构成最大模式。

因为步进电机控制系统是一个单处理机系统,因而接高电平,构成最小模式。

8086通过16根数据总线来实现与8255的通信,高八位通过74HC373锁存器控制8255的四个端口,低八位与8255进行数据交换[6]。

RD WR 8255四个端口的地址见表2.2.1所示表6-1 8255各端口地址分配D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。

A0、A1的组合与端口关系如表2.2.2所示。

表 6-2 A1、A0组合与端口关系此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。

数据总线DB用于8255与CPU传送8位数据,地址总线AB用于选择A、B、C口与控制寄存器,控制总线CB用于片选信号、复位信号RST、写信号、读信号。

当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。

与外设接口部分:8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。

相关文档
最新文档