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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5358|回復: 8
收起左側

單片機矩陣鍵盤無法識別 不知道是連接問題還是程序代碼問題

[復制鏈接]
ID:236686 發表于 2018-4-2 13:15 | 顯示全部樓層 |閱讀模式
10黑幣
附件里面是我矩陣鍵盤的連接方法,不知道對否  還是我代碼有問題 仿真里面識別第一行不出來  我檢查不出什么問題  
下面是我的代碼
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code duan[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e };
  5. sbit wei=P2^4;
  6. uchar temp,k;
  7. void delay(uint i)
  8. {
  9.   uint a,b;
  10. for(a=0;a<=i;a++)
  11. {
  12.   for(b=0;b<110;b++);
  13.   }
  14. }
  15. uchar key()
  16. {
  17.   
  18. P3=0xef;
  19. temp=P3;
  20. temp=temp&0x0f;
  21. while(temp!=0x0f)
  22.   {
  23.        delay(4);
  24.     temp=P3;
  25.     temp=temp&0x0f;
  26.     while(temp!=0x0f)
  27.     {
  28.           temp=P3;
  29.       switch(temp)
  30.      {
  31.       case 0xee:k=1;break;
  32.       case 0xed:k=2;break;
  33.       case 0xeb:k=3;break;
  34.       case 0xe7:k=4;break;
  35.          }
  36.       while(temp!=0x0f)
  37.           {
  38.                temp=P3;
  39.                temp=temp&0x0f;
  40.            }
  41.    
  42.    
  43.      }

  44.   }
  45.   return k;
  46. }
  47. void display(uchar aa)
  48. {
  49. uchar b;
  50. b=aa;
  51. P2=0x00;
  52. P0=duan[b];
  53. P2=0X0f;
  54. }
  55. void main()
  56. {
  57. while(1)
  58. {
  59.   display(key());
  60.   
  61. }
  62. }
復制代碼


Q$]QM2$FV}R~I`6)$VC(AAV.png
AQ$BKUDJ)${TRB{TXS@F79H.png
回復

使用道具 舉報

ID:236686 發表于 2018-4-2 17:24 | 顯示全部樓層
只要不接電源就可以識別了,求大神告訴是什么原理   會為什么會這樣   萬分感謝  
回復

使用道具 舉報

ID:234549 發表于 2018-4-2 18:56 | 顯示全部樓層
愛吃餃子 發表于 2018-4-2 17:24
只要不接電源就可以識別了,求大神告訴是什么原理   會為什么會這樣   萬分感謝

不接電源 是鍵盤的電源嗎
回復

使用道具 舉報

ID:301051 發表于 2018-4-2 19:18 | 顯示全部樓層
矩陣鍵盤本來就不用加電源呀,大哥!
回復

使用道具 舉報

ID:234549 發表于 2018-4-2 21:32 | 顯示全部樓層
愛吃餃子 發表于 2018-4-2 17:24
只要不接電源就可以識別了,求大神告訴是什么原理   會為什么會這樣   萬分感謝

樓主可以看下 鍵盤掃描法——反轉法 是不接電源,接地的哦。
使用單片機8個端口(四行四列)
①前四個端口輸出高電平(行),后四個端口(列)等待輸入。若有鍵按下,短接地,改變(列)輸入寄存器的值,哪一個端口值變為0,則能知道哪一列被按下
②嵌套 后四個端口輸出高電平(列),前四個端口(行)等待輸入。若有鍵按下,短接地,改變(行)輸入寄存器的值,哪一個端口值變為0,則能知道哪一行被按下
③行列則能確定哪一鍵被按下

評分

參與人數 1黑幣 +3 收起 理由
愛吃餃子 + 3

查看全部評分

回復

使用道具 舉報

ID:301369 發表于 2018-4-3 11:09 | 顯示全部樓層
矩陣鍵盤的掃描不用外加電源,直接先掃描行地址再掃描列地址,掃描完成返回行列組成的合地址,再換成你所需要的鍵碼即可

評分

參與人數 1黑幣 +1 收起 理由
愛吃餃子 + 1

查看全部評分

回復

使用道具 舉報

ID:291815 發表于 2018-4-3 17:11 | 顯示全部樓層
不用接電源吧
回復

使用道具 舉報

ID:111634 發表于 2018-4-3 21:06 | 顯示全部樓層
本帖最后由 zl2168 于 2018-4-3 21:07 編輯

矩陣式鍵盤
Proteus仿真一下,確認有效。
實例75 4×4矩陣式鍵盤.rar (44.8 KB, 下載次數: 3)
4×4矩陣式鍵盤.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。

評分

參與人數 1黑幣 +4 收起 理由
愛吃餃子 + 4

查看全部評分

回復

使用道具 舉報

ID:302296 發表于 2018-4-5 10:40 | 顯示全部樓層
矩陣不需要外加電源
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜影视大全 | 亚洲嫩草| 国产在线a视频 | 国产一区二区三区四区五区3d | 日韩91 | 狠狠操狠狠色 | 国产精品久久久久久 | 91高清免费观看 | 日韩一区二区三区视频 | 在线观看一区 | 精品国产乱码久久久久久闺蜜 | 午夜精品久久久久久久久久久久久 | 91网站视频在线观看 | 福利影院在线看 | 中文字幕在线观看一区 | 国产精品欧美精品 | 91精品久久久久久久久中文字幕 | 日韩精品一区二区三区中文字幕 | 91资源在线 | 欧美一级在线观看 | 日韩免费视频一区二区 | 99精品一区二区三区 | 欧洲性生活视频 | 台湾佬伊人| 成人网在线观看 | 亚洲 欧美 另类 综合 偷拍 | 欧美精品久久久久久久久久 | 成人一区二区在线 | 日本精品一区二区三区在线观看视频 | 欧美最猛性xxxxx亚洲精品 | 亚洲国产精品一区二区第一页 | 国产精品久久久久久久久图文区 | 中文字幕日韩一区二区 | 一区二区免费 | 性生活毛片 | h在线| 欧美成人影院 | 国产精品一区二区三级 | 亚洲一区二区三区免费在线 | 免费精品久久久久久中文字幕 | 国产精品伦一区二区三级视频 |