题:LPC812 输出两路2Mhz PWM方波,死区时间<50ns.

系统时钟设置30Mhz(MSEL = 00100b, PSEL = 01b); The SCTimer clock set to equal system clock, so the PWM period should be 15 clk period, i.e. Tpwm = 30/2 = 15; and then each PWM pulse width is half:

LPC_SCT->MATCH[0].L = 15; // match on (half) PWM period
 LPC_SCT->MATCHREL[0].L = 15;
 LPC_SCT->MATCH[1].L = 6; // match on duty cycle 1
 LPC_SCT->MATCHREL[1].L = 6;
 LPC_SCT->MATCH[2].L = 8; // match on duty cycle 2
 LPC_SCT->MATCHREL[2].L = 8;

There are also an ABORT pin which could be use as a brake function. But I do not use this function and I do not configure this pin. The finally code as below:

/* Generic Initialization */
 SystemCoreClockUpdate();
 
 LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 8);                 // enable the SCT clock
LPC_SWM->PINASSIGN[6] = 0x07FFFFFF;//p0.7
 LPC_SWM->PINASSIGN[7] = 0xFFFFFF06; //p0.6
 
 LPC_SCT->CONFIG |= (1 << 17); // split timers, auto limit
// LPC_SCT->CTRL_L |= (SystemCoreClock/10000000-1) << 5; // configure SCT1 as BIDIR
 LPC_SCT->CTRL_L |= (1 << 4); // configure SCT1 as BIDIR
 
 LPC_SCT->MATCH[0].L = 15; // match on (half) PWM period
 LPC_SCT->MATCHREL[0].L = 15;
 LPC_SCT->MATCH[1].L = 6; // match on duty cycle 1
 LPC_SCT->MATCHREL[1].L = 6;
 LPC_SCT->MATCH[2].L = 8; // match on duty cycle 2
 LPC_SCT->MATCHREL[2].L = 8;
 
 //simple function of pwm with deadtime
 LPC_SCT->EV[0].STATE = 0xFFFFFFFF; // event 2 happens in all states
 LPC_SCT->EV[0].CTRL = (1 << 0) | (1 << 12); // match 1 (DC1) only condition
 
 LPC_SCT->EV[1].STATE = 0xFFFFFFFF; // event 3 happens in all states
 LPC_SCT->EV[1].CTRL = (2 << 0) | (1 << 12); // match 2 (DC2) only condition
 
 LPC_SCT->OUT[0].SET = (1 << 0); // event 0 set OUT0 (blue LED)
 LPC_SCT->OUT[0].CLR = (1 << 0); // event 0 clears OUT0 (blue LED)
 
 LPC_SCT->OUT[1].SET = (1 << 1); // event 1 sets OUT1 (red LED)
 LPC_SCT->OUT[1].CLR = (1 << 1); // event 1 clear OUT1 (red LED)
 
 LPC_SCT->RES |= 0x0000000F; // toggle OUT0 and OUT1 on conflict
 LPC_SCT->OUTPUT |= 1; // default set OUT0 and clear OUT1
 
 LPC_SCT->CTRL_L &= ~(1 << 2); // start timer

OR LIKE THIS:

/* Generic Initialization */
 SystemCoreClockUpdate();
 
 LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 8);                 // enable the SCT clock
LPC_SWM->PINASSIGN[6] = 0x07FFFFFF;//p0.7
 LPC_SWM->PINASSIGN[7] = 0xFFFFFF06; //p0.6
LPC_SCT->CONFIG |= (1 << 17); // split timers, auto limit
 LPC_SCT->CTRL_L |= (1 << 4); // configure SCT1 as BIDIR
 
 LPC_SCT->MATCH[0].L = 15; // match on (half) PWM period
 LPC_SCT->MATCHREL[0].L = 15;
 LPC_SCT->MATCH[1].L = 6; // match on duty cycle 1
 LPC_SCT->MATCHREL[1].L = 6;
 LPC_SCT->MATCH[2].L = 8; // match on duty cycle 2
 LPC_SCT->MATCHREL[2].L = 8;
 
 //full function of pwm with deadtime
 LPC_SCT->EV[0].STATE = 0xFFFFFFFF; // event 0 happens in all states
 LPC_SCT->EV[0].CTRL = (2 << 10) | (2 << 12); // IN_0 falling edge only condition
 
 LPC_SCT->EV[1].STATE = 0xFFFFFFFF; // event 1 happens in all states
 LPC_SCT->EV[1].CTRL = (1 << 10) | (2 << 12); // IN_0 rising edge only condition
 
 LPC_SCT->EV[2].STATE = 0xFFFFFFFF; // event 2 happens in all states
 LPC_SCT->EV[2].CTRL = (1 << 0) | (1 << 12); // match 1 (DC1) only condition
 
 LPC_SCT->EV[3].STATE = 0xFFFFFFFF; // event 3 happens in all states
 LPC_SCT->EV[3].CTRL = (2 << 0) | (1 << 12); // match 2 (DC2) only condition
 
 LPC_SCT->OUT[0].SET = (1 << 0) | (1 << 2); // event 0 and 2 set OUT0 (blue LED)
 LPC_SCT->OUT[0].CLR = (1 << 2); // event 2 clears OUT0 (blue LED)
 
 LPC_SCT->OUT[1].SET = (1 << 3); // event 3 sets OUT1 (red LED)
 LPC_SCT->OUT[1].CLR = (1 << 0) | (1 << 3); // event 0 and 3 clear OUT1 (red LED)
 
 LPC_SCT->RES |= 0x0000000F; // toggle OUT0 and OUT1 on conflict
 LPC_SCT->OUTPUT |= 1; // default set OUT0 and clear OUT1
 
 LPC_SCT->STOP_L = (1 << 0); // event 0 will stop the timer
 LPC_SCT->EVEN = (1 << 1); // event 1 will generate an irq
 
 NVIC_EnableIRQ(SCT_IRQn); // enable SCTx interrupt
 LPC_SCT->CTRL_L &= ~(1 << 2); // start timer
Work finish! The result as the picture below:

LPC812 PWM相关推荐

  1. RTT设备与驱动之PWM

    这里将PWM当成一个设备:PWM简介 上图是一个简单的 PWM 原理示意图,假定定时器工作模式为向上计数,当计数值小于阈值时,则输出一种电平状态,比如高电平,当计数值大于阈值时则输出相反的电平状态,比 ...

  2. 51单片机 小车 L298N pwm调速 串口控制 按键控制

    难点:1.串口定时器T1,和T0定时器优先级 2.pwm频率与占空比的设置 按键控制 按键1--前进 按键2--后退 按键3--加速 按键4--减速 (板子上只有四个按键) 串口控制 '1'--前进 ...

  3. 【转载】 stm32之PWM

    发现这位博主的博客被大量的转发,我也转载一篇,谁叫人家写的好呢. 原文地址:http://blog.sina.com.cn/s/blog_49cb42490100s6uh.html 脉冲宽度调制(PW ...

  4. 开关电源三种控制模式:PWM/PFM/PSM

    1. PWM/PFM/PSM 三种控制模式的定义 通常来说﹐开关电源(DC-DC)有三种最常见的调制方式分别为: 脉冲宽度调制(PWM) 脉冲频率调制(PFM) 脉冲跨周期调制(PSM) 在功率集成电 ...

  5. 使用 RPI.GPIO 模块的脉宽调制(PWM)功能

    脉宽调制(PWM)是指用微处理器的数字输出来对模拟电路进行控制,是一种对模拟信号电平进行数字编码的方法.在树莓派上,可以通过对GPIO的编程来实现PWM. 创建一个 PWM 实例: p = GPIO. ...

  6. 树莓派c语言输出pwm波,树莓派硬件PWM输出程序

    一:实验现象 对于树莓派硬件PWM只有1号引脚(wiringPi),单独测试该引脚时,可以输出不同占空比控制led灯成呼吸灯的效果 二:程序步骤 1,初始化wiringPi的库函数; 2,设置对应的P ...

  7. linux pwm控制蜂鸣器 滴滴_兴安盟KOBISHI电磁蜂鸣器BZ-21BLAC24V保证

    兴安盟KOBISHI电磁蜂鸣器BZ-21BLAC24V保证日本KOBISHI蜂鸣器.jjb器 .蜂鸣器BZ-35VR DC24V.济南千斗工业出售,货期短.价格低.保证 这里只对必须用1/2duty的 ...

  8. 全程pwm调光_dc调光的手机有哪些

    dc调光的手机有哪些?目前已经发布的黑鲨游戏手机2.黑鲨游戏手机Helo均为全程DC调光,魅族16系列手机,OPPO的Reno,一加7等手机已经是支持DC调光. dc调光的手机有哪些 1.据悉,目前已 ...

  9. cubemx pwm dma_红米K30S至尊纪念版翻车?被曝虽是LDC屏,却是PWM调光

    ↑↑↑击上方"蓝字"关注,每天推送最新科技新闻 红米发布了自家新款性价比机型红米K30S至尊纪念版,这款产品搭载了高通骁龙865处理器,同时价格仅需2299元,而且还搭载的是LCD ...

最新文章

  1. TVM在ARM GPU上优化移动深度学习
  2. windows2008系统启动weblogic报错
  3. 阿里云容器服务全面升级,让云的边界拓展至企业需要的每个场景
  4. 【渝粤题库】陕西师范大学201281 民法作业
  5. Activit系列之---Activity的生命周期
  6. dreamweaver 正则表达式为属性值加上双引号_PHP正则表达式核心技术完全详解 第2节...
  7. Python高级——HTTP协议
  8. 专访三星高级工程师 Joonyong Park:Adaptive Performance 让游戏的高性能和高画质二者兼得
  9. Python黑帽子:取代netcat
  10. 100行Html5+CSS3+JS代码实现元旦倒计时界面
  11. Hadoop面试题(一)
  12. QPS、TPS、PV、UV、GMV、IP、RPS的概念解释
  13. 对于rh v5系列服务器,华为rh2288v5服务器重定向问题引起pxe报错
  14. 大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该如何来预估其并发量?如何根据并发量来合理配置JVM参数呢?
  15. matalb编写程序实现ps的“素描滤镜”
  16. Nmap常用扫描命令
  17. 数据安全加密技术分析
  18. async 函数的含义和用法
  19. QQ宠物吹泡泡游戏小助手 VC++6.0代码分析
  20. 二叉树的结点度表示法

热门文章

  1. 李纳斯·托沃兹(Linus Torvalds):Linux之父
  2. 推荐安全圈几个学习必备公众号
  3. 原理+代码|深入浅出决策树算法
  4. Autoencoder自动编码器的发展
  5. Linux内核版本介绍与查询
  6. SpringBoot整合dynamic(全网最舒服)
  7. C#实现简单版本的学员管理系统
  8. react styled-components插件完成独立组件css样式(js重构css写法)
  9. 图片放大、缩小、恢复操作的实现
  10. 多位点序列分型_多位点序列分型(MLST)及其应用.pdf