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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4176|回復: 5
打印 上一主題 下一主題
收起左側(cè)

3*3矩陣鍵盤如何解決另外兩個端口資源的占用問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:465020 發(fā)表于 2019-3-10 18:43 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
因為要設(shè)計一個單片機3*3的矩陣按鍵,但又不想浪費另外兩個mcu端口資源,跪求大神能幫忙想個方法。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:401564 發(fā)表于 2019-3-10 23:49 | 只看該作者
3*3不是用掃描的嗎?一個X端口高電平,然后去檢查Y端口的電平,沒有檢測到電平變化就掃描下一行,這不就可以了,另外兩個還是一樣的正常使用呀
回復

使用道具 舉報

板凳
ID:475444 發(fā)表于 2019-3-11 06:29 | 只看該作者
你是要9個鍵,建議你看一下:這個http://www.zg4o1577.cn/bbs/dpj-152064-1.html

評分

參與人數(shù) 1黑幣 +8 收起 理由
struct00 + 8 贊一個!

查看全部評分

回復

使用道具 舉報

地板
ID:7485 發(fā)表于 2019-3-11 07:32 | 只看該作者
不影響多出的兩個IO正常使用的。
回復

使用道具 舉報

5#
ID:213173 發(fā)表于 2019-3-11 17:11 | 只看該作者
給你寫一個3*3矩陣鍵盤不占用剩余IO口演示程序,有詳細注釋。順序取了P3.0~3.5,按此規(guī)律可以取任意一組的任意6個IO口。

  1. #include <reg52.h>
  2. #define uint unsigned int                 //宏定義無符號整型數(shù)據(jù)
  3. #define uchar unsigned char         //宏定義無符號字符型數(shù)據(jù)

  4. uchar key=0;                                        //定義鍵值全局變量

  5. void keyscan()                                        //按鍵掃描程序
  6. {
  7.         static bit sign=0;                        //按鍵自鎖標志
  8.         static uint count=0;                //消抖計數(shù)變量                       
  9.         uchar temp1=0,temp2=0,temp3;//臨時變量
  10.         P3|=0x3f;                                        //賦值P3,保留高2位不變,操作低6位 xx11 1111 x為0或1
  11.         P3&=0xf8;                                        //賦值P3,保留高2位不變,操作低6位 xx11 1000 x為0或1
  12.         temp1=P3&0x38;                                //保存P3低6位狀態(tài)到temp1
  13.         if(temp1!=0x38)                                //檢測有按鍵按下
  14.         {
  15.                 count++;                                //消抖計數(shù)
  16.                 if((count>=250)&&(sign==0))//count100~1000,根據(jù)主循環(huán)周期調(diào)整約10~20ms
  17.                 {                       
  18.                         sign=1;                                //按鍵自鎖標志置1
  19.                         P3|=0x3f;                        //賦值P3,保留高2位不變,操作低6位 xx11 1111 x為0或1
  20.                         P3&=0xc7;                        //賦值P3,保留高2位不變,操作低6位 xx00 0111 x為0或1
  21.                         temp2=P3&0x07;                //保存P3低6位狀態(tài)到temp2
  22.                         temp3=temp2|temp1;        //保存temp2和temp1相或值
  23.                         switch(temp3)
  24.                         {
  25.                                 case 0x36: key=1; break;
  26.                                 case 0x35: key=2; break;
  27.                                 case 0x33: key=3; break;
  28.                                 case 0x2e: key=4; break;
  29.                                 case 0x2d: key=5; break;
  30.                                 case 0x2b: key=6; break;
  31.                                 case 0x1e: key=7; break;
  32.                                 case 0x1d: key=8; break;
  33.                                 case 0x1b: key=9; break;
  34.                         }
  35.                 }
  36.         }
  37.         else                                                //鍵抬起
  38.         {
  39.                 sign=0;                                        //按鍵有效標志清0
  40.                 count=0;                                //消抖計數(shù)清0
  41.         }
  42. }

  43. void main()                                                //主函數(shù)
  44. {

  45.         while(1)
  46.         {
  47.                 keyscan();                                //按鍵掃描程序
  48.                 P1=key;                                        //P1顯示(2進制)
  49.         }
  50. }
復制代碼




評分

參與人數(shù) 1黑幣 +2 收起 理由
小學僧 + 2

查看全部評分

回復

使用道具 舉報

6#
ID:465020 發(fā)表于 2019-3-25 12:04 | 只看該作者
wulin 發(fā)表于 2019-3-11 17:11
給你寫一個3*3矩陣鍵盤不占用剩余IO口演示程序,有詳細注釋。順序取了P3.0~3.5,按此規(guī)律可以取任意一組的 ...

感謝您的幫助,因為之前我已經(jīng)解決這個問題了,所以到現(xiàn)在才看到這個回復,看了您的答案,使我有了新的感悟,再次感謝您的幫助。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 正在播放一区二区 | 国产高清视频在线观看播放 | 中文字幕亚洲视频 | 欧美一级毛片久久99精品蜜桃 | 国产乱码精品一区二三赶尸艳谈 | 亚洲国产精品久久人人爱 | 欧美日韩高清 | 亚洲精品99999 | 日本精品一区二区三区视频 | 国产中文字幕在线 | 国产人成精品一区二区三 | 成人精品视频在线观看 | 国产伦精品一区二区三区照片91 | 国产精品自产拍 | 久久综合久色欧美综合狠狠 | 亚洲精品区 | 精品国产乱码久久久久久图片 | 中文字幕亚洲一区 | 久久久爽爽爽美女图片 | 欧美一区二区视频 | 欧美99 | 在线观看成人 | 精品亚洲一区二区三区 | 一级片免费在线观看 | 91久久精品国产91久久性色tv | av高清毛片| 日日摸夜夜添夜夜添精品视频 | 午夜看片 | 国产高清精品一区二区三区 | 婷婷在线网站 | 日日干夜夜操 | 国产精品日韩在线观看 | 日韩欧美精品在线 | 91亚洲国产亚洲国产 | 欧美一级欧美三级在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 久久久久久久久久久福利观看 | 国产91丝袜 | 国产精品国产精品国产专区不片 | 成人在线国产 | 国产一区二区三区久久 |