<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        MSP430F5529的P1.7、P2.2中斷和頻率設置

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年08月31日   【字體:

        MSP430F5529單片機的P1.7、P2.2 io口中斷和頻率設置程序:

        #include "msp430F5529.h"

        #define P15_H    (P1IN & BIT5);
        #define P15_L   (P1OUT & (~BIT5));
        int tt=0,temp,kk,i;
        void delay(int ns)
        {
          int kk;
          while(ns--)
            for(kk=0;kk<120;kk++);
        }
        //******A/D轉換函數設置*****//
        void adc1()
        {
         P1SEL |=BIT6;       //轉換模擬信號從P1.6輸入,內部集成了轉換模塊
         ADC12CTL0 =ADC12ON  + ADC12SHT02 + ADC12MSC;
         ADC12CTL1 =ADC12SHP + ADC12CONSEQ_2;
         ADC12MCTL0=ADC12SREF_0+ADC12INCH_6;
         ADC12CTL0 |=ADC12ENC;
        //////一次轉換結束后產生轉換中斷調用ADC中斷函數////
        }
        void MainFre24M(void)
        {
           UCSCTL3 |=SELREF__REFOCLK;
           __bis_SR_register(SCG0);     //disable the FLL control loop
           UCSCTL0=0X0000;//            //Set lowest possible DCOx,MODxSCG0
           UCSCTL1=DCORSEL_6;           //Select DCO range 24MHz opreation
                                       //DCORSEL_x,其中x可選3、4、5、6、7
           UCSCTL3=FLLD_0+731;          //Set DCO Multiplier for 24MHz
                                        //(N+1)*FLLRef=Fdco
                                        //(731+1)*32768=24MHz
                                       //Set FLL DIV =fDCOCLK/2
           __bis_SR_register(SCG0);                 //Enable the FLL control loopSCG0
           UCSCTL4 |=SELA__DCOCLK+SELS__XT1CLK+SELM__DCOCLK;//MCLK Source select
           UCSCTL5 |=DIVPA_2;                       //ACLK output divide
           UCSCTL6 |=XT1DRIVE_3+XCAP_0;             //XT1 cap
        }
        int main(void)
         {
           WDTCTL = WDTPW + WDTHOLD;   // Stop WDT
           MainFre24M();
           UCSCTL3=FLLD_0+731;
           UCSCTL1=DCORSEL_7;
           P1REN |=BIT7;
           P1OUT |=BIT7;
           P1IE |=BIT7;
           P1IES|=BIT7;
           P1IFG&=~BIT7;
          
           P2REN |=BIT2;
           P2OUT |=BIT2;
           P2IE |=BIT2;
           P2IES|=BIT2;
           P2IFG&=~BIT2;
           __enable_interrupt();
           P1DIR |= 0x3f;
           P1DS  |= 0x3f;
           while(1)
             {
               UCSCTL1=DCORSEL_3;
               P1OUT |=BIT5;
               delay(1000);
               P1OUT &=~BIT5;
               delay(1000);     
             }  
         }
        #pragma vector=PORT1_VECTOR
        __interrupt void PORT17ISR(void)
        {
         int i;
         UCSCTL1=DCORSEL_7;
         UCSCTL3=FLLD_7+730;
         for(i=0;i<40;i++)
             {     
               P1OUT |=BIT0;
               delay(1000);
               P1OUT &= ~BIT0;
               delay(1000);     
             }
         P1IFG &=~BIT7;
        }
        #pragma vector=PORT2_VECTOR
        __interrupt void PORT22ISR(void)
        {
         int i;
         UCSCTL1=DCORSEL_7;
         UCSCTL3=FLLD_7+730;
         for(i=0;i<40;i++)
             {     
               P1OUT |=BIT3;
               delay(1000);
               P1OUT &= ~BIT3;
               delay(1000);     
             }
         P2IFG &=~BIT2;
        }
        關閉窗口
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮