|
void main()
{
temp=0xfe; 把0xfe轉化為二進制為 1111 1110
while(1)
{
for(num1=0;num1<3;num1++) for循環(huán),,3次 此for內(nèi)程序 執(zhí)行3此
{
for(num=0;num<8;num++) for循環(huán),,8次 對應八個流水燈 此for程序執(zhí)行八次
{
P1=temp; 把temp的值0xfe賦給P1口此時只亮第一盞燈
beep=0; 蜂鳴器報警
delay(100); 延時
temp=_crol_(temp,1); temp移位,一位 此時temp=0xfd,二進制為1111 1101
P1=0xff; LED全滅;
beep=1; 關閉蜂鳴器
delay(100); 延時
}
}
在第二次循環(huán)中,首先把temp的值(0xfd)賦給P1口,蜂鳴器報警,
延時 temp再次移位移位fb 轉換為二進制為1111 1011LED全滅,關
閉蜂鳴器 延時
此程序現(xiàn)象分析:蜂鳴器報警,流水燈流動,LED全部熄滅,蜂鳴器關閉,此現(xiàn)象依次循環(huán)
流水燈程序分析
void main()
{
temp=0xfe; 初始化temp值二進制為1111 1110
P1=temp;
while(1)
{
temp=_crol_(temp,1); temp移位為 1111 1101
delay(100); 延時
P1=temp; 將temp值0xfd即1111 1101賦給P1口 輸出
}
}
此函數(shù)運行過程為 temp移位 P1輸出,temp移位 P1輸出 依次類推
|
|