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

QQ登錄

只需一步,快速開(kāi)始

搜索

單片機(jī)按鍵控制程序開(kāi)始結(jié)束

查看數(shù): 4411 | 評(píng)論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2021-5-10 18:23

正文摘要:

大佬們看看為什么這個(gè)程序只能按一次開(kāi)始,后面按它就沒(méi)用了。怎么能做到按一下開(kāi)始按一下結(jié)束

回復(fù)

ID:609524 發(fā)表于 2021-5-12 10:49
wcf101 發(fā)表于 2021-5-11 20:06
謝謝大佬,修改好了。那為什么不加按鍵的時(shí)候是可以循環(huán)的呢

按他這樣寫(xiě)應(yīng)該不會(huì)啊,flag為1的時(shí)候才會(huì)執(zhí)行l(wèi)ed()函數(shù);
ID:905775 發(fā)表于 2021-5-11 20:06

謝謝大佬,修改好了。那為什么不加按鍵的時(shí)候是可以循環(huán)的呢
ID:213173 發(fā)表于 2021-5-11 14:23


  1. #include<reg52.h>

  2. sbit key=P3^2;

  3. bit flag=0;

  4. void delay(unsigned int cnt)
  5. {
  6.         while(--cnt);
  7. }

  8. void led()
  9. {
  10.         if(P0==0xff)
  11.                 P0=0xfe;
  12.         delay(65535);//不能大于65535
  13.         P0<<=1;
  14.         P0|=0x01;
  15. }

  16. void main()
  17. {
  18.         while(1)
  19.         {
  20.                 if(key==0)               
  21.                 {
  22.                         delay(100);       
  23.                         if(key==0)               
  24.                         {
  25.                                 flag=~flag;
  26.                         }
  27.                         while(!key);
  28.                 }
  29.                 if(flag)
  30.                 {
  31.                         led();
  32.                 }
  33.                 else
  34.                         P0=0xff;
  35.         }
  36. }
復(fù)制代碼



ID:752974 發(fā)表于 2021-5-11 08:34
用一個(gè)按鍵操作的話,只能用計(jì)數(shù)的方法,根據(jù)計(jì)數(shù)值:1.。。;2.。。。。;3.。。完成各相關(guān)的動(dòng)作。根據(jù)需要確定最大計(jì)數(shù)值,在最大值時(shí)在適當(dāng)?shù)牡胤角逵?jì)數(shù)值。

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

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

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