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

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

        msp430 Input / Output Port

        作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月31日   【字體:

         #include  <msp430x14x.h>

        #include  "BoardConfig.h"
        void DelayMs(unsigned int ms)
        {
          unsigned char i;
          while(--ms)
          {
            for(i=110;i>0;--i);
          }
        }
        void main(void)
        {
          BoardConfig(0xF7);
         // BoardConfig(0xb8);
          WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
          //P3DIR |= BIT3;                            // Set P3.4 to output direction
          P2DIR |= 0xff;
          unsigned char i;
          for (;;)
          {
              for(i=0x01;i<0x80;i<<=1)
              {
                P2OUT = ~i;
                //WDTCTL = WDTPW + 0x0d;
                DelayMs(100);
              }
             
              for(i=0x80;i>0x00;i>>=1)
              {
                P2OUT = ~i;
                //WDTCTL = WDTPW + 0x0d;
                DelayMs(100);
              }     
          }
        }
         
        /////////////////////////////////////////////////////////////////
         
        //用軟件定時使發光二級管閃爍。
         
        #include <msp430x14x.h>
         
        void main (void)
        {
          unsigned int i;
          WDTCTL=WDTPW+WDTHOLD; // 關看門狗
          P3DIR |= 0X10; // P3.4作輸出
         
          while(1)
          {
            i=50000;
            P3OUT ^= 0X10;//低電平燈亮
            while(i--); // 軟件定時
          }
        }
        /////////////////////////////////////////////////////////////////////////////////////////
         
        //按一次按鍵,對應的發光二極管狀態改變一次。
        #include <msp430x14x.h>
        #include "BoardConfig.h"
        void main(void)
        {
          BoardConfig(0xf7);
          WDTCTL=WDTPW+WDTHOLD;
          P2DIR = 0XfF;
          P2OUT = 0Xff;
          P1OUT = 0xff;
          P1DIR = 0xf0 ; // All pins but button to output
          P1IES = 0x0f; // Button int on falling edge
          P1IFG = 0;
          P1IE = 0x0f; // enable P1.0--P1_3 interrupt
          _EINT(); // 開總中斷
          while(1)
          _BIS_SR(LPM4_bits); // 進入低功耗模式4
        }
         
        #pragma vector = PORT1_VECTOR
        __interrupt void PORT1_ISR(void) // 鍵盤中斷
        {
          unsigned int i;
          unsigned char temp;
          temp = P1IFG;
          for(i=0;i<0x1fff;i++); // 消抖
          if((P1IN&temp)==(!temp))
          {
            switch(temp)
            {
              case 1: P2OUT ^=0X01;break; //P4.4狀態改變,即LED1狀態改變
              case 2: P2OUT ^=0X02;break; //P4.4狀態改變,即LED2狀態改變
              case 4: P2OUT ^=0X04;break; //P4.4狀態改變,即LED2狀態改變
              case 8: P2OUT ^=0X08;break; //P4.4狀態改變,即LED2狀態改變
            }
          }
          P1IFG = 0; // 清除中斷請求位
        }
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮