/*************************
不操作的燈為P1^2,P1^3
************************/
// 全局
sbit LED_1 = ACC^1;
sbit LED_3 = ACC^3;
void light_time()
{
int i,temp,times;
P1=0xFC;//11111100->LED0、LED1亮
//你確定要這樣 賦值么? P1^2, P1^3 就給你賦1了!!!
for(i=0;i<8;i++)
{
ACC =_crol_(P1,1);
LED_1 = LED3;
temp = ACC | 0x0C; // xxxx11xx
times=3;
while(times--!=0)//閃爍三次
{
delay(1000);
P1 |= 0xF3;//1111xx11-> 除了 P1^2,P1^3 所有LED燈熄滅
delay(1000);
P1 &= temp;//因為進行熄滅操作時將P2賦值為了0xF3,即1111xx11
//若不引入temp變量暫存當前P2的值,之后的移位操作將毫無意義
//你會發現LED燈一直不會亮(因為P2的8個引腳全為1了,咋移都亮不了)
}
}
}
|