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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

3個(gè)IO口這樣能接6個(gè)按鍵嗎?

查看數(shù): 1517 | 評論數(shù): 26 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2025-1-14 00:39

正文摘要:

請完善程序

回復(fù)

ID:1143230 發(fā)表于 2025-1-20 14:02
也可以
ID:584814 發(fā)表于 2025-1-20 11:39
3個(gè)IO口這樣能接6個(gè)按鍵,是查理復(fù)用接法的上限,并不是51單片機(jī)能力的上限。
用電阻電壓法理論上可以單口無限,實(shí)際單口接三五個(gè)也很常見。
ID:69038 發(fā)表于 2025-1-17 14:29
太陽雨ZW 發(fā)表于 2025-1-17 11:01
手中還有過去買的幾十個(gè),放著浪費(fèi)了,現(xiàn)在用來做些小制做利用下。

也是哈,就DIY樂呵樂呵,真做項(xiàng)目不要再考慮用它了。
ID:69038 發(fā)表于 2025-1-17 14:27
xiaobendan001 發(fā)表于 2025-1-17 09:54
我手里還有一點(diǎn)庫存呢,你要不?

我要這東西做什么哎。。。
手里還的幾十個(gè)8G1K08A的,當(dāng)時(shí)剛出來沒多久就買了,放在手里吃灰呢。。
ID:1136941 發(fā)表于 2025-1-17 12:15
devcang 發(fā)表于 2025-1-14 15:38
再加3只二極管,可以7個(gè)按鈕

也可以接10個(gè)按鍵,7個(gè)加B1-B2,B2-B3,B1-B3三個(gè)。
ID:1136941 發(fā)表于 2025-1-17 11:05
單片機(jī)學(xué)習(xí)習(xí) 發(fā)表于 2025-1-16 20:55
可以,但是那3個(gè)I/O必須帶ADC功能

3個(gè)口帶ADC,沒有搞懂
ID:1136941 發(fā)表于 2025-1-17 11:01
zhuls 發(fā)表于 2025-1-17 09:16
AT89C2051,可以說是史前文物了!
現(xiàn)在哪家上新項(xiàng)目還用這料?
現(xiàn)在新出的20腳MCU,哪個(gè)性能配置比不過 ...

手中還有過去買的幾十個(gè),放著浪費(fèi)了,現(xiàn)在用來做些小制做利用下。
ID:1109793 發(fā)表于 2025-1-17 09:54
zhuls 發(fā)表于 2025-1-17 09:16
AT89C2051,可以說是史前文物了!
現(xiàn)在哪家上新項(xiàng)目還用這料?
現(xiàn)在新出的20腳MCU,哪個(gè)性能配置比不過 ...

我手里還有一點(diǎn)庫存呢,你要不?
ID:69038 發(fā)表于 2025-1-17 09:16
太陽雨ZW 發(fā)表于 2025-1-15 13:31
用的是AT89C2051,不帶ADC

AT89C2051,可以說是史前文物了!
現(xiàn)在哪家上新項(xiàng)目還用這料?
現(xiàn)在新出的20腳MCU,哪個(gè)性能配置比不過它?除了固有的庫存,全新貨還貴的要人命。。
ID:264021 發(fā)表于 2025-1-16 20:55
可以,但是那3個(gè)I/O必須帶ADC功能
ID:1034262 發(fā)表于 2025-1-16 13:17

3個(gè)IO不需要節(jié)任何別的零件,可以節(jié)6個(gè)按鍵:
IO1、IO2、IO3分別對地接一個(gè)按鍵。
IO1-IO2、IO1-IO3、IO2-IO3接3個(gè)按鍵。
ID:1136941 發(fā)表于 2025-1-15 13:31
zhuls 發(fā)表于 2025-1-14 15:49
邏輯上沒啥問題。
但對于現(xiàn)在的MCU來說,意義不大,
6個(gè)4148不是錢?

用的是AT89C2051,不帶ADC
ID:161164 發(fā)表于 2025-1-15 09:44
太陽雨ZW 發(fā)表于 2025-1-14 16:48
這樣就很完善了,學(xué)習(xí)了。

5樓提醒了我,代碼可以簡化為

  1. sbit Pin_B1 = P3^2;
  2. sbit Pin_B2 = P3^3;
  3. sbit Pin_B3 = P3^4;
  4. u8 KeyVal = 0;//用完清零
  5. void key_Proc()//多鍵短按,1ms中斷內(nèi)運(yùn)行
  6. {
  7.         static u8 Delay_XD=0; //消抖計(jì)數(shù)
  8.         static bit ons = 0;
  9.         u8 KeyTemp = 0;
  10.         if(!Pin_B1)KeyTemp |= 0x01;
  11.         if(!Pin_B2)KeyTemp |= 0x02;
  12.         if(!Pin_B3)KeyTemp |= 0x04;
  13.         if(KeyTemp)
  14.         {
  15.                 if(++Delay_XD>=20 && !ons) //消抖
  16.                 {
  17.                         ons = 1;
  18.                         KeyVal = KeyTemp;
  19.                 }
  20.         }
  21.         else //按鍵抬起
  22.         {
  23.                 Delay_XD=0; //Delay_XD清0
  24.                 ons = 0;
  25.         }
  26. }
復(fù)制代碼
ID:1109793 發(fā)表于 2025-1-14 18:50
這是都對地接,如果接兩個(gè)IO之間,是不是還能更多?
ID:1136941 發(fā)表于 2025-1-14 16:48

這樣就很完善了,學(xué)習(xí)了。
ID:446156 發(fā)表于 2025-1-14 16:37
注意按鍵不要同時(shí)按下多個(gè)就行
ID:69038 發(fā)表于 2025-1-14 15:49
邏輯上沒啥問題。
但對于現(xiàn)在的MCU來說,意義不大,
6個(gè)4148不是錢?
為什么不用AD口來測按鍵?還能少兩個(gè)IO。
要知道硬件成本遠(yuǎn)大于軟件成本。
ID:277550 發(fā)表于 2025-1-14 15:38
再加3只二極管,可以7個(gè)按鈕
ID:277550 發(fā)表于 2025-1-14 15:26
邏輯像是 3 排列,取2個(gè)、和取1個(gè)。

這硬件電路沒有問題,測試過。
程序中,可以使用掃描,也可以用3個(gè)中斷、再判斷哪個(gè)按鈕
ID:1143011 發(fā)表于 2025-1-14 15:24
不知道什么原理 ,為何不用ADC口
ID:161164 發(fā)表于 2025-1-14 14:46

  1. sbit Pin_B1 = P3^2;
  2. sbit Pin_B2 = P3^3;
  3. sbit Pin_B3 = P3^4;
  4. u8 KeyVal = 0;//用完清零
  5. void key_Proc()//多鍵短按,1ms中斷內(nèi)運(yùn)行
  6. {
  7.         static u8 Delay_XD=0; //消抖計(jì)數(shù)
  8.         static bit ons = 0;
  9.         if(!Pin_B1 || !Pin_B2 || !Pin_B3)
  10.         {
  11.                 if(++Delay_XD>=20 && !ons) //消抖
  12.                 {
  13.                         ons = 1;
  14.                         if(!Pin_B1 && !Pin_B2)
  15.                         {
  16.                                 KeyVal = SW2;
  17.                         }else if(!Pin_B2 && !Pin_B3)
  18.                         {
  19.                                 KeyVal = SW4;
  20.                         }else if(!Pin_B1 && !Pin_B3)
  21.                         {
  22.                                 KeyVal = SW6;
  23.                         }else{
  24.                                 if(!Pin_B1)
  25.                                 {
  26.                                         KeyVal = SW1;
  27.                                 }
  28.                                 if(!Pin_B2)
  29.                                 {
  30.                                         KeyVal = SW3;
  31.                                 }
  32.                                 if(!Pin_B3
  33.                                 {
  34.                                         KeyVal = SW5;
  35.                                 }                               
  36.                         }
  37.                 }
  38.         }
  39.         else //按鍵抬起
  40.         {
  41.                 Delay_XD=0; //Delay_XD清0
  42.                 ons = 0;
  43.         }
  44. }
復(fù)制代碼


ID:476244 發(fā)表于 2025-1-14 14:00
可以,也可以再接第7個(gè)開關(guān)同時(shí)拉低三個(gè)I/O口。
也可以只用3個(gè)開關(guān)組合使用。
二進(jìn)制的 000-111 。
ID:1003477 發(fā)表于 2025-1-14 13:47
判斷B1、B2、B3的電平高低   b1低且b2、b3高對應(yīng)sw1,b2低且b1、b3高對應(yīng)sw3,b3低且b1、b2高對應(yīng)sw5,b1、b2低且b3高對應(yīng)sw2......
ID:1136941 發(fā)表于 2025-1-14 10:47
這樣寫可以實(shí)用吧,消抖用按鍵并電容,
char key()
{
  B1=1;
  B2=1;
  B3=1;
        if(B1==0)return 1;
else  if(B1==0&&B2==0)return 2;
else  if(B2==0)return 3;
else  if(B2==0&&B3==0)return 4;
else  if(B3==0)return 5;
else  if(B3==0&&B1==0)return 6;
else  return 0;
}
ID:526108 發(fā)表于 2025-1-14 10:28

什么亂七八糟的,來搞笑的吧

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩高清国产一区在线 | 天堂久久久久久久 | 国产一区二区在线播放 | 超碰一区二区 | 日韩视频在线播放 | a级大毛片 | 一区二区三区av | 亚洲午夜久久久 | 91在线精品视频 | 久久久久国产精品一区二区 | 免费日本视频 | 精品一区二区三区在线视频 | 国产精品视频网站 | 国产九九精品 | 色婷婷精品国产一区二区三区 | 特级做a爰片毛片免费看108 | 国产成人福利 | 日韩欧美三区 | 亚洲黄色av | 欧美日韩综合视频 | 欧美一区二区三区四区视频 | 亚洲精品九九 | 国内精品久久久久久久影视简单 | 天天干天天玩天天操 | 狠狠久久 | 日本精品一区二区 | 久久久精品一区 | 日韩av一区二区在线观看 | 日本黄色大片免费看 | 日韩成人一区 | 亚洲欧美综合 | 夜夜艹| 久久久久久国产 | 91高清在线观看 | 国产羞羞视频在线观看 | 色综合视频在线 | 欧美日韩中文字幕在线 | 美国一级毛片a | 久久88| 视频二区在线观看 | 一区二区免费在线观看 |