查看: 6232|回复: 2

NXP LPC1768宝马开发板第9章PWM输出

[复制链接]

该用户从未签到

发表于 2015-1-28 10:07:30 | 显示全部楼层 |阅读模式
分享到:
第九章    宝马1768——PWM输出
开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板


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

回复

使用道具 举报

  • TA的每日心情
    开心
    2017-2-26 11:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-2-26 11:43:09 | 显示全部楼层
    Mark,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-11-28 16:51:44 | 显示全部楼层
    可以分享代码吗
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 05:51 , Processed in 0.140161 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.