RGB LCD 的背光控制

本文介绍了如何通过正点原子阿波罗F429的PB5引脚连接到RGB屏幕的背光控制,利用TIM3的PWM功能调节屏幕亮度。作者详细描述了PWM模式1的应用,以及如何通过外部中断和按键控制CCRx值来改变屏幕亮度。
摘要由CSDN通过智能技术生成

这里使用的是正点原子阿波罗 F429 和 4.3寸RGB屏幕为例,在RGB屏实验上加上调节亮度功能

其实控制屏幕的亮度可以理解成是控制输出pwm占空比,pwm越大屏幕越亮

可以看到板子上是把 PB5 接到 RGB屏幕的背光控制引脚

通过查找数据手册可以看到PB5接到的是TIM3的通道二,所以我们在控制背光的时候可以通过控制TIM3_CH2的 PWM 占空比来调节屏幕亮度

可以看到用的是PWM模式1,将这些设置好后,为了方便通过更改CCR来改变PWM的占空比,初始化的时候可以把 arr 设置成100,这样修改 ccr 的值时,其实也能看成是百分比了,比如ccr设置成10,那么百分比就是10 / 100 = 10%,说明亮度是10%,其实怎样都可以的,这是自己定义的而已。

这就是我初始化的参数,arr设置为100,这里我还加入了外部中断,使得能通过按键来修改ccr的值,进而改变占空比从而控制屏幕亮度。

另外几个按键我没修改,可以根据实际修改,我这里使用 key0来把屏幕调暗,key1调亮,和前面设置的 pwm 模式和极性有关,另外,为了方便测试,我还在main函数加入打印来实时查看ccr的值,这是初始化函数:gtim_timx_pwm_chy_init(100-1,9600-1);  一开始我把psc的值赋给了ccr ,而arr只有100,这就导致了比较错误,而且每次就只加减10,对于我这个初始化函数,就是每次都对9600加减10,每次数据差距不大,导致屏幕亮度改变几乎看不到,后面调试才知道,我把psc的值赋给了ccr,如下图,后面重新将arr赋值给ccr ,就可以正常控制屏幕亮度了。当ccr = arr = 我设置的100时,屏幕亮度最高,pwm引脚输出恒为高电平,当ccr = 0 时,屏幕亮度最低,pwm引脚输出恒为低电平。

上图是主函数加入打印的函数,做好这些,就能通过key0和key1来控制屏幕的亮度了。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值