日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

請(qǐng)教:"&"的問(wèn)題

我剛開(kāi)始學(xué)習(xí)單片機(jī),在書(shū)上看到這樣一個(gè)程序:P1.7為輸入端,接開(kāi)關(guān),用P1.0,P1.1,P1.2和P1.3表示的16進(jìn)制數(shù),來(lái)記下開(kāi)關(guān)被按下的次數(shù).
  可我去做了一遍,結(jié)果不對(duì),P1口沒(méi)反應(yīng)
#include
sbit INPUT=P1^7;
sbit DIGI0=P1^0;
sbit DIGI1=P1^1;
sbit DIGI2=P1^2;
sbit DIGI3=P1^3;
main()
{
char cnt=0;
  while(1){
      INPUT=1;
  DIGI0=DIGI1=DIGI2=DIGI3=1;
  while(INPUT==1);
  INPUT=1;
  while(INPUT==0);
  cnt=(cnt+1)%16;

  DIGI0=!(cnt&0x08);        
  DIGI1=!(cnt&0x04);
  DIGI2=!(cnt&0x02);
  DIGI3=!(cnt&0x01);
}
}
感覺(jué)好像是&有點(diǎn)問(wèn)題,可又找不出來(lái),請(qǐng)哪位知道的老師告訴一下,非常感謝   



          }
}
全部回復(fù)(6)
正序查看
倒序查看
sgbmasm
LV.4
2
2008-03-25 09:06
while(INPUT)=1;
INPUT=1;
這里有問(wèn)題,如果一開(kāi)始是高電平,將在這里死循環(huán)
0
回復(fù)
2008-03-25 13:34
@sgbmasm
while(INPUT)=1;INPUT=1;這里有問(wèn)題,如果一開(kāi)始是高電平,將在這里死循環(huán)
沒(méi)有吧?輸入是個(gè)開(kāi)關(guān)量.while(INPUT==1); 的意思是直到INPUT==0時(shí)執(zhí)行下一步,電平由高到低再到高才是一個(gè)完整的吧?
0
回復(fù)
2008-03-25 13:38
@sgbmasm
while(INPUT)=1;INPUT=1;這里有問(wèn)題,如果一開(kāi)始是高電平,將在這里死循環(huán)
我在KEIL里運(yùn)行時(shí)cnt的計(jì)數(shù)是對(duì)的,就是取出四個(gè)位時(shí)不對(duì), DIGI0 DIGI1 DIGI2 DIGI3電平一直沒(méi)變化
0
回復(fù)
sgbmasm
LV.4
5
2008-03-27 18:05
@竹林清風(fēng)
我在KEIL里運(yùn)行時(shí)cnt的計(jì)數(shù)是對(duì)的,就是取出四個(gè)位時(shí)不對(duì),DIGI0DIGI1DIGI2DIGI3電平一直沒(méi)變化
我仿真過(guò)了,不知你加沒(méi)加#include
應(yīng)該沒(méi)什么問(wèn)題!
0
回復(fù)
sgbmasm
LV.4
6
2008-03-27 18:07
@竹林清風(fēng)
我在KEIL里運(yùn)行時(shí)cnt的計(jì)數(shù)是對(duì)的,就是取出四個(gè)位時(shí)不對(duì),DIGI0DIGI1DIGI2DIGI3電平一直沒(méi)變化
你用什么觀查的?
0
回復(fù)
2008-04-01 00:08
軟件看起來(lái)是沒(méi)有問(wèn)題的,不過(guò)你是仿真還是用電路測(cè)試啊?如果是做電路用輕觸開(kāi)關(guān)應(yīng)該加上防抖動(dòng)才行.DELAY 10MS檢測(cè)多一次低電平.
0
回復(fù)
發(fā)