/*************************
不操作的灯为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了,咋移都亮不了)
}
}
}
|