#include <msp430f149.h>
#define CPU_F ((double)12000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
void main(void)
{
unsigned int i;
P2DIR=0xff;//p2作为输出端口
while(1)
{
for(i=0;i<10;i++)
{
switch(i)
{
case 0:
P2OUT^=BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;//取反,8个LED闪烁
delay_ms(50);
break;
case 1:
P2OUT^=BIT0;//闪烁一个
delay_ms(500);
break;
case 2:
P2OUT^=BIT1;
delay_ms(100);
break;
case 3:
P2OUT^=BIT2;
delay_ms(100);
break;
case 4:
P2OUT^=BIT3;
delay_ms(100);
break;
case 5:
P2OUT^=BIT4;
delay_ms(100);
break;
case 6:
P2OUT^=BIT5;
delay_ms(100);
break;
case 7:
P2OUT^=BIT6;
delay_ms(100);
break;
case 8:
P2OUT^=BIT7;
delay_ms(100);
break;
case 9:i=0;break;
default:
break;
}
}
}
}
我运行的时候8个灯一直闪烁,虽然单步调试显示都运行每个语句了,但是板子上只显示8个LED都闪烁,其他的没有现象可看,麻烦大侠帮我看看什么情况,我就是想实现分别运行下面语句,达到效果,第一次是8个LED都闪,第二次是闪烁一个,第三次一次类推。。。 |