课程设计(论文)-单片机实现步进式PWM输出.doc
《课程设计(论文)-单片机实现步进式PWM输出.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)-单片机实现步进式PWM输出.doc(18页珍藏版)》请在三一文库上搜索。
1、单片机实现步进式PWM输出摘 要: 本文介绍了一种新型PWM输出的方式。它是用89C52作为主控部分,用8254-2可编程定时器/计数器来实现1Hz3kHz步进式PWM的输出;具有分辨率高、反应速度快及占用CPU时间少的优点。本设计给出了硬件结构的组成图以及程序设计,很好的完成了软硬件的结合,并实现了预期的功能。且本系统运行稳定,结构简单,应用范围广,所以可以通过扩展而达到实际的应用。关键词:单片机AT89C52 8254-2 脉宽调制(PWM)Microprocessor Stepper PWM outputAbstract:This paper introduces a new type
2、of PWM output mode. It is part of 89C52 as a master, with the 8254-2 programmable timer / counter to implement step-1Hz 3kHz PWM output; high resolution, fast response, and less CPU-time advantage. This design gives the hardware structure diagram and program design, a good combination of software an
3、d hardware to complete and achieve the desired functionality. And the operation of this system stable, simple structure, wide application, it can be extended to achieve practical application.Key Words: SCM AT89C52 8254-2 pulse width modulation (PWM) 引言脉冲宽度调制(Pulse Width Modulation,PWM),简称脉宽调制,是一种最初用
4、于无线电通信的信号调制技术,后来在控制领域中(比如舵机控制、电机调速)也得到很好的应用,从而形成了独特的PWM控制技术。PWM控制的基本原理很早就已提出,但是受电力电子器件发展水平的制约,在20世纪80年代以前一直未能实现。直到进入20世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才得到真正应用。随着电子电力技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论和非线性系统控制思想的应用,PWM控制技术获得了空前的发展。概述在实际应用时,常常是通过调整PWM信号的脉宽来实现控制的,对脉宽的调整即改变方波信号的占空比。本例将实现周期为20ms,而脉宽各不相
5、同(分别为1ms、2ms和3ms)的3路PWM信号输出。采用脉冲计数法实现,即由51单片机配置专用可编程计数芯片的计数值,计数芯片输出满足占空比要求的PWM信号。此种方法不需要外部的信号源输入,硬件电路简化,通过软件的处理即可实现不同脉宽PWM信号的输出。1.1 PWM基本原理及其实现方法 PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。 脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。 如图1(a)和(b)所示分别表示脉冲宽度调制系统的原理框
6、图和波形图。图1 脉冲宽度调制系统的原理框图和波形图 该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图1中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。 通过图1(b)的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻t k时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTsTs的情况,均匀采样和非均匀采样差异非常小。脉冲宽度调制波可以直接通过低通滤波器进行解调。实现数字脉冲宽度调制器的基本思想如图2所示。图2 数字脉
7、冲宽度调制器的构成图2中,在时钟脉冲的作用下,循环计数器的5位输出逐次增大。5位数字调制信号用一个寄存器来控制,不断于循环计数器的输出进行比较,当调制信号大于循环计数器的输出时,比较器输出高电平,否则输出低电平。循环计数器循环一个周期后,向寄存器发出一个使能信号EN,寄存器送入下一组数据。在每一个计数器计数周期,由于输入的调制信号的大小不同,比较器输出端输出的高电平个数不一样,因而产生出占空比不同的脉冲宽度调制波。奇偶序列的产生方法是将计数器的最后一位作为比较数据的最低位,在一个计数周期内,前半个周期计数器输出最低位为0,其他高位逐次增大,则产生的数据即为偶数序列;后半个周期输出最低位为1,其
8、余高位依次减小,产生的数据为依次减小的偶序列。具体电路如图3所示。 图3 数字PWM实现电路一般情况下,调节脉冲宽度信号的脉宽有两种方法,一种方法是采用模拟电路中的调制方法,另一种是脉冲计数法。对于一般电机控制,由于滤波频率较低、滤波精度要求高和滤波电路的参数不易调整地原因,采用第一种方法在控制电压变化时滤波的实现存在较大的困难。因此,本例主要介绍单片机控制实现的脉冲计数法。1.2选择外部技术芯片计数器既可以采用专用的计数器芯片,也可以利用51单片机自带的内部计数器。如果测控系统的控制量少,而且对体积和重量的要求比较高,可以采用单片机内部的定时器。但是由于一般51单片机的时钟最大只能取24MH
9、z,单指令周期为0.5s,计数频率为106Hz,对于区别类似于频率为2999Hz(计数应为666.889)和3000Hz(计数应为666.87)的输出时无法做到的,随意有些情况就必须使用外部计数器。本例选用Intel公司的定时/计数芯片8254作为外部计数器。8254是8253的改进型,操作方式及引脚于8253完全相同,它的改进主要反映在两方面:8254的计数频率更高,最高可达8MHz,而8254-2更高可达10MHz;8254比8253多1个读回命令。由于使用了外部计数芯片,单片机只需向计数芯片的寄存器中发送控制脉宽的计算值,计数器就能自动地根据计数值调节电平的高低变化,从而模拟PWM信号输
10、出。与Intel公司及大部分公司的微处理器接口兼容;可以处理最高8MHz的输入时钟;具有6种可编程计数器模式;具有3个独立的16位计数器;具有状态读回命令;具有二进制或BCD两种计数方式;可用于实现实时时钟、事件计数、方波产生、复杂波形产生和复杂电压控制等;+5V供电。1.3硬件选择 本例的硬件电路主要由单片机和外部计数芯片构成,接口电路和外围电路的实现都较为简单。单片机是本例的核心器件之一,用于控制外部计数芯片实现PWM信号输出。本例选用Atmel公司的AT89C52作为单片机芯片,它完全能够满足要求,而且极为常用,价格便宜,易于获取。另一主要功能器件就是外部计数器,本例选用Intel公司的
11、专用定时/计数芯片8254。 图4 8254引脚图其引脚功能如下:D7D0(18引脚):双向三态数据线,应用时和系统数据总线相连;CLK0(9引脚):计数器0时钟输入引脚;OUT0(10引脚):计数器0输出引脚;GATE0(11引脚):计数器0门输入引脚;GND(12引脚):接地引脚;OUT1(13引脚):计数器1输出引脚;GATE1(14引脚):计数器1门输入引脚;CLK1(15引脚):计数器1时钟输入引脚;GATE2(16引脚):计数器2门输入引脚;OUT2(17引脚):计数器2输出引脚;CLK2(18引脚):计数器2时钟输入引脚;A0、A1(19、20引脚):地址线,选择进行读写操作的三
12、个计数器或者控制字寄存器,正常情况和系统地址线相连接;/CS(21引脚):片选引脚,低电平有效的输入引脚。/RD(22引脚):读控制引脚,低电平有效的输入引脚。/WR(23引脚):写控制引脚,低电平有效的输入引脚。VCC(24引脚):电源脚,+5V供电。2.硬件设计本设计选用可编程定时器/计数器8254-2,其最高计数频率可达10MHz;充分利用8254-2的3个定时器/计数器,采取频率的分频输出,并且不需要外部的信号源输入,硬件电路简化;通过软件的处理可以实现连续(1Hz3kHz)PWM波的输出。本设计中将要输出的PWM波分为3段,分别由8254-2中的3个定时/计数器输出,门控由P2.2、
13、P2.3、P2.4分别加以控制。在120Hz的输出时,采用定时器0,计数频率为10 4Hz,最大计数为10 4,最小计数为500符合要求,21200Hz的输出中,采用定时器1,计数频率为10 5Hz,最大计数为4762,最小计数为500;在201Hz3kHz 的输出中,采有定时器2,计数频率为10 7Hz,最大计数为49 751,满足二进制计数的范围,最小计数为3333。这些计数值可由单片机89C512送给8254-2的数据输入端,通过除法运算来得到这些计数值,由除法运算得到商。所得到的商去程序指令占用的时间即为所需要的计数值。采用8254-2的3个定时器的输出经过1个或门作为CD4046锁相
14、环的输入,同时经过1个非门进入89C51的INT1口,申请下降沿中断;CD4046锁相环输出所需的PWM。3.电路原理图及说明本例将实现3路PWM信号输出,定时/计数芯片8254具有3个独立的计数器,只需要选择一片就可以满足要求。硬件电路设计部分主要由单片机控制部分电路,定时/计数芯片8254电路以及单片机与定时/计数芯片8254的接口电路组成。单片机控制部分电路原理图如图5所示。图5 单片机控制部分电路原理图图中所示,单片机部分采用Atmel公司的AT89C52(U1),工作时钟为11.0592MHz,P0.0P0.7口与计数芯片8254的数据口D0D7相连,8254的片选信号线连接在单片机
15、的P2.0口,P2.1、P2.2与8354的地址线A1、A0相连,8254的读、写控制脚分别连接在单片机的P3.7(读)、P3.6(写)口。定时/计数芯片8254电路原理图如图6所示。 图6 定时/计数芯片8254电路原理图定时/计数芯片8354(U2)由3个计数器输出3路独立的PWM信号,分别为PWM_1、PWM_2和PWM_3,3个计数器的输入时钟均为1MHz,晶振Y2提供的1MHz时钟CLK,他们的门控制输入均接高电平,确保信号连续输出。4.软件设计4.1设计流程图单片机实现3路PWM信号输出的流程图如图6所示。结束开始定义存储器地址定时器初始化,开始中断T0层初值计数器发送数据图6 单
16、片机实现3路PWM信号输出的流程图单片机对计数芯片8254的控制主要通过对其内部的控制字和计数寄存器的操作来实现的。4.2 8254的内部控制字和计数寄存器8254内部有3个独立的计数器,每个计数器都对应于一个计数寄存器,另外还有一个控制字寄存器,通过它可以实现对3个寄存器的配置。A0、A1是8254的寄存器地址,单片机通过对A0、A1地选择。来确定是对计数寄存器还是控制字寄存器操作,具体如表1所示。表1 A0、A对寄存器的选择A0A1寄存器00计数器001计数器110计数器211控制器由于单片机的P2.0和8254的低电平有效的片选脚/CS相连,P2.1和P2.2分别和A0和A1A相连,因此
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 单片机 实现 步进 PWM 输出
链接地址:https://www.31doc.com/p-3292549.html