找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3334|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

while語句的困惑 求解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:40506 發(fā)表于 2012-5-19 22:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

------------------------------------------------*/
#include<reg51.h>    

sbit key1=P1^0;

sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;

main()
{
  bit Flag;
while(!Flag)

      {
      if(!key1)     {P2=0xFE;Flag=1;}
   else if(!key2){P2=0xFD;Flag=1;}
   else if(!key3){P2=0xFB;Flag=1;}
   else if(!key4){P2=0xF7;Flag=1;}
      }
 
while(Flag)

}

這是個(gè)4通道搶答器的程序    我發(fā)現(xiàn)如果不加最后那句while(Flag),則按鍵并沒被鎖定,按下key1,1號(hào)燈亮,接著按key2,又變成2號(hào)燈亮了,

按道理講,當(dāng)?shù)谝淮伟聪耴ey1后,F(xiàn)lag的狀態(tài)不是變化了嗎,應(yīng)該不符合while的條件了啊,為什么還能繼續(xù)執(zhí)行里面的if else語句了?

本人初學(xué),求各位大俠指點(diǎn)迷津

 

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表