标题 | PIC单片机的定时器PWM功能应用 |
范文 | 张明春 摘要:脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PIC单片机的定时器PWM功能强大,使用方法简洁,在电子电路设计中具有广泛应用。 关键词:定时器;PWM;PIC单片机 中图分类号:TP319? ? ? ? 文献标识码:A 文章编号:1009-3044(2019)21-0225-02 开放科学(资源服务)标识码(OSID): 1 PIC单片机及其PWM技术 微芯公司的 PIC 单片机和功能强大的 DSP 芯片都具有电机控制专用外设,如:PWM 模块、A/D转换模块、捕获模块(CCP)等, 对于电机控制非常方便。PIC是精简指令单片机,其执行效率大为提高。[1]与其他单片机相比,PIC最特别的地方是不搞单纯的功能堆积,它很遵从实际,重视产品的性能与价格比,考虑到用户的不种需求,PIC发展了多种型号。此外,PIC单片机还具有其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。 PWM是Pulse Width Modulation的缩写,意为脉冲宽度调制,简称脉宽调制。它是调整电压的一种方法,其波形图如图1所示。 脉冲宽度调制是一种模拟控制方式,它的工作原理是:根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,以此来改变晶体管或MOS管导通时间,从而实现开关稳压电源输出的改变。在这种工作模式下,电源的输出电压在工作条件变化时也能保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。 要产生PWM波形,有很多方法,本文介绍用PIC单片机的CCP模块来实现PWM功能的方法。 2 PIC16F877A的CCP功能 PIC16F877A单片机的CCP模块有很多功能,且每种功能有很多寄存器需要设置。 2.1 PWM波形周期的决定 图2是一个10位的计数器,它有一个计数输入端,计数输入端的频率越高,这个计数器完成一次计数循环(共计210=1024次计数)所需的时间越短。所以,计数端输入的信号频率决定了PWM波形的周期T。 对于PIC16F877A单片机,计数端信号可以来着定时器TMR2。这是一个8位的计数器,其结构图如图3所示。 PWM波形主要由系统频率、前分频器和PR2寄存器三个因素来决定。 (1)系统频率Fosc。即单片机的时钟频率,可能是外界竞争的频率,也可能是内部集成的RC振荡器电路频率。 (2)前分频器。这个Fosc/4以后的信号并不是直接送到TMR2的寄存器端,而是经过分频再送入。分频的系数可以是1:1(不分頻),1:4(四分频)或者1:16(16分频)。控制分频系数的寄存器是T2CKPS1和T2CKPS2两个位。 (3)PR2寄存器,这是一个8位的寄存器,可以存放最大的数据是255。当TMR2中的值和PR2的值大小一致时,就产生TMR2输出信号,这个信号会被送到CCP模块。 PIC16F877A单片机产生 PWM 信号的过程实质上是计数-比较循环过程 。当定时器 TMR2 计数增量至与周期寄存器 PR2 的值相等时, TMR2 被清零,CCP 模块的引脚为高电平状态 , 高电平持续时间参数被锁存。当 TMR2 的计数值与被锁存的高电平持续时间相匹配时 ,CCP 模块的引脚被切换为低电平状态。[2] 3 占空比配置 占空比是指在一个脉冲循环内,通电时间相对于总时间所占的比例。一个电路在它一个工作周期中有一半时间被接通了,那么它的占空比就是50%。如果加在该工作元件上的信号电压为5V,则实际的工作电压平均值或电压有效值就是2.5V。 CCP模块包括CCPR1H和CCPR1L两个8位寄存器,同时各自还有附加的2位寄存器。当TMR2的8位和附加2位(共计10位)计满1024个数后,PWM周期生成比较器就会将对应的单片机引脚电平由低置为高。而当TMR2的8位和附加2位计数与CCPR1H及附加2位计数器中的值相等时,对应的单片机引脚电平由低置为低[3]。 如果设置CCPR1H及附加2位中的值是306,那么高电平维持的时间(Tp)将是306个计数周期,而整个PWM的周期是1024,此时PWM的占空比是306/1024=30%。 4 呼吸灯功能测试 为了测试定时器PWM功能,按照图5连接电路图[4]。PIC16F877A单片机的CCP功能引脚与RC2复用,B1与C1、C2构成晶振电路,R1将复位端MCLR上拉,LED通过限流电阻R2连接到CCP1引脚,J1位下载和仿真器接口。 根据控制定时器T2的寄存器T2CON各位功能,可以将T2CON设置为0x0C,也即预分频控制为00,T2ON设置为1。通过配置CCP1M3~CCP1M0寄存器来设置工作模式,如果要讲CCP1设置为PWM模式,只要设置这4位为11.xx即可(将CCP1M3、CCP1M2设置为1)。CCP1X和CCP1Y是CCPR1L后面的2位附加位,它们和CCPR1L共同构成10位计数器。 在CCP模块实现PWM功能时,CCPR1H及其后面的附加2位是不能通过程序控制的,它们被固定为CCPR1L及CCP1X、CCP1Y的镜像,每个PWM周期更新一次。这样设计的目的是可以随时更新脉宽参数。 以下程序(部分为伪代码)可以实现呼吸灯功能。通过不断改变LedBright的,并且通过程序控制当LedBright等于0是,将亮度方向标识变量置位,当LedBright等1023时,将亮度方向标识变量复位,可以形成上升和下降的过程。 5 总结 PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。PIC单片机的定时器PWM功能强大,相关设置简洁,使用方法简单;PWM既经济、节约空间、抗噪性能强,是一种广泛应用的有效技术。 参考文献: [1] 李爱芹,赵凤申.基于PIC16C72单片机的简易变频器设计[J].机电工程技术,2009,12(38):55-57. [2] 张红娟,李维.基于PIC单片机的直流电机PWM调速系统[J].机电工程,2005,2(22):11-12. [3] 宋戈等.51单片机应用开发范例大全[M].北京:人民邮电出版社,2012. [4] 朱正伟.EDA技术及其应用[M].北京:清华大学出版社,2005. 【通联编辑:朱宝贵】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。