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

msp430單片機中斷控制閃爍燈

作者:佚名   來源:本站原創(chuàng)   點擊數:  更新時間:2013年11月06日   【字體:

/*******************************************************************************
                                               帶中斷的閃爍燈
****************************************************************************/ 
#include <msp430g2553.h>
/*************************************
msp430G2553控制與P1.0和P1.6連接的兩個LED等閃爍
閃爍效果可以用數組形式設定,循環(huán)將數組的值賦給輸出P1.
******************************************/
char  dis[12]={0x41,0x00,0x41,0x00,0x01,0x00,0x40,0x00,0x40,0x00,0x01,0x00};
//定義有12的元素的數組dis[12],可以存儲12種顯示狀態(tài)
int n,t,m;
void delay()
/*設置自定義函數,如果在主程序前可直接設置,在主程序后設置則要先聲明主程序前
聲明,然后在主程序后設置*/
{
  while(t--);
}
void main(void)
{
 
 WDTCTL = WDTPW + WDTHOLD; // 停止看門狗
 _EINT();
 P1DIR &=~BIT3;
 P1IE |= BIT3;
 P1IES |=BIT3;
 P1IFG =0x00;
 P1DIR |=(BIT0+BIT6);//設置P1.0和P1.6為輸出,其余狀態(tài)不變
while(1)
   {
     for (n=0;n<12;n++)
        {
           P1OUT=dis[n];
            delay(100);
        }
   }
}

#pragma vector=PORT1_VECTOR
   __interrupt void MM(void)
   {
     if ((P1IFG & BIT3)==BIT3)
     {
     P1OUT |=BIT0;
     for (m=1;m<15;m++)
         {
         P1OUT^=(BIT0);
         delay(5);
         }
     }
     P1IFG &=0x00;
   }

關閉窗口

相關文章