在主函数中: void main() { unsigned char i; P1=0xfe; for(i<0;i<8;i++) { delay(50000); P1<<1; P1=P1|0x01;}在该程序中, P1=P1|0x01;这个代码,为什么要将P1端口的最低位置1,其余位不变。而且在右移时,要将其与0x80按位或,使最高位置1,其余位不变?