久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2321|回復: 8
打印 上一主題 下一主題
收起左側

這單片機程序搞不懂為啥不是按下指定時間執行?

[復制鏈接]
跳轉到指定樓層
樓主
ID:594633 發表于 2021-5-28 23:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
……
if(key_in==0)
{
delay(500);
if(key_in==0)
   {
        count=0;
        while(key_in==0)
           {
           delay(6000);
           count++;
           }
           if(count>10)        
                {
                relay1=0;
                }
        else count=0;
    }
  }

key_in達到時間后按鍵抬起的時候才執行relay1=0,不抬起不執行,有點懵…



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

使用道具 舉報

沙發
ID:731755 發表于 2021-5-29 07:33 | 只看該作者
你的程序不太對,
回復

使用道具 舉報

板凳
ID:716656 發表于 2021-5-29 09:23 | 只看該作者
  1. #include <reg51.h>
  2. #define uchar unsigned char//宏定義
  3. #define uint unsigned int//宏定義

  4. sbit key_in = P3^1;
  5. sbit led = P2^1;
  6. sbit relay1 = P2^0;
  7. uint count;

  8. void delay_1ms(uint t)//延時
  9. {
  10.         uint i;
  11.         while(--t)
  12.                 for(i=0;i<600;i++);
  13. }


  14. void main()
  15. {
  16.         relay1=0;
  17.         key_in=1;
  18.         while(1)
  19.         {
  20.         if(key_in==0)
  21.         {
  22.                 delay_1ms(20);
  23.                 if(key_in==0)
  24.                  {
  25.                          led=0;
  26.                                         count=0;
  27.                                         while(key_in==0)
  28.                                                  {
  29.                                                  delay_1ms(100);
  30.                                                          count++;
  31.                                                  }
  32.                                                  if(count>2)        
  33.                                                 {
  34.                                                 relay1=1;
  35.                                                 }
  36.                                         else count=0;
  37.                         }
  38.                 }
  39.         }

  40. }
復制代碼

我用你的框架用普中寫了一下,沒問題,應該是延時時間不對,太長了?  對應我的程序你修改下
回復

使用道具 舉報

地板
ID:594633 發表于 2021-5-29 14:28 | 只看該作者

我的運行也沒問題。
用的簡單的定時功能,累加方式的到長延時。
懵的是key_in持續低電平到指定延時時間夠應該是relay=0,但是實際是到了指定延時時間后key_in低電平保持沒有讓relay=0,而是釋放了才執行的,也就是key_in由0變1后才執行的。
回復

使用道具 舉報

5#
ID:716656 發表于 2021-5-29 14:45 | 只看該作者
kevind 發表于 2021-5-29 14:28
我的運行也沒問題。
用的簡單的定時功能,累加方式的到長延時。
懵的是key_in持續低電平到指定延時時間 ...

可以把你的程序發出來看看
回復

使用道具 舉報

6#
ID:213173 發表于 2021-5-29 16:28 | 只看該作者
kevind 發表于 2021-5-29 14:28
我的運行也沒問題。
用的簡單的定時功能,累加方式的到長延時。
懵的是key_in持續低電平到指定延時時間 ...

改為按鍵響應后先延時,延時時間到后key_in不論高低執行relay=0;,然后再判斷key_in就能滿足樓主意圖。
        if(key_in==0)
        {
                delay(500);
                if(key_in==0)
                {
                        count=10;
                        while(count--)
                        {
                                delay(6000);
                        }
                        relay1=0;
                        while(!key_in);
                }
        }
回復

使用道具 舉報

7#
ID:849913 發表于 2021-5-30 22:25 | 只看該作者
這個程序你按著按鍵不松那么key_in==0始終為真 就會始終在while(key_in==0)中循環不會往下運行,可以把程序都寫到while中 這樣按鍵不同抬起來也可以了
if(key_in==0)
{
delay(500);
if(key_in==0)
   {
        count=0;
        while(key_in==0)
           {
           delay(6000);
           count++;
           
           if(count>10)        
                {
                relay1=0;
                }
        else  relay1=1;;
    }
  }
}
回復

使用道具 舉報

8#
ID:594633 發表于 2021-5-31 08:58 | 只看該作者
wulin 發表于 2021-5-29 16:28
改為按鍵響應后先延時,延時時間到后key_in不論高低執行relay=0;,然后再判斷key_in就能滿足樓主意圖。
...

感謝&#128522;
回復

使用道具 舉報

9#
ID:594633 發表于 2021-5-31 08:58 | 只看該作者
老董 發表于 2021-5-30 22:25
這個程序你按著按鍵不松那么key_in==0始終為真 就會始終在while(key_in==0)中循環不會往下運行,可以把程序 ...

明白了,謝謝。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人性生交大片免费看中文带字幕 | 超碰导航 | a在线免费观看 | 在线观看国产精品一区二区 | 国产激情一区二区三区 | 精品视频一区二区三区四区 | 国产第一亚洲 | 亚洲欧美一区二区三区国产精品 | 日韩男人天堂 | 在线观看中文字幕 | 一区二区三区精品在线视频 | 日本不卡一区二区三区在线观看 | 国产精品视频一区二区三区四蜜臂 | 欧美色综合天天久久综合精品 | 日本精品视频在线观看 | 欧美黄视频 | 亚洲精品视频在线 | 免费激情网站 | www国产亚洲精品久久网站 | 亚洲综合色婷婷 | 天天综合成人网 | 在线观看国产 | 欧美一区在线看 | 美女啪啪国产 | 粉嫩一区二区三区国产精品 | 涩涩视频在线播放 | 欧美一区二区三区在线观看 | 麻豆久久久9性大片 | 97超碰成人 | 一区二区三区在线免费观看 | 精品久久影院 | 一区二区三区免费观看 | 1204国产成人精品视频 | 国内精品视频在线观看 | 久久久久久久久久久丰满 | 国产精品一区二区视频 | 九九久久国产 | 国产精品欧美一区二区三区不卡 | 日韩欧美一区二区三区免费观看 | 九九久久久 | 久久大陆 |