欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機雙聯開關按鍵輕觸檢測程序的分析

[復制鏈接]
跳轉到指定樓層
樓主
我用的的是雙聯開關有個輕觸功能,1和2接  P1.6輸出高電平,P1.7輸出低電平,1和3接  全部關閉,1和2接時  輕觸一下,1和2斷開然后松開閉合,,狀態改變 P1.6輸出低電平,P1.7輸出高電平,但是只有在輕按著不松手時輸出狀態會 改變,能幫我分析一下嗎
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2019-9-27 09:33 | 只看該作者
樓主這個開關相當于有3種狀態:1.A-B通穩態,2.A-B-C都互不通暫態,3.A-C通穩態,給你寫個示例。
程序功能:加電判斷開關初始狀態確定輸出狀態
          輕按一下,開關狀態1-2-1,輸出狀態取反。再輕按一下,開關狀態1-2-1,輸出狀態恢復。
          重按一下,開關狀態1-2-3,輸出清0。再重按一下,開關狀態3-2-1,輸出恢復到第一次重按之前狀態。
  1. #include <reg51.h>

  2. sbit k1=P3^1;
  3. sbit k2=P3^0;
  4. sbit p16=P1^6;
  5. sbit p17=P1^7;

  6. bit flag=0;//聲明開關狀態標志

  7. void main()
  8. {
  9. //加電識別開關初始狀態
  10.         if(!k1)
  11.         {
  12.                 p16=1;
  13.                 p17=0;
  14.         }
  15.         if(!k2)
  16.         {
  17.                 p16=0;
  18.                 p17=0;
  19.         }
  20. //主循環
  21.         while(1)
  22.         {
  23.                 if(k1==1&&k2==1)//判斷開關有操作動作
  24.                 {
  25.                         flag=~flag;        //記憶操作狀態,
  26.                         while(1)                //等待操作結果
  27.                         {
  28.                                 if(k1==0&&flag==1)
  29.                                 {
  30.                                         p16=0;
  31.                                         p17=1;
  32.                                         break;                //跳出循環
  33.                                 }
  34.                                 if(k1==0&&flag==0)
  35.                                 {
  36.                                         p16=1;
  37.                                         p17=0;
  38.                                         break;                //跳出循環
  39.                                 }
  40.                                 if(k2==0)
  41.                                 {
  42.                                         p16=0;
  43.                                         p17=0;
  44.                                         break;                //跳出循環
  45.                                 }
  46.                         }
  47.                 }
  48.         }
  49. }
復制代碼
回復

使用道具 舉報

板凳
ID:586438 發表于 2019-9-27 17:06 | 只看該作者
wulin 發表于 2019-9-27 09:33
樓主這個開關相當于有3種狀態:1.A-B通穩態,2.A-B-C都互不通暫態,3.A-C通穩態,給你寫個示例。
程序功能 ...

非常感謝  完美實現了我需要的現象,這種邏輯思維真的好清晰,我在這邏輯里經常把自己繞混。再次感謝   
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表