欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)矩陣鍵盤無法識(shí)別 不知道是連接問題還是程序代碼問題 [打印本頁]

作者: 愛吃餃子    時(shí)間: 2018-4-2 13:15
標(biāo)題: 單片機(jī)矩陣鍵盤無法識(shí)別 不知道是連接問題還是程序代碼問題
附件里面是我矩陣鍵盤的連接方法,不知道對(duì)否  還是我代碼有問題 仿真里面識(shí)別第一行不出來  我檢查不出什么問題  
下面是我的代碼
  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. }
復(fù)制代碼


Q$]QM2$FV}R~I`6)$VC(AAV.png (55.76 KB, 下載次數(shù): 106)

Q$]QM2$FV}R~I`6)$VC(AAV.png

AQ$BKUDJ)${TRB{TXS@F79H.png (23.37 KB, 下載次數(shù): 82)

AQ$BKUDJ)${TRB{TXS@F79H.png

作者: 愛吃餃子    時(shí)間: 2018-4-2 17:24
只要不接電源就可以識(shí)別了,求大神告訴是什么原理   會(huì)為什么會(huì)這樣   萬分感謝  
作者: ljldx    時(shí)間: 2018-4-2 18:56
愛吃餃子 發(fā)表于 2018-4-2 17:24
只要不接電源就可以識(shí)別了,求大神告訴是什么原理   會(huì)為什么會(huì)這樣   萬分感謝

不接電源 是鍵盤的電源嗎
作者: 123aaaq    時(shí)間: 2018-4-2 19:18
矩陣鍵盤本來就不用加電源呀,大哥!
作者: ljldx    時(shí)間: 2018-4-2 21:32
愛吃餃子 發(fā)表于 2018-4-2 17:24
只要不接電源就可以識(shí)別了,求大神告訴是什么原理   會(huì)為什么會(huì)這樣   萬分感謝

樓主可以看下 鍵盤掃描法——反轉(zhuǎn)法 是不接電源,接地的哦。
使用單片機(jī)8個(gè)端口(四行四列)
①前四個(gè)端口輸出高電平(行),后四個(gè)端口(列)等待輸入。若有鍵按下,短接地,改變(列)輸入寄存器的值,哪一個(gè)端口值變?yōu)?,則能知道哪一列被按下
②嵌套 后四個(gè)端口輸出高電平(列),前四個(gè)端口(行)等待輸入。若有鍵按下,短接地,改變(行)輸入寄存器的值,哪一個(gè)端口值變?yōu)?,則能知道哪一行被按下
③行列則能確定哪一鍵被按下
作者: 小野豬    時(shí)間: 2018-4-3 11:09
矩陣鍵盤的掃描不用外加電源,直接先掃描行地址再掃描列地址,掃描完成返回行列組成的合地址,再換成你所需要的鍵碼即可
作者: a1357787200    時(shí)間: 2018-4-3 17:11
不用接電源吧

作者: zl2168    時(shí)間: 2018-4-3 21:06
本帖最后由 zl2168 于 2018-4-3 21:07 編輯

矩陣式鍵盤
Proteus仿真一下,確認(rèn)有效。
實(shí)例75 4×4矩陣式鍵盤.rar (44.8 KB, 下載次數(shù): 3)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.。書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。

作者: 與新生    時(shí)間: 2018-4-5 10:40
矩陣不需要外加電源




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1