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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3978|回復: 0
打印 上一主題 下一主題
收起左側

單片機矩陣鍵盤檢測實驗

[復制鏈接]
跳轉到指定樓層
樓主
實驗目的:
學會矩陣鍵盤的檢測,掌握數碼管靜態顯示原理。
實驗現象:
依次按下 4*4 矩陣鍵盤上從第 1 到第 20 個鍵,同時在六位數碼管上依次顯示 0、1、2、3、 4、5、6、7、8、9、A、B、C、D、E、F
實驗說明:
本開發板上數碼管為共陰極。靜態數碼管顯示原理(視頻中有詳細介紹):這里就共陰極數碼管顯示原理進行講解,一位數碼管內一共有 8 個發光二極管,對共陰極來說其 8 個發光二極管的陰極在數碼管內部全部接在一起,也就是“共陰”說法的來源,陽極是獨立的,設計電路時一般把陰極接地,當我們從外部給任一個陽極加一個高電平時這個發光二極管就亮了,如果想要出一個 8 字,并且把右下角的小數點也點亮的話,那可以給 8 個陽極全送高電平,想讓數碼管顯示幾就給相對應的發光二極管送高電平,因此我們在顯示數字的時候首先做的就是給 0-9 十個數字編好碼,在要它亮什么數字的時候直接把這個編碼送到它的陽極就行了。另外說一下,一般的數碼管每一段亮至少需要 10 個毫安的電流,而單片機的 IO 口送不出如此大的電流,所以我們需要加數碼管的驅動電路,可以用上拉電阻的方法,也可以使用專門的驅動芯片,本開發板使用的 74HC573,其輸出電流較大,足夠點亮數碼管。本開發板上的六位數碼管中每個相同段號(段指 a,b,c,d,e,f,g,h)全部是接在一起的,其中每一個位(陰極)是獨立的,所以在做靜態顯示的時候所有的數碼管只能顯示相同的數字,當然可以控制哪幾位顯示,如果讓它們顯示不同的數字那就得給每一個數碼管加一套驅動電路了。但這樣做是沒有必要的,后面我們會講到關于數碼管動態顯示原理。
下面給出本開發板共陰極數碼管數字編碼

矩陣鍵盤的四行分別與 P3.0-P3.3 連接,四列分別與 P3.4-P3.7 連接。

硬件電路:

代碼:
  1. #include<reg51.h>  
  2. sbit beep=P2^3;
  3. sbit dula=P2^6;  
  4. sbit wela=P2^7;  
  5. unsigned char i=100;  unsigned char j,k,temp,key; void delay(unsigned char i) {   
  6. for(j=i;j>0;j--)  
  7. for(k=125;k>0;k--);
  8. }  
  9. unsigned char code table[]= {
  10. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
  11. };  
  12. display(unsigned char num) {  
  13. P0=table[num]; dula=1;
  14. dula=0;  
  15. P0=0xc0;  
  16. wela=1;   
  17. wela=0;  
  18. }
  19. void main()
  20. {
  21. dula=0;
  22. wela=0;
  23. while(1)
  24. {
  25. P3=0xfe;   
  26. temp=P3;   
  27. temp=temp&0xf0;
  28. if(temp!=0xf0)   
  29. {  
  30. delay(10);   
  31. if(temp!=0xf0)
  32. {  
  33. temp=P3;  
  34. switch(temp) {  
  35. case 0xee:
  36. key=0;
  37. break;
  38. case 0xde:
  39. key=1;
  40. break;
  41. case 0xbe:
  42. key=2;
  43. break;
  44. case 0x7e:
  45. key=3; break;
  46. }  
  47. while(temp!=0xf0)
  48. {  
  49. temp=P3;   
  50. temp=temp&0xf0;
  51. beep=0;  
  52. }  
  53. beep=1;
  54. display(key);
  55. P1=0xfe;   
  56. }
  57. }
  58. P3=0xfd;  
  59. temp=P3;  
  60. temp=temp&0xf0; if(temp!=0xf0)  
  61. {  
  62. delay(10);  
  63. if(temp!=0xf0) {  
  64. temp=P3;
  65. switch(temp) {
  66. case 0xed:
  67. key=4;
  68. break;
  69. case 0xdd:
  70. key=5;
  71. break;
  72. case 0xbd:
  73. key=5;
  74. break;
  75. case 0xbd:
  76. key=6;
  77. break;
  78. case 0x7d:
  79. key=7; break;
  80. }  
  81. while(temp!=0xf0) {  
  82. temp=P3;  
  83. temp=temp&0xf0;
  84. beep=0;  
  85. }  beep=1;
  86. display(key);
  87. P1=0xfc;  
  88. }
  89. }  
  90. P3=0xfb;  
  91. temp=P3;  
  92. temp=temp&0xf0;
  93. if(temp!=0xf0)  
  94. {  
  95. delay(10);  
  96. if(temp!=0xf0)
  97. {  
  98. temp=P3;  
  99. switch(temp)
  100. {  
  101. case 0xeb:
  102. key=8;
  103. break;
  104. case 0xdb:
  105. key=9;
  106. break;
  107. case 0xbb:
  108. key=10;
  109. break;
  110. case 0x7b:
  111. key=11; break;
  112. }  
  113. while(temp!=0xf0)
  114. {  
  115. temp=P3;  
  116. temp=temp&0xf0;
  117. beep=0;  
  118. }  
  119. beep=1;
  120. display(key);
  121. P1=0xf8;  
  122. }
  123. }  
  124. P3=0xf7;  
  125. temp=P3;  
  126. temp=temp&0xf0;
  127. if(temp!=0xf0)  
  128. {  
  129. delay(10);  
  130. if(temp!=0xf0)
  131. {  
  132. temp=P3;
  133. switch(temp)
  134. {  
  135. case 0xe7:
  136. key=12;
  137. break;
  138. case 0xd7:
  139. key=13;
  140. break;
  141. case 0xb7:
  142. key=14;
  143. break;
  144. case 0x77:
  145. key=15; break;
  146. }  
  147. while(temp!=0xf0)
  148. {  
  149. temp=P3;  
  150. temp=temp&0xf0;
  151. beep=0;  
  152. }  
  153. beep=1;
  154. display(key);
  155. P1=0xf0;  
  156. }
  157. }
  158. }
  159. }
復制代碼

全部資料51hei下載地址:
代碼.pdf (271.02 KB, 下載次數: 8)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合99| 欧美日本在线观看 | 日韩成人中文字幕 | 精品久久久久一区二区国产 | 成人亚洲视频 | 亚洲一区二区三区在线播放 | 精品伊人久久 | 天天看天天干 | 四虎影院新网址 | 日本一本视频 | 韩国电影久久 | 国产伦精品一区二区三区高清 | 欧美精品第一区 | 91精品国产综合久久久动漫日韩 | 国产永久免费 | 国产特级毛片aaaaaa喷潮 | 日本一区二区不卡视频 | 男人久久天堂 | 精品少妇一区二区三区日产乱码 | 在线观看www视频 | 中文字幕亚洲专区 | 午夜视频一区二区 | 伊人超碰 | 日韩久久在线 | 国产一区二区三区四区五区3d | 亚洲国产成人精品女人久久久 | 在线国产视频观看 | 欧美日韩亚洲国产综合 | 视频一区二区在线观看 | 嫩草懂你的影院入口 | 久久久久一区二区三区 | 国产一区二区a | 午夜精品一区二区三区在线 | 亚洲网站在线观看 | 亚洲综合成人网 | 中文字幕亚洲国产 | 久久久精品网 | 免费一区| 国产精品毛片 | 日韩av网址在线观看 | 亚洲一区二区中文字幕 |