打印

如何让4MZH晶振的MSP430F4系列单片机产生200KHZ信号

[复制链接]
1345|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tongshaoqiang|  楼主 | 2016-3-8 21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
tongshaoqiang|  楼主 | 2016-3-9 08:26 | 只看该作者

使用特权

评论回复
板凳
dirtwillfly| | 2016-3-9 12:16 | 只看该作者
用pwm吧

使用特权

评论回复
地板
tongshaoqiang|  楼主 | 2016-3-9 16:02 | 只看该作者
本帖最后由 tongshaoqiang 于 2016-3-9 16:34 编辑


感谢回复,能具体说说下方案吗?是不是通过DCO调制生成?
新手没接触过

使用特权

评论回复
5
ayl439| | 2016-3-9 21:33 | 只看该作者
参考MSP430F479输出PWM的例程,要学会在TI官网找例程啊~其实很简单的

//*******************************************************************************
//  MSP430F(G)47x Demo - Timer_A, PWM TA1-2 Up Mode, DCO SMCLK
//
//  Description: This program outputs two PWM signals on P1.2 and P2.0
//  using Timer_A configured for up mode. The value in CCR0 defines the PWM
//  period and the values in CCR1 and CCR2 the PWM duty cycles. Using SMCLK as
//  TACLK, the timer period is 488us with a 75% duty cycle on P1.2 and 25%
//  on P2.0.
//  ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
//  //* An external watch crystal between XIN & XOUT is required for ACLK *//
//
//               MSP430F(G)47x
//            -----------------
//        /|\|              XIN|-
//         | |                 | 32kHz
//         --|RST          XOUT|-
//           |                 |
//           |         P1.2/TA1|--> CCR1 - 75% PWM
//           |         P2.0/TA2|--> CCR2 - 25% PWM
//
//  M.Seamen/ P. Thanigai
//  Texas Instruments Inc.
//  September 2008
//  Built with IAR Embedded Workbench V4.11A and CCE V3.2
//*****************************************************************************
#include <msp430.h>

int main(void)
{
  WDTCTL = WDTPW +WDTHOLD;                  // Stop WDT
  FLL_CTL0 |= XCAP14PF;                     // Configure load caps
  P1DIR |= 0x04;                            // P1.2 output
  P1SEL |= 0x04;                            // P1.2 TA1 option
  P2DIR |= 0x01;                            // P2.0 output
  P2SEL |= 0x01;                            // P2.0 TA2 option
  CCR0 = 512-1;                             // PWM Period
  CCTL1 = OUTMOD_7;                         // CCR1 reset/set
  CCR1 = 384;                               // CCR1 PWM duty cycle
  CCTL2 = OUTMOD_7;                         // CCR2 reset/set
  CCR2 = 128;                               // CCR2 PWM duty cycle
  TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode

  __bis_SR_register(LPM0_bits);                       // Enter LPM0
}

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
dirtwillfly + 2 很给力!
6
baimiaocun2015| | 2016-3-9 22:43 | 只看该作者
这个利用定时器的PWM功能的就可以办到的。

使用特权

评论回复
7
youtome| | 2016-3-10 22:31 | 只看该作者
使用定时器产生

使用特权

评论回复
8
youtome| | 2016-3-10 22:33 | 只看该作者
不适有自带的pwm的么

使用特权

评论回复
9
xstong| | 2016-3-14 08:58 | 只看该作者
不需要定时器那些,专门有管脚用于分频输出的。如P1.4,详细阅读手册文档。

使用特权

评论回复
10
51xlf| | 2016-3-14 21:21 | 只看该作者
如果有pwm可以直接pwm

使用特权

评论回复
11
51xlf| | 2016-3-14 21:25 | 只看该作者
没有的话可以定时器控制

使用特权

评论回复
12
mmbs| | 2016-3-14 21:54 | 只看该作者
使用pwm模块产生信号

使用特权

评论回复
13
mmbs| | 2016-3-14 21:56 | 只看该作者
还可以控制占空比

使用特权

评论回复
14
firstblood| | 2016-3-15 15:50 | 只看该作者
这个只能是采用单片机自带的timer定时器来处理的。

使用特权

评论回复
15
cehuafan| | 2016-3-15 22:49 | 只看该作者
还是使用定时器吧

使用特权

评论回复
16
cehuafan| | 2016-3-15 22:51 | 只看该作者
计数器不能实现的

使用特权

评论回复
17
pmp| | 2016-3-17 22:57 | 只看该作者
网上很多的pwm的代码

使用特权

评论回复
18
pmp| | 2016-3-17 22:59 | 只看该作者
定时器控制产生的pwm信号就行。

使用特权

评论回复
19
Snow7| | 2016-3-18 21:14 | 只看该作者
用定时器,PWM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

993

帖子

5

粉丝