MSP430 G2553 定时输出两个方波,分别为10kHZ和30kHZ,求给出思路
外接的低频32khz是否无法做到10khz和30khz,只有用DCO做吗?还有DCO好像不是很准,请给我一个思路,万分感谢!...
外接的低频32khz是否无法做到10khz和30khz,只有用DCO做吗?还有DCO好像不是很准,请给我一个思路,万分感谢!
展开
2个回答
展开全部
DCO不准确吗?
应该比32768的精确吧~~
实在不行用8MHz的外部晶振
固定频率的方波可以通过设置CCTlx中的输出模式 和设置CCR0的值 来实现固定频率的PWM信号
从而达到你的目的
给你个例子 程序实现的目的和你的目的不一样 是关于PWM占空比的 只是参考
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x0C; // P1.2 and P1.3 output
P1SEL |= 0x0C; // P1.2 and P1.3 TA1/2 otions
CCR0 = 128; // PWM Period/2
CCTL1 = OUTMOD_6; // CCR1 toggle/set
CCR1 = 32; // CCR1 PWM duty cycle
TACTL = TASSEL_1 + MC_3; // ACLK, up-down mode
_BIS_SR(LPM3_bits); // Enter LPM3
}
应该比32768的精确吧~~
实在不行用8MHz的外部晶振
固定频率的方波可以通过设置CCTlx中的输出模式 和设置CCR0的值 来实现固定频率的PWM信号
从而达到你的目的
给你个例子 程序实现的目的和你的目的不一样 是关于PWM占空比的 只是参考
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x0C; // P1.2 and P1.3 output
P1SEL |= 0x0C; // P1.2 and P1.3 TA1/2 otions
CCR0 = 128; // PWM Period/2
CCTL1 = OUTMOD_6; // CCR1 toggle/set
CCR1 = 32; // CCR1 PWM duty cycle
TACTL = TASSEL_1 + MC_3; // ACLK, up-down mode
_BIS_SR(LPM3_bits); // Enter LPM3
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩,这个单片机没有PWM 的功能吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询