这段程序除了需外接32k的晶振还要接其他的吗?

2019-07-14 21:54发布



//  MSP-FET430P140 Demo - Timer_A, Toggle P1.0, Overflow ISR, 32kHz ACLK
//
//  Description: Toggle P1.0 using software and the Timer_A overflow ISR.
//  In this example an ISR triggers when TA overflows. Inside the ISR P1.0
//  is toggled. Toggle rate is exactly 0.5Hz. Proper use of the TAIV interrupt
//  vector generator is demonstrated.
//  ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~800kHz
//  //* An external watch crystal on XIN XOUT is required for ACLK *//
//
//           MSP430F149
//         ---------------
//     /||            XIN|-
//      | |               | 32kHz
//      --|RST        XOUT|-
//        |               |
//        |           P1.0|-->LED
//
//  M. Buccini
//  Texas Instruments Inc.
//  Feb 2005
//  Built with IAR Embedded Workbench Version: 3.21A
//******************************************************************************
#include  <msp430x14x.h>
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= 0x01;                            // P1.0 output
  TACTL = TASSEL_1 + MC_2 + TAIE;           // ACLK, contmode, interrupt
  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/ interrupt
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
  switch( TAIV )//判断哪个产生中断
  {
    case  2:  break;                        // CCR1 not used
    case  4:  break;                        // CCR2 not used
    case 10:  P1OUT ^= 0x01;                // overflow
              break;
  }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
liliang9554
1楼-- · 2019-07-16 19:15
我想用按键控制LED,按键按一次是这个灯亮,连续按两次是另外一个灯亮。不知道编程要怎么编,哪位大侠可以教下我。谢谢了
午夜粪车
2楼-- · 2019-07-16 22:59
 精彩回答 2  元偷偷看……
liliang9554
3楼-- · 2019-07-17 00:40

问题是按两次这个怎么处理?
午夜粪车
4楼-- · 2019-07-17 03:01
反复地读端口的电平值
jiaxw
5楼-- · 2019-07-17 08:24

设置一个变量计数,按一次计1,两次计2,再判断

一周热门 更多>