Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. #include <msp430.h>
  2.  
  3.  
  4. /**
  5. * main.c
  6. */
  7.  
  8. int main(void)
  9. {
  10. WDTCTL = WDTPW + WDTHOLD; // stop watchdog timer
  11. //step 1. to 3.
  12. UCSCTL3 = SELREF__REFOCLK; /*1.p1 set FLL ref to REF0CLK */
  13. UCSCTL4 |= SELA__REFOCLK; /*2.p1 Set ACLK = REFOCLK */
  14. UCSCTL0 = 0x0000; /*3.p1 set lowest DCOx and MODx bits */
  15.  
  16. do
  17. {
  18. //step 4. and 5.
  19. UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); /*4.p1 Clear XT2,XT1,DCO fault flags */
  20. SFRIFG1 &= ~OFIFG; /*5.p1 Clear fault flags */
  21.  
  22. }while(SFRIFG1&OFIFG); /*6.p1 test the oscillator fault flag */
  23.  
  24. __bis_SR_register(SCG0); //disable the FLL control loop
  25.  
  26. //step 7. and 8.
  27. UCSCTL1 = DCORSEL_6; /*7.p1 set DCO Multiplier for 8MHz*/
  28. UCSCTL2 &= 0xFE00;
  29. UCSCTL2 |= 0xF3; /*8.p1 Set DCO Multiplier for 8MHz */
  30. // (N + 1) * FLLRef = Fdco
  31. // (243 + 1) * 32768 = 8MHz
  32.  
  33. __bic_SR_register(SCG0); //enable the FLL control loop
  34.  
  35. __delay_cycles(250000); //settling time for the DCO
  36.  
  37. //step 9.p1
  38.  
  39. P7DIR |= BIT7; /*9.p1 P7.7 = toggle */
  40. P7SEL |= BIT7;
  41.  
  42.  
  43. //Steps 1. to 4.
  44. TA0CCTL0 = CCIE; /*1.p2 allow interrupt activate CCIE flag */
  45. TA0CCR0 = 1600 - 1 ; /*2.p2 set up TA0CCR0 to the value it activate */
  46. TA0CTL = TASSEL_2 + MC_1 + TACLR ;//+ ID_1; /*3.p2 SMCLK in MC "up" mode, set TACLR flag (start timer) */
  47.  
  48. P1DIR |= BIT0; /*4.p2 activate pin p1.0 and set it to output mode */
  49. P1OUT &= ~BIT0;
  50.  
  51. __bis_SR_register(LPM0_bits + GIE);
  52. __no_operation();
  53. }
  54.  
  55. #pragma vector = TIMER0_A0_VECTOR
  56. __interrupt void TIMER0_A0_ISR(void){
  57. P1OUT ^= BIT0; /*5.p2 Toggle the LED in the interrupt service routine */
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement