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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1493|回復: 7
收起左側

求大神幫我解決一下這個問題,關于單片機按鍵的 有兩個開關a和b,和一個變量c

[復制鏈接]
ID:980515 發表于 2021-11-13 04:06 | 顯示全部樓層 |閱讀模式
有兩個開關a和b,和一個變量c,a,b按下是都是低電平
如果a先按下,b再按下,執行c++
如果b先按下,a再按下,執行c--

回復

使用道具 舉報

ID:980515 發表于 2021-11-13 04:08 | 顯示全部樓層
如果可以的話,求一個程序,這個琢磨了好幾天就是不行
回復

使用道具 舉報

ID:161164 發表于 2021-11-13 20:16 來自手機 | 顯示全部樓層
當a先按下,b再按下時,a需不需要保持? 如不需要,按a再按b的最久間格是多久?
回復

使用道具 舉報

ID:624769 發表于 2021-11-13 20:39 | 顯示全部樓層
荷包蛋PPL 發表于 2021-11-13 04:08
如果可以的話,求一個程序,這個琢磨了好幾天就是不行

你要先定一個規則,
1) 單獨按下 A 或 B 算不算 按鍵了?
2) 1算得話, 那么單獨按下多久之內 按下另一個才算組合?
3) 2成立的話, 那么如果 超時,比如A按下,一直沒有按B 算A按下了,那么這個時候B又按下了,到底是組合鍵忽略? A的結果放棄,組合鍵成立? 還是 A 也成立, 組合鍵也成立,算兩次按鍵?  還是說算 A, B 各一次?

然后,按照放手順序 也要考慮這些問題。

最好,先用筆畫一個流程圖, 如果,那么, 否則,  各種情況考慮一下,定個規則。不然設計出來的按鍵很可能不按你想得方式動作。(當然,按下后 while 傻等,可以避免這些意外情況,那么你也考慮,是否使用while 傻等這種方式)
回復

使用道具 舉報

ID:980515 發表于 2021-11-14 08:01 來自手機 | 顯示全部樓層
188610329 發表于 2021-11-13 20:39
你要先定一個規則,
1) 單獨按下 A 或 B 算不算 按鍵了?
2) 1算得話, 那么單獨按下多久之內 按下另 ...

感謝提醒 我弄好了
回復

使用道具 舉報

ID:213173 發表于 2021-11-14 11:05 | 顯示全部樓層
給你寫個示例,理解后可以發揮各種應用場景。也可以用于旋轉編碼器。
無標題.jpg

  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit key_A = P3^0;
  5. sbit key_B = P3^1;
  6. uchar code table[]={//共陰數碼管段碼"0~f"
  7. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  8. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. uchar num;
  10. uchar sign;
  11. bit flag1,flag2;

  12. void key_scan()
  13. {
  14.         static uchar count;

  15.         if(!key_A||!key_B)//任意按鍵按下
  16.         {
  17.                 if(++count>=100)//消抖
  18.                 {
  19.                         count=0;
  20.                         if(!key_A && key_B && !flag1)//判斷誰先按下
  21.                         {
  22.                                 flag1=1;                                                //狀態標志1
  23.                                 sign=1;
  24.        
  25.                         }
  26.                         if(!key_B && key_A && !flag1)//判斷誰先按下
  27.                         {
  28.                                 flag1=1;                                                //狀態標志1
  29.                                 sign=2;
  30.                         }
  31.                         if(!key_B && !key_A && flag1 && !flag2)//兩個按鍵先后都按下
  32.                         {
  33.                                 flag2=1;                                                        //狀態標志2
  34.                                 switch(sign)
  35.                                 {
  36.                                         case 1: if(num<9)num++; break;
  37.                                         case 2: if(num>0)num--; break;
  38.                                 }
  39.                         }
  40.                 }
  41.         }
  42.         else
  43.         {
  44.                 if(flag1==1)//按下一個中途抬起或結束按鍵都抬起
  45.                 {
  46.                         sign=0;//復位
  47.                         flag1=0;//復位
  48.                         flag2=0;//復位
  49.                 }
  50.                 count=0;//復位
  51.         }
  52. }

  53. void main()
  54. {         
  55.         while(1)
  56.         {
  57.                 key_scan();
  58.                 P2=table[num];
  59.         }
  60. }
復制代碼



回復

使用道具 舉報

ID:980515 發表于 2021-11-14 17:53 來自手機 | 顯示全部樓層
wulin 發表于 2021-11-14 11:05
給你寫個示例,理解后可以發揮各種應用場景。也可以用于旋轉編碼器。

感謝大神
回復

使用道具 舉報

ID:824490 發表于 2021-11-15 08:59 | 顯示全部樓層
這個邏輯 就是EC11的,可以借來用用。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美福利视频一区 | 欧美精品二区 | 国产午夜视频 | 97色伦网| 国产高清自拍视频在线观看 | 91av在线免费观看 | 91人人视频在线观看 | 91视频网 | 久草.com | 国产91在线播放 | 中文av在线播放 | 日本成人在线免费视频 | 欧美精品一级 | 欧美一区二区三区的 | 风间由美一区二区三区在线观看 | 中文字幕一区二区三区四区不卡 | 日韩av在线中文字幕 | 亚洲最新网址 | 久久夜视频 | 色婷婷综合久久久久中文一区二区 | 精品国产精品国产偷麻豆 | 精品成人佐山爱一区二区 | 亚洲一区二区国产 | 五月激情婷婷六月 | 国产在线观看网站 | 成人美女免费网站视频 | 91极品视频 | caoporn地址| 精品美女久久久久久免费 | 免费成人av网站 | 久久99久久98精品免观看软件 | 亚洲第一视频网站 | 国产色99精品9i | 酒色成人网 | 午夜丰满寂寞少妇精品 | 欧美αv | 久久人人爽人人爽人人片av免费 | 四虎免费视频 | 性视频网 | 国产精品18hdxxxⅹ在线 | 精品日韩|