pwm控制课程设计成品.doc_第1页
pwm控制课程设计成品.doc_第2页
pwm控制课程设计成品.doc_第3页
pwm控制课程设计成品.doc_第4页
pwm控制课程设计成品.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

中北大学信息与通信工程学院单片机课程设计说明书1 引言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。PWM是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比变成电压。程序中通过调整占空比来调节输出模拟电压。占空比是指脉冲中高电平与低电平的宽度比。单片机的输出控制在实际应用中有重要的意义!1.1 单片机简介单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。1.1.1 单片机的组成单片机是通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;/数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。1.2.2 单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:(1) 单片机在智能仪表中的应用:单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。 (2) 单片机在机电一体化中的应用:机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。 (3) 单片机在实时控制中的应用:单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。 (4)单片机在分布式多机系统中的应用:在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。 (5)单片机在人类生活中的应用:自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。 综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.2 PWM简介脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。 随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。 模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区别在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在0V, 5V这一集合中取值。 模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。与收音机一样,模拟电路的输出与输入成线性比例。 尽管模拟控制看起来可能直观而简单,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。 通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。2 设计任务与要求2.1 设计目的1)通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机的应用做进一步了解。 2) 通过本次课程设计将单片机软硬件结合起来,加强理论联系实际的能力。 3) 通过本次课程设计提高学生的综合能力、动手能力、文献资料查阅能力,为毕业设计和以后工作打下一个良好的基础。2.2 设计内容与要求用Proteus仿真MCS51系列单片机及其外围电路,用它与Keil开发工具结合,搭建单片机开发平台。1) 硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的系统;2) 软件设计:根据任务的要求,完成控制软件的编写与调试;3) 用Proteus仿真; 4) 基本功能要求: 通过外接的转换电路,将脉冲的占空比变成电压。程序中通过调整占空比来调节输出模拟电压。占空比是指脉冲中高电平与低电平的宽度比。2.3 设计工作任务及工作量的要求1) 根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。2) 画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。3) 软件设计包括流程图设计、软件编制及编译。4) 用Proteus软件绘制硬件电路图并仿真。2.4 设计思路与方案首先设置定时器,为ADC0808设置时钟,然后就可以启动转换,将转换结果保存起来,这是PWM脉冲输出高电平,输出时长即为转换结果,再跳低电平,时长为转换值。这样输出的PWM脉冲就反映的输入模拟信号的大小,实现PWM控制!2.5 设计芯片及作用2.5.1 AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2.1为AT89C51单片机的管脚图。 图2.1 AT89C51说明图 主管脚的说明:VCC:供电电压.GND:接地.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能 P3.0 RXD 串行输入口 P3.1 TXD 串行输出口 P3.2 /INT0 外部中断0 P3.3 /INT1 外部中断1 P3.4 T0 记时器0外部输入 P3.5 T1 记时器1外部输入 P3.6 /WR 外部数据存储器写选通 P3.7 /RD 外部数据存储器读选通2.5.2 ADC0808ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。图2.2 ADC0808管脚图ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下:15和2628(IN0IN7):8路模拟量输入端。8、14、15和1721:8位数字量输出端。 22(ALE):地址锁存允许信号,输入,高电平有效。6(START): AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9(OE):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。12(VREF(+)和16(VREF(-):参考电压输入端。11(Vcc):主电源输入端。13(GND):地。2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。表2.1 通道选择内部结构:ADC0808是CMOS单片型逐次逼近式AD转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。极限参数:电源电压(Vcc):6.5V 控制端输入电压:-0.3V15V 其它输入和输出端电压:-0.3VVcc+0.3V 贮存温度:-65+150 功耗(T=+25):875mW 引线焊接温度:气相焊接(60s):215;红外焊接(15s):220 抗静电强度:400V 输出端注意:out8为最低位-out1为最高位,out8-out1分别接单片机的P0.0到P0.7端。 3 硬件设计3.1 硬件设计说明本次设计使用AT89C51芯片和ADC0808芯片。连接图中,START端与单片机P2.4端相连为8位启动信号端,CLOCK端与P2.4端连接为时钟信号端,EOC与P2.6端相连为转换结束信号端,再把OUT0-OUT7与单片机的P1.0-P1.7端连接为转换结果。单片机的P2.7端为PWM信号输出端。使用IN0为ADC0808的模拟信号输入端。这样就可以画出硬件连接图。3.2 硬件原理图4 软件设计4.1 程序流程图 程序流程图开始 设置定时器,为ADC0808提供时钟 启动A/D转换 读取转换值,存入ADC PWM位输出高电平 调用延时,ADC为延时常数 PWM位输出低电平 调用延时,255ADC为延时常数 图4.1 程序流程图4.2 原程序清单与注释 ADCEQU35HCLOCKBITP2.4;定义ADC0808时钟位ST BIT P2.5EOC BIT P2.6OE BIT P2.7PWMBITP3.7ORG 00HSJMPSTARTORG0BHLJMPINT_T0START:MOVTMOD,#02H ;MOVTH0,#20MOVTL0,#00HMOVIE,#82HSETBTR0WAIT: CLR ST SETB STCLR ST;启动AD转换 JNB EOC,$;等待转换结束SETB OE MOV ADC,P1;读取AD转换结果CLR OESETBPWM ;PWM输出MOV A,ADCLCALLDELAYCLRPWMMOVA,#255SUBBA,ADCLCALLDELAYSJMP WAITINT_T0:CPLCLOCK ;提供ADC0808时钟信号RETIDELAY:MOVR6,#1D1:DJNZR6,D1DJNZACC,D1RET END5 仿真实验步骤与结果5.1 仿真实验步骤1)打开Keil uVision3,新建Keil项目,选择AT89C15单片机作为CPU,新建汇编源文件,编写程序,将其导入到“Source Group 1”中。在“Options For Target”对话窗口中,选中“Output”选项卡中的“Creat HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。 (2)在Proteus ISIS 中,选中AT89C51并单击鼠标左键,打开“Edit Componet”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File”栏中,选择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug Monitor”选项,以支持与Keil的联合调试。 (2)在Keil 的菜单栏中选择“Debug” “Save/Stop Debug Session”选项,或者直接单击工具栏中的“DebugStart/Stop Debug Session图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS”界面,打开虚拟示波器窗口,并调节电位器,观察AT89C51的PWM输出。改变的位置可找出三个不同模拟信号下的输出波形5.2 仿真结果 图5.1 仿真结果图6 元器件清单表6.1 元器件清单表 7 课程设计体会与总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,相当于把以前所学过的知识又重新温故了。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。

温馨提示

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

评论

0/150

提交评论