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

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

QQ登錄

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

搜索
查看: 1493|回復(fù): 7
收起左側(cè)

求大神幫我解決一下這個(gè)問(wèn)題,關(guān)于單片機(jī)按鍵的 有兩個(gè)開(kāi)關(guān)a和b,和一個(gè)變量c

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

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:161164 發(fā)表于 2021-11-13 20:16 來(lái)自手機(jī) | 顯示全部樓層
當(dāng)a先按下,b再按下時(shí),a需不需要保持? 如不需要,按a再按b的最久間格是多久?
回復(fù)

使用道具 舉報(bào)

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

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

然后,按照放手順序 也要考慮這些問(wèn)題。

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

使用道具 舉報(bào)

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

感謝提醒 我弄好了
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2021-11-14 11:05 | 顯示全部樓層
給你寫個(gè)示例,理解后可以發(fā)揮各種應(yīng)用場(chǎng)景。也可以用于旋轉(zhuǎn)編碼器。
無(wú)標(biāo)題.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[]={//共陰數(shù)碼管段碼"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)//判斷誰(shuí)先按下
  21.                         {
  22.                                 flag1=1;                                                //狀態(tài)標(biāo)志1
  23.                                 sign=1;
  24.        
  25.                         }
  26.                         if(!key_B && key_A && !flag1)//判斷誰(shuí)先按下
  27.                         {
  28.                                 flag1=1;                                                //狀態(tài)標(biāo)志1
  29.                                 sign=2;
  30.                         }
  31.                         if(!key_B && !key_A && flag1 && !flag2)//兩個(gè)按鍵先后都按下
  32.                         {
  33.                                 flag2=1;                                                        //狀態(tài)標(biāo)志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)//按下一個(gè)中途抬起或結(jié)束按鍵都抬起
  45.                 {
  46.                         sign=0;//復(fù)位
  47.                         flag1=0;//復(fù)位
  48.                         flag2=0;//復(fù)位
  49.                 }
  50.                 count=0;//復(fù)位
  51.         }
  52. }

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



回復(fù)

使用道具 舉報(bào)

ID:980515 發(fā)表于 2021-11-14 17:53 來(lái)自手機(jī) | 顯示全部樓層
wulin 發(fā)表于 2021-11-14 11:05
給你寫個(gè)示例,理解后可以發(fā)揮各種應(yīng)用場(chǎng)景。也可以用于旋轉(zhuǎn)編碼器。

感謝大神
回復(fù)

使用道具 舉報(bào)

ID:824490 發(fā)表于 2021-11-15 08:59 | 顯示全部樓層
這個(gè)邏輯 就是EC11的,可以借來(lái)用用。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品1区 | 成人av电影在线 | 欧美在线观看免费观看视频 | 天天综合成人网 | 欧美午夜影院 | 一级黄色生活视频 | 一级毛片免费看 | 欧美精品二区 | 国外成人免费视频 | 国产精品伦一区二区三级视频 | 国产欧美精品 | 国产一卡二卡三卡 | 欧美午夜精品 | 婷婷久久综合 | 九九亚洲 | 日韩精品一区二区三区在线播放 | 久久国产高清视频 | 操人网站 | 精品国产一区二区在线 | 99久久精品免费看国产四区 | 亚洲欧美日韩精品久久亚洲区 | www.日韩欧美 | 久久久久久久久久久久久久久久久久久久 | 少妇精品久久久久久久久久 | 久久久国产一区 | 国产激情三区 | 久久99精品久久 | 伊人伊人 | 天天躁日日躁aaaa视频 | 97免费在线观看视频 | 91欧美精品成人综合在线观看 | 亚洲午夜精品一区二区三区 | 三级在线免费 | 日韩av在线一区二区三区 | 亚洲一区二区中文字幕在线观看 | h视频在线看 | 毛片高清 | 国产精品污www在线观看 | 日韩国产在线 | 亚洲一区二区三区四区av | 国产蜜臀97一区二区三区 |