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