⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lab-05c.c

📁 MSP430FG4619的TimerA子程序
💻 C
字号:
//*******************************************************************************
//  MSP430xG46x Demo - Timer_A, PWM TA1-2, Up Mode, DCO SMCLK
//
//  Description: This program generates two PWM outputs on P1.2,P2.0 using
//  Timer_A configured for up mode. The value in TACCR0, 128, defines the
//  PWM period and the values in TACCR1 and TACCR2 the PWM duty cycles. Using
//  ~1048kHz SMCLK as TACLK, the timer period is ~244us with a 75% duty cycle
//  on P1.2 and 25% on P2.0.
//  SMCLK = MCLK = TACLK = default DCO ~1048kHz.
//
//               MSP430FG4619
//            -----------------
//        /|\|              XIN|-
//         | |                 |  32kHz
//         --|RST          XOUT|-
//           |                 |
//           |         P1.2/TA1|--> TACCR1 - 75% PWM
//           |         P2.0/TA2|--> TACCR2 - 25% PWM
//
//   FengLF
//   LSD SCIENCE& TECHNOLOGY CO.,LTD 
//   2007.06
//   Built with IAR Embedded Workbench Version: 3.42A
//******************************************************************************

#include  <msp430xG46x.h>

void main(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW +WDTHOLD;                  // 关看门狗
  FLL_CTL0 |= XCAP14PF;                     // 设置装载电容
  do
  {
  IFG1 &= ~OFIFG;                           // 清晶振失效标志
  for (i = 0x47FF; i > 0; i--);             // 延时
  }
  while ((IFG1 & OFIFG));                   // 晶振失效标志仍存在?

  P1DIR |= 0x04;                            // P1.2 输出方向
  P1SEL |= 0x04;                            // P1.2 选择 TA1功能
  P2DIR |= 0x01;                            // P2.0 输出方向
  P2SEL |= 0x01;                            // P2.0 选择 TA2 功能
  TACCR0 = 128;                             // PWM 周期
  TACCTL1 = OUTMOD_7;                       // TACCR1 复位/置位
  TACCR1 = 96;                              // TACCR1 PWM 占空比
  TACCTL2 = OUTMOD_7;                       // TACCR2 复位/置位
  TACCR2 = 32;                              // TACCR2 PWM 占空比
  TACTL = TASSEL_2 + MC0;                   // SMCLK, 增计数模式

  _BIS_SR(CPUOFF);                          // 进入低功耗 LPM0
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -