<meta name="keywords" content="必胜时时彩开户,keywords" /> msp430单片机中止控制闪灼灯 联系我们

msp430单片机中止控制闪灼灯

/*******************************************************************************
                                               带中止的闪灼灯
****************************************************************************/ 
#include <msp430g2553.h>
/*************************************
msp430G2553控制与P1.0和P1.6毗连的两个LED等闪灼
闪灼效果可以用数组形式设定,循环将数组的值赋给输入P1.
******************************************/
char  dis[12]={0x41,0x00,0x41,0x00,0x01,0x00,0x40,0x00,0x40,0x00,0x01,0x00};
//界说有12的元素的数组dis[12],可以存储12种显示状态
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为输入,其他状态稳固
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;
   }