第九章 宝马1768——PWM输出 开发环境:集成开发环境μVision4 IDE版本4.60.0.0 主机系统:Microsoft Windows XP 开发平台:旺宝NXP LPC1768开发板
9.1 PWM 9.2 硬件描述 9.3 程序说明 9.4 实验现象 1、PWM:这章主要介绍LPC1768的脉宽调制器PWM,通过本章的学习,可以了解到LPC1768的PWM使用。 LPC1768的PWM和STM32的PWM 是不一样的,STM32的PWM是和定时器是集成在一起的,而LPC1768的PWM是单独的一个模块。他可以产生单边沿或者双边沿的PWM输出,最多产生六路单边沿PWM,以及最多三路双边沿输出,也可以混合进行输出。发生匹配时,可产生对应的中断。有两路32位捕获通道可取得定时器的瞬时值,输入捕获通道,捕获事件可选择产生中断。 2、硬件描述: 该例程用到的硬件主要是LED,使用PWM模块产生六路PWM波形,对应于LED4~LED9,六个LED灯,使其产生不同的亮度。记得要插上跳线帽JP8。 3、程序说明:首先看主程序,主程序中首先是对P0.21拉高,屏蔽锁存器对LED灯的影响。然后是初始化PWM,然后设置周期以及匹配值等,启动PWM。则在对应的引脚产生PWM波形。 下面看对PWM的初始化,首先是对引脚设置为PWM输出,然后是对计数器进行复位,设置匹配控制寄存器,设置匹配寄存器值,使能PWM锁存。 设置PINSEL4寄存器,使能P2.0到P2.5的PWM输出引脚功能。 PR是PWM的预分频寄存器,TC经过PR+1个PCLK周期,则TC计数器的值才会加1,实现分频的功能。 MCR寄存器是用来控制发生匹配的时候,是否产生中断,是否复位TC等功能。MR0-MR6则是匹配寄存器,其中MR0是用来控制PWM的周期,MR1-MR6是用来存储电平翻转值,所以一般MR1-MR6<MR0,当TC值与MR0值相匹配时,则复位TC,这里没有开启中断。需要注意的是PWM的输出是高电平,当发生匹配的时候输出的是低电平。 PWM锁存器使能,置位之后,使能写入匹配寄存器的值,在下次定时器复位时生效。 初始化之后,是对寄存器进行赋值,同样是对匹配寄存器的配置。 最后启动PWM, 这里面涉及到PCR寄存器和TCR寄存器,使能PWM的输出和TC定时器。 则对应的端口引脚输出PWM波形。 4、实验现象:本实验要注意跳线帽JP8要插上,以驱动LED灯。实验现象就是LD4到LD9的6个LED灯亮度依次变暗。 |