单片机直流电机控制系统的设计与仿真_第1页
单片机直流电机控制系统的设计与仿真_第2页
单片机直流电机控制系统的设计与仿真_第3页
单片机直流电机控制系统的设计与仿真_第4页
单片机直流电机控制系统的设计与仿真_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、广西大学行健文理学院2014年单片机课程考查(论文)单片机期末考查(课程设计) 论文题目: 单片机直流电机控制系统的设计与仿真 学 别: 电气信息 班 级: 姓 名: 学 号: 1238230239 指导老师: 职 称: 日 期: 2015 年 1 月 16 日 目 录第一章 绪论31.1 WAVE6000软件说明31.2 PROTEUS软件说明31.2.1 软件的特点41.2.2 ISIS智能原理图输入系统41.3 MCS-51单片机系统简介5第二章 总体方案设计52.1 总体设计52.2 硬件设计52.2.1 硬件设计电路52.2.2 PROTEUS软件使用过程62.2.3元器件清单如下7

2、2.3 软件设计72.3.1 PROTEUS硬件属性分配72.3.2程序设计82.3.3编译成HEX文件步骤11第三章 综合测试123.1 仿真工具栏133.2 仿真结果13第四章 总结鉴定14参考文献15课程设计心得体会16评阅老师: 日期:17第一章 绪论一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发。开发过程所用的设备即开发工具。一般用计算机来调试单片机,所用开发工具为仿真器和调试器,两者一起构成硬件平台。软件平台是指装入通用PC的软件开发调试系统,它的作用是编辑、汇编、编译、仿真与调试,称为WINDOWS下的集成开发环境。集成开发环境是单片机厂家为用户提供的产品开发

3、环境,包括单片机的硬件平台和软件平台。20多年来,世界上出现过几种用于51系列单片机的开发软件,下面以伟福6000和Proteus为例。1.1 WAVE6000软件说明这个软件是南京伟福公司的单片机开发软件,一般就是用在C51单片机,具备双工作模式和真正的集成调试环境。此软件可不需要购买仿真器,使用软件模拟仿真器即可,使用很方便。也配有硬件仿真设备,但需购买。它集成了编辑器、编译器、调试器,源程序编辑、编译、下载、调试全部可以在一个环境中完成。且伟福的多种仿真器及所支持各种CPU仿真全部集成在一个环境下。由于此软件风格统一,从而可节省用户的时间和精力。1.2 PROTEUS软件说明PROTEU

4、S是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。1.2.1 软件的特点 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18系列、Z80 系列、HC11 系列以及各种外围芯片。 支持大量的存储器和外围芯片。

5、1.2.2 ISIS智能原理图输入系统ISIS是Proteus系统的中心,具有控制原理图画图的超强的设计环境。ISIS有以下特性:1、出版质量的原理图ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。2、良好的用户界面ISIS有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线。此外,摆放、编辑、移动和删除操作能够直接用鼠标实现无需去单击菜单或图标。3、自动走线只要单击想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,使用者只需在中间的角落单击。自动走线

6、也能在元件移动的时候操作,自动解决相应连线。节点能够自动布置和移除。既节约了时间,又避免了其他可能的错误。4、层次设计ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。5、总线支持ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。6、元件库ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTLCMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic

7、和运算放大器。7、可视封装工具原理图和PCB库元件的匹配是由封装工具简化的。在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。8、复合元件ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。9、元件特性设计中的每个元件都有一定数日的属性或特性。某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。一旦库建立,就能提供默认值及特性定义。特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。10、报告ISIS支持许多第三方网表格式,因

8、此能为其他软件所使使用设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。1.3 MCS-51单片机系统简介 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、IO接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和IO接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息

9、和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管和LCD显示器。第二章 总体方案设计单片机直流电机控制系统的设

10、计与仿真内容:设计一个直流电机驱动电路,可控制直流电机的旋转方向,采用PWM电源方式进行控制,电机的速度由模拟量输入给定。目的、要求:掌握小型直流电机的基本原理和控制过程2.1 总体设计总体步骤如下:1、在PROTEUS中设计硬件2、在WAVE6000中编写程序,编译、连接形成HEX文件。3、在PROTEUS中把HEX文件加载到单片机芯片上。4、运行仿真看结果。2.2 硬件设计硬件电路可通过Proteus软件进行设计。2.2.1 硬件设计电路打开元件库,添加元件,使用单片机:AT89C51,BUTTON,DAC0832,METALFILM220R,MOTOR,OP1P,OPAMP. 2.2.2

11、 PROTEUS软件使用过程1)选择元器件2)放置元器件3)连线4)添加程序5)运行仿真2.2.3元器件清单如下单片机:AT89C51按键:BUTTON采样频率为八位的D/A转换器件:DAC0832低值电阻:METALFILM220R电动机:MOTOR理想运放模型:OP1P运算放大器:OPAMP2.3 软件设计用电位器调节AT89C51 的PWM 占空比,将A/D 转换后的数据作为延时常数。当电位器阻值发生变化,ADC0808 输出的值也会变化,进而调节单片机输出的PWM占空比,控制电动机的转速。2.3.1 PROTEUS硬件属性分配RV1 采集到的电压信息通过ADC0808 转换为8 位数字

12、信号,输入到单片机AT89C51。PWM 信号由单片机产生,输出到电动机驱动电路,进而驱动电动机转动。通过改变RV1 可以改变PWM 信号的占空比,从而控制电动机的转速。2.3.2程序设计void main() TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;EA=1;EX0=1;ET0=1;IT0=1;IT1=1;TR0=1;EX1=1;pwm=0;while(1);void pwmss() if(k=n)&&(k<20) pwm=1; if(k=20) pwm=0; k=0;void int0() interrupt

13、 1 if(n<20)n+;void int1() interrupt 2 if(n>0) n-;void time0() interrupt 1 TH0=(65536-500)/256;TL0=(65536-500)%256; k+; if(k<=n)pwm=1;elsepwm=0;/if(k=20) k=0; 程序2#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit PWM=P20; /PWM输出波形sbit S1=P32;sbit S2=P33;uchar ZK

14、B;/占空比 uchar flag;void delay(uchar ms)uchar i,j; for(i=ms;i>0;i-) for(j=110;j>0;j-); void main() ZKB=0; TMOD=0X10; /定时器1设置为工作方式1 TH1=(65536-1000)/256; TL1=(65536-1000)%256; IP=0x80; EA=1; /开CPU总中断 EX0=1; EX1=1; ET1=1; TR1=1; if(ZKB>100) ZKB=0; if(ZKB<0) ZKB=100; while(1); void int0() int

15、errupt 0/按键每按一次,占空比加1 EX0=0; delay(68); EX0=1; if(flag=1) ZKB=ZKB+1; void int1() interrupt 2 /按键每按一次,占空比减1 EX1=0; delay(68); EX1=1; if(flag=1) ZKB-; void time1() interrupt 3 uchar count; /中断次数 TH1=(65536-20)/256; TL1=(65536-20)%256; count+; if(count<=ZKB) /定时中断次数小于占空比,则P2.0输出高电平 flag=1;PWM=1; els

16、e PWM=0; 2.3.3编译成HEX文件步骤新建工程,新建一个text文件,输入代码将文件编译成C文件,在输出选项勾上产生HEX文件,点击确认点击运行,输出HEX文件第三章 综合测试3.1 仿真工具栏仿真控制按钮1* 运行2* 单步运行3* 暂停4* 停止3.2 仿真结果第四章 总结鉴定在Proteus 环境下输入源程序,把源代码生成目标代码后,将其加载到电路中,设置单片机时钟频率为12Mhz,电路即可开始工作。通过改变RV1 的阻值,可以看到ADC0808 的输出端OUT1-OUT8 相应位输出高低不同的电平。单片机接收到此数据后,控制输出端P3.7 输出PWM 信号。RV1 的改变可以控制电动机转速。课程设计心得体会说起课程实训,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。因为只有都明白了,做最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。

温馨提示

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

评论

0/150

提交评论