msp430G2553时钟选择与分频程序

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;
}
以上是msp430G2553时钟选择与分频程序的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>