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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機程序如何在按鍵K1 K2內循環(huán)?

[復制鏈接]
跳轉到指定樓層
樓主
ID:686311 發(fā)表于 2021-7-10 10:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  while(1)
{
   if(K1 == 0)
  {
    delay();
   while(!K1);
     
      
   MA   = 0;
   MB   = 1;
   MC   = 0;
   MD   = 0;
   delay10s();
   MA   = 0;
   MB   = 0;
   MC   = 0;
   MD   = 1;
   delay10s();
  }
  if(K2 == 0)
  {
      delay();
   while(!K2);
    MA   = 1;
   MB   = 0;
   MC   = 0;
   MD   = 0;
   delay10s();
   MA   = 0;
   MB   = 0;
   MC   = 1;
   MD   = 0;
   delay10s();
       }


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

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2021-7-10 15:39 | 只看該作者
畫個框圖就可以了。
回復

使用道具 舉報

板凳
ID:716656 發(fā)表于 2021-7-10 16:12 | 只看該作者
增加一個標志位,if只更改標志位的值,標志位的值決定循環(huán)執(zhí)行誰。你的按鍵消抖部分寫的有問題,抄下別人的
回復

使用道具 舉報

地板
ID:161164 發(fā)表于 2021-7-11 13:05 | 只看該作者
  1. while(1)
  2. {
  3.    if(PushCount++ > 2000)//按鍵掃描延時
  4.   {
  5.     PushCount=0;
  6.     if(!K1 && K1_Old)//下降沿檢測
  7.     {
  8.         K1_Flag = 1;
  9.         K2_Flag = 0;
  10.     }
  11.     if(!K2 && K2_Old)//下降沿檢測
  12.     {
  13.         K1_Flag = 0;
  14.         K2_Flag = 1;
  15.     }
  16.     K1_Old = K1;
  17.     K2_Old = K2;
  18.   }
  19.     if(K1_Flag)
  20.     {
  21.         K1_Push();//K1按下函數(shù)
  22.     }
  23.     if(K2_Flag)
  24.     {
  25.         K2_Push();//K2按下函數(shù)
  26.     }
  27. }
復制代碼
任何時候都不要用太長時間的delay(如>100us)
如果一定要長時間延時,可用變數(shù)加1結合標置位代替
例子如下
  1. void K1_Push()
  2. {
  3.     static unsigned int delay_count1, delay_count2;//static 變數(shù)在跳出函數(shù)也不會被清零
  4.     if(delay_count1++ >1000)
  5.     {
  6.         delay_count1 = 0;
  7.         if(delay_count2++ >1000)
  8.         {
  9.             delay_count2 = 0;
  10.             K1_Mode = !K1_Mode;
  11.         }
  12.     }
  13.     if(K1_Mode)
  14.     {
  15.          MA   = 0;
  16.          MB   = 1;
  17.          MC   = 0;
  18.          MD   = 0;
  19.     }else
  20.     {
  21.          MA   = 0;
  22.          MB   = 0;
  23.          MC   = 0;
  24.          MD   = 1;
  25.     }
  26. }
復制代碼



回復

使用道具 舉報

5#
ID:951931 發(fā)表于 2021-7-11 22:14 | 只看該作者
加框圖
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲va欧美va天堂v国产综合 | 欧美区日韩区 | 日韩中文字幕网 | 91精品国产91久久综合桃花 | 日韩av在线免费 | 日韩免费视频一区二区 | 黄色av网站在线观看 | 自拍偷拍在线视频 | 亚洲国产一 | 性欧美精品一区二区三区在线播放 | 视频在线一区二区 | 视频一区二区在线观看 | 中文字幕av网站 | 午夜视频在线观看网站 | 国产在线观看免费 | wwww.8888久久爱站网 | 久久国产精品72免费观看 | 91久久电影| 中文字幕一区二区不卡 | 国产精品久久久久久婷婷天堂 | 一区二区中文字幕 | 三级av网址| 欧美成年人视频在线观看 | 精品国产乱码久久久久久蜜柚 | 成人影视网址 | 日韩成人免费视频 | 色综合久 | 啪一啪在线视频 | 国产三级 | 久久精品中文 | 欧美一二精品 | 国产精品久久久久不卡 | 国产9久| 国产伦精品一区二区三区在线 | 中文字幕一区二区三区不卡 | 在线91| 国产精品精品视频一区二区三区 | 国产精品99999999 | 精品欧美乱码久久久久久 | 日韩精品一区二区三区在线播放 | 中文字幕精 |