查看: 5294|回复: 8

[原创] 【YL-KL26Z开发】+ PWM控制LED亮度

[复制链接]

该用户从未签到

42

主题

340

帖子

0

高级会员

Rank: 4

积分
722
最后登录
2016-1-9
发表于 2015-7-24 20:33:59 | 显示全部楼层 |阅读模式
接上次的定时器中断实验:https://www.nxpic.org.cn/module/forum/thread-600257-1-1.html
本次所做实验室TPM(PWM)通过电位器调节LED亮度,程序是模仿之前论坛大神的帖子写的,只是将他在mbed上的程序改了改用到了MDK上。
这是连接,对mbed有兴趣的可以看看:https://www.nxpic.org.cn/module/forum/thread-597089-1-1.html

实验程序很简单,就如同上面大神说的一样,用AD采样电位器的电压值,来作为PWM的脉冲宽度值(占空比值)。

光盘里的程序是现成的PWM控制LED亮度,只不过少了给AD采样,将之前的程序加进去,稍作修改就可以了:

TMP初始化:

void tpmInit(void)
{
    SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTD_MASK;            /* 打开GPIO时钟                */
    SIM_SCGC6 |= SIM_SCGC6_TPM0_MASK | SIM_SCGC6_TPM2_MASK;              /* 打开TPM时钟                 */
    SIM_SOPT2 |= SIM_SOPT2_PLLFLLSEL_MASK | SIM_SOPT2_TPMSRC(1);         /* 打开时钟门                  */

    PORTB_PCR18 = ( 0 | PORT_PCR_MUX(3));                                /* TPM2_CH0 enable on PTB18    */
    PORTB_PCR19 = ( 0 | PORT_PCR_MUX(3));                                /* TPM2_CH1 enable on PTB19    */
    PORTD_PCR1  = ( 0 | PORT_PCR_MUX(4));                                /* TPM0_CH1 enable on PTD1     */

    TPM0_MOD  = TPM_MODULE;                                              /* 1999 / 50MHz = 40uS PWM     */
    TPM0_C1SC = TPM_Cn_MODE;                                             /* No Interrupts; High True
                                                                             pulses on Edge Aligned PWM */
    TPM0_C1V  = TPM_INIT_VAL;                                            /* 90% pulse width             */
    TPM2_MOD  = TPM_MODULE;                                              /* 1999 / 50MHz = 40uS PWM     */
    TPM2_C0SC = TPM_Cn_MODE;                                             /* No Interrupts; Low True
                                                                            pulses on Edge Aligned PWM  */
    TPM2_C0V  = TPM_INIT_VAL;                                            /* 90% pulse width             */
    TPM2_C1SC = TPM_Cn_MODE;                                             /* No Interrupts; Low True
                                                                            pulses on Edge Aligned PWM  */
    TPM2_C1V  = TPM_INIT_VAL;                                            /* 90% pulse width             */

    TPM2_SC   = TPM_SC_CMOD(1) | TPM_SC_PS(0);                          /* Edge Aligned PWM running from
                                                                           BUSCLK / 1                   */
    TPM0_SC   = TPM_SC_CMOD(1) | TPM_SC_PS(0);                          /* Edge Aligned PWM running from
                                                                           BUSCLK / 1                   */
}



主程序:

#include "includes.h"

#define SET_LED_D3(x)     TPM2_C1V = (x)
#define SET_LED_D2(x)     TPM2_C0V = (x)
#define SET_LED_D4(x)     TPM0_C1V = (x)

int  main (void)
{
    INT16U ADC = 0;
    gpioInit();                                                         /* 管脚初始化                   */
    tpmInit();                                                          /* TPM 初始化                   */
    adcInit();  
        
    while(1) {

                        ADC = adcGetUint();
                        SET_LED_D2(ADC);
                        SET_LED_D3(ADC);
                        SET_LED_D4(ADC);   
                        
    }
}


AD的程序就不贴了,有需要的转:https://www.nxpic.org.cn/module/forum/thread-600164-1-2.html

程序很好理解,就是配置哪里比较麻烦,毕竟它的功能很多,容易搞混。

下面是实物视频:


昨天看到有网友说希望帖子将工程贴出来,所以: PTM_PWM.zip (972.39 KB, 下载次数: 42)

评分

参与人数 1NXP金币 +35 收起 理由
小七 + 35 赞一个!

查看全部评分

回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16706
    最后登录
    1970-1-1
    发表于 2015-7-24 21:45:04 | 显示全部楼层
    学习了!!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-7-25 22:33:22 | 显示全部楼层
    学习了!! null - 副本 - 副本 - 副本.png null - 副本 - 副本 (2).png null - 副本 - 副本 (3).png null - 副本 - 副本.png null - 副本 (2) - 副本.png null - 副本 (2).png null - 副本 (3).png null - 副本 (4).png null - 副本.png null.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-4-27 10:34
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    507

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1450
    最后登录
    2020-8-3
    发表于 2015-7-27 08:45:10 | 显示全部楼层
    不错的创意!
    哎...今天够累的,签到来了1...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-18 11:35
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    21

    主题

    945

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2001
    最后登录
    2020-6-8
    发表于 2015-7-29 10:27:16 | 显示全部楼层
    学习了,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7508
    最后登录
    2021-8-30
    发表于 2015-9-21 22:38:43 | 显示全部楼层
    不错,支持
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-10-12 12:46:19 | 显示全部楼层
    谢谢分享   
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-2 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    23

    主题

    193

    帖子

    0

    高级会员

    Rank: 4

    积分
    500
    最后登录
    2017-11-3
    发表于 2015-10-13 16:35:14 | 显示全部楼层
    不错,支持楼主
    logo.png
    天气好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    167

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    446
    最后登录
    2018-6-11
    发表于 2015-10-21 21:14:41 | 显示全部楼层
    学习一下            
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 14:25 , Processed in 0.148589 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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