请选择 进入手机版 | 继续访问电脑版
搜索
查看: 363|回复: 0

[原创] 【板卡活动】+PIC32MZEF+输出比较PWM控制RGB LED

[复制链接]
发表于 2017-9-25 08:39:02 | 显示全部楼层 |阅读模式
1RGB LED硬件连接
图片17.png
图片18.png
RGB分别对应RB5RB1RB0,引脚为202425.
2MHC配置输出比较OC驱动
图片19.png
使用该功能还需要开启定时器功能
图片20.png
3,配置引脚功能
图片21.png
图片22.png
4,配置定时器服务
图片23.png
5,增加一个任务处理输出比较
图片24.png
6,源码分析
1)初始化输出比较器
图片25.png
A,设置输出比较定时器选择
图片26.png
图片27.png
PLIB_TMR_Period16BitSet(APP_TMR_ID_FOR_OC, 0x550);设置定时器周期为ox550.
B,设置比较器输出模式
图片28.png
图片29.png
这里设置为101,在OCx上产生连续输出脉冲。
C,设置比较模式
图片30.png
图片31.png
这里设置为0.
D,设置比较寄存器值
图片32.png
E,设置辅助比较寄存器
图片33.png
F,比较器模块简单介绍
图片34.png
图片35.png
图片36.png
我们这里选择的就是双比较匹配模式,通过前面介绍可以知道设置的是101,所以重点介绍连续输出脉冲模式。
图片37.png
图片38.png
图片39.png
产生连续输出脉冲的步骤:
图片40.png
G,启动定时器和使能比较模块,初始化完成。
图片41.png
2)通过初始化可以知道,我们输出脉冲的高低电平时间通过设置比较寄存器和比较协助寄存器完成。
我们在这里通过调节输出状态调节RGB的颜色。其实也就是调节PWM的占空比。由于颜色值最大是255,所以要做一些处理。
图片42.png
图片43.png
这样就可以完成PWM的调节了。
3)在任务函数中我循环显示红、绿、蓝、橙色。
图片44.png
7,输出结果
图片45.png
使用MPLAB X IDE受尽折磨,我的电脑也不是那么差,动不动CPU跑100%。内存也占用非常大。
图片46.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

facebook google plus twitter linkedin youku weibo rss
©2018 Microchip Corporation

小黑屋|手机版|Archiver|Microchip技术社区

GMT+8, 2018-4-24 14:49 , Processed in 0.194044 second(s), 8 queries , MemCache On.

快速回复 返回顶部 返回列表