专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

msp430G2553时钟选择与分频程序

作者:佚名   来源:本站原创   点击数:  更新时间:2014年08月31日   【字体:

msp430G2553单片机的时钟选择和分频程序如下:

#include "msp430G2553.h"

#define unchar unsigned char
#define uint unsigned int
uint Fre;
 
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL2 |=SELM_1+DIVM_0;
  P1DIR &=~BIT3;
  P1REN |=BIT3;
  P1OUT |=BIT3;
  P1DIR |=BIT0;
  P1IE  |=BIT3;
  P1IES &=~BIT3;
  _EINT();
  while(1)
  {
    P1OUT ^=BIT0;
    __delay_cycles(1000000);
  }
}
#pragma vector=PORT1_VECTOR
__interrupt void PORTP13(void)
{
  uint temp,pushkey=0;
  pushkey=BIT3 & (~P1DIR);
  __delay_cycles(100000);
 temp=P1IN; 
  if((~temp) & BIT3==pushkey)
  {
     Fre++;
     if(Fre>3) Fre=0;
     switch(Fre)
       {
  case 0: DCOCTL=CALDCO_1MHZ;BCSCTL1 = CALBC1_1MHZ;break;
  case 1: DCOCTL=CALDCO_8MHZ;BCSCTL1 = CALBC1_8MHZ;break;
  case 2: DCOCTL=CALDCO_12MHZ;BCSCTL1 = CALBC1_12MHZ;break;
  case 3: DCOCTL=CALDCO_16MHZ;BCSCTL1 = CALBC1_16MHZ;break;
      default:break;
       }
  }
 P1IFG &=~BIT3;
}
关闭窗口