拜托各位大侠帮忙给写一个20KHZ的PWM波!

2019-03-24 15:45发布

#include <msp430x44x.h>
void main(void)
{
  WDTCTL = WDTPW +WDTHOLD;
  TACTL = TASSEL1 + TACLR;              // SMCLK, 清除 TAR
  CCR0 = 512-1;                         // PWM周期
  CCTL1 = OUTMOD_7;                    
  CCR1 = 384;              //占空比  384/512=0.75
   P1DIR |= 0x04;                        // P1.2 输出
  P1SEL |= 0x04;                        // P1.2 TA1
   TACTL |= MC0;                        // Timer_A 增计数模式
  for (;;)                          
  {
    _BIS_SR(LPM3_bits);                 // 进入 LPM3
    _NOP();                          
  }
}
我没用使用外部时钟,用DCO,计数时钟采用SMCLK,请问如何设置频率为20KHZ,幅值为2V,拜托大家了!! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
huang91
1楼-- · 2019-03-25 00:34
 精彩回答 2  元偷偷看……
qq66847958
2楼-- · 2019-03-25 01:09
< :TI_MSP430_内容页_SA7 --> 详细点啊,初学,有难度
huang91
3楼-- · 2019-03-25 03:10
时钟源为SMCLK=32768*32hz,
CCR0 =512
所以PWM频率为(32768*32)/512=2.048kHz,
你要20K么,把CCR0 =50,差不多。
具体的原理要搞清,定时器对初学者还是很重要的,我也初学者
huang91
4楼-- · 2019-03-25 07:33
 精彩回答 2  元偷偷看……
maylove
5楼-- · 2019-03-25 11:30
请将图片下载到本地再上传,,不然大家没有浏览到!
huang91
6楼-- · 2019-03-25 15:12
好了

一周热门 更多>

相关问题

    相关文章