直流电机控制_第1页
直流电机控制_第2页
直流电机控制_第3页
直流电机控制_第4页
直流电机控制_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息科学与技术学院微机原理与接口技术课程设计报告课题名称: 直流电机控制 学生姓名: * 学 号: * 专业年级: * 班 级: * 指导教师: * 完成时间: 2013-01-10 1、 题目及要求1.1 题目直流电机控制1.2要求:1)、 可控制启动停止 2)、可实时控制高速低速运行状态 3)、数码管显示运行状态 扩展功能:可控制转动方向2、 功能设计2.1控制直流电机启动 功能:通过正转或者反转按钮启动直流电机。2.2控制直流电机停止 功能:通过停止按钮停止直流电机。2.3降低直流电机的转速 功能:通过减速按钮降低直流电机的转速,并显示大写“L”2.4使直流电机正转功能:通过正转按钮控制

2、直流电机正转,并显示小写“h” 2.5使直流电机反转功能:通过正转按钮控制直流电机反转,并显示大写“H”。2.6 显示模块功能:显示直流电机当前转到的方向以及速度程序主要流程如下初始设置输出当前状态将从键盘读取的数据送到B端口中,从而设置相应的状态跳转到相应的状态RETI图2-1程序主要流程3、总体设计直流电机控制系统以8086为控制核心,由控制模块、显示模块及电机驱动模块组成。采用按键进行输入到8255的B端口,8255在程序控制下根据输出对直流电机的转向的控制;同时8255不停的将根据控制模块的控制信息输出相应的数据到显示模块去显示出当前的运行状态。AT89C51直流电机驱动模块直流电机A

3、T89C51直流电机驱动模块直流电机8255A直流电机驱动模块直流电机顺时针控制端逆时针控制端停止控制端低速控制端显示模块A口B口C口图3-1总体设计主流程图:8255初始化开始读取B端口数据正转反转低速停止图3-2主流程图4、 详细设计4.1 电机驱动模块的电路设计根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地连线,我们参此设计的直流电机驱动模块电路如图4-1所示图4-1电机驱动模块电路设计4.2 7SEG-COM-AN-GRN显示模块 显示模块连接图图4-2显示模块连接图4.3正转控制模块流程图:把0F9H从C端口输出往A端口中输出0FDH开始从B端口读取

4、数值进入对应的模块图4-3正转控制模块流程图4.3反转控制模块流程图: 把C0H从C端口输出往A端口中输出0FEH开始从B端口读取数值进入对应的模块图4-4反转控制模块流程图5.1原理图布局此次设计的完整电路图包括矩阵式键盘部分,数码管数字显示,电动机的PWM调速控制以及整个电路设计中的核心芯片8255A和8086芯片。图5-1直流电动机速度控制原理图布局5.2运行结果图图5-2 直流电动机速度控制仿真效果(顺时针转)图5-3 直流电动机速度控制仿真效果(逆时针转)图5-4 直流电动机速度控制仿真效果(停止运行)图5-5 直流电动机速度控制仿真效果(低速运行) 6.总结通过本次课程设计,加深了

5、对计算机控制技术中许多芯片的认识和理解,对其应用有了更深沉的了解,这次课程设计是一次非常好的锻炼机会,历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的不怎么牢固,看到了自己的实践经验更是比较缺乏,理论联系实际的能力还急需提高。通过多次的实践,使我深切的体会到培养动手能力的重要性,程序设计是一门实践性很强的东西,不仅要学好书本知识,那是远远不够的,还必须随时把所学知识投入实际应用之中,在此过程中多参照些相关资料,只有这样,才能达到学习的目的,才能学好一门编程语言。通过这次实践,我感觉到自己的动手能力还很欠缺,也知道了自己其他方面的不足,我想今后我一定会加强这方面的培养。在

6、这次实验后,我更坚定这一观点:只有非常熟悉编程语言的基础知识和基本理论,才能更顺手地编程,才能提高编程的效率,减少出现错误。其实很多错误是不该出现的,只要我们注意一些语法细节。7.参考文献1 戴梅萼,史嘉权编著,微型计算机技术及应用(第四版) 清华大学出版社2 沈美明,温冬婵编著,IBM-PC汇编语言程序设计(第二版)清华大学出版社8.源代码STACK SEGMENT 'STACK'STA DB 100 DUP(?)TOP EQU LENGTH STASTACK ENDS DATA SEGMENT 'DATA'DATA ENDSCODE SEGMENT '

7、;CODE' ASSUME CS:CODE,SS:STACK,DS:DATA IOCONEQU 06HIOA EQU 00HIOB EQU 02HIOC EQU 04HSTART: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AX, TOP MOV SP, AXTEST_BU:MOV AL,82H MOV DX,IOCON OUT DX,AL ;82h控制字设置ab端口为0方式下 a输出,b输入 NOP NOP CALL STOPM1:MOV AL,11000111B ;显示LMOV DX,IOCOUT DX,ALMOV D

8、X,IOAMOV AL,0FEH ;显示L时保持逆时针转动OUT DX,ALMOV AL,0FCHOUT DX,ALCALL DELAYMOV DX,IOBIN AL,DXTEST AL,01HJE MOT1TEST AL,02HJE MOT2TEST AL,04HJE STOPJMP M1M2: MOV AL,11000111BMOV DX,IOCOUT DX,ALMOV DX,IOAMOV AL,0FDHOUT DX,ALMOV AL,0FCHOUT DX,ALCALL DELAYMOV DX,IOBIN AL,DXTEST AL,01HJE MOT1TEST AL,02HJE MOT2T

9、EST AL,04HJE STOPJMP M2STOP:MOV AL,10010010B ;准备好输出sMOV DX,IOCOUT DX,ALMOV DX,IOAMOV AL,0FCH ;a端口输出的值不能使电机工作OUT DX,ALCALL DELAYMOV DX,IOBIN AL,DXTEST AL,01HJE MOT1TEST AL,02HJE MOT2CALL DELAYJMP STOP MOT1: MOV DX,IOAMOV AL,0FEH OUT DX,AL ;往a端口中输出1111 1110使电机逆时针转 MOV AL,10001011BMOV DX,IOCOUT DX,ALCA

10、LL DELAYMOV DX,IOBIN AL,DX ;从b端口中读入数据TEST AL,08H ;为08则减速JE M1TEST AL,04H ;为04则停止JE STOPTEST AL,02H ;测试是否等于0000 0010即按下了顺时针按钮JE MOT2 ;如果是按下顺时针按钮,跳转到mot2CALL DELAY JMP MOT1 MOT2: MOV DX,IOAMOV AL,0FDHOUT DX,AL ;向a端口中输出1111 1101使电机顺时针旋转MOV AL,10001001BMOV DX,IOCOUT DX,AL CALL DELAYMOV DX,IOBIN AL,DXTEST AL,08HJE M2TEST AL,04HJE STOPTEST A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论