谁能给我讲明白单片机的4x4矩阵键盘工作原理 这样的4×4矩阵键盘工作原理是什么?单片机该如何去识别是哪个...

4x4\u77e9\u9635\u952e\u76d8\u7684\u5de5\u4f5c\u539f\u7406\u662f\u4ec0\u4e48\uff1f

4x4\u77e9\u9635\u952e\u76d8\u7684\u5de5\u4f5c\u539f\u7406\u662f\u5728\u77e9\u9635\u5f0f\u952e\u76d8\u4e2d\uff0c\u6bcf\u6761\u6c34\u5e73\u7ebf\u548c\u5782\u76f4\u7ebf\u5728\u4ea4\u53c9\u5904\u4e0d\u76f4\u63a5\u8fde\u901a\uff0c\u800c\u662f\u901a\u8fc7\u4e00\u4e2a\u6309\u952e\u52a0\u4ee5\u8fde\u63a5\u3002\u5f53\u6309\u952e\u6ca1\u6709\u6309\u4e0b\u65f6\uff0c\u6240\u6709\u7684\u8f93\u5165\u7aef\u90fd\u662f\u9ad8\u7535\u5e73\uff0c\u4ee3\u8868\u65e0\u952e\u6309\u4e0b\u3002\u884c\u7ebf\u8f93\u51fa\u662f\u4f4e\u7535\u5e73\uff0c\u4e00\u65e6\u6709\u952e\u6309\u4e0b\uff0c\u5219\u8f93\u5165\u7ebf\u5c31\u4f1a\u88ab\u62c9\u4f4e\uff0c\u901a\u8fc7\u8bfb\u5165\u8f93\u5165\u7ebf\u7684\u72b6\u6001\u5c31\u53ef\u5f97\u77e5\u662f\u5426\u6709\u952e\u88ab\u6309\u4e0b\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u4f5c\u4e3a\u5355\u7247\u673a\u5916\u90e8\u8bbe\u5907\uff0c\u5728\u952e\u76d8\u4e2d\u6309\u952e\u6570\u91cf\u8f83\u591a\u65f6\uff0c\u4e3a\u4e86\u51cf\u5c11I/O\u53e3\u7684\u5360\u7528\uff0c\u901a\u5e38\u5c06\u6309\u952e\u6392\u5217\u6210\u77e9\u9635\u5f62\u5f0f\u3002\u77e9\u9635\u5f0f\u7ed3\u6784\u7684\u952e\u76d8\u6bd4\u76f4\u63a5\u6cd5\u8981\u590d\u6742\u4e00\u4e9b\uff0c\u8bc6\u522b\u4e5f\u8981\u590d\u6742\u4e00\u4e9b\uff0c\u5217\u7ebf\u901a\u8fc7\u7535\u963b\u63a5\u6b63\u7535\u6e90\uff0c\u5e76\u5c06\u884c\u7ebf\u6240\u63a5\u7684\u5355\u7247\u673a\u7684I/O\u53e3\u4f5c\u4e3a\u8f93\u51fa\u7aef\uff0c\u800c\u5217\u7ebf\u6240\u63a5\u7684I/O\u53e3\u5219\u4f5c\u4e3a\u8f93\u5165\u3002
\u77e9\u9635\u5f0f\u7ed3\u6784\u7684\u952e\u76d8\u6bd4\u4e4b\u76f4\u63a5\u5c06\u7aef\u53e3\u7ebf\u7528\u4e8e\u952e\u76d8\u591a\u51fa\u4e86\u4e00\u500d\uff0c\u800c\u4e14\u7ebf\u6570\u8d8a\u591a\uff0c\u533a\u522b\u8d8a\u660e\u663e\uff0c\u6bd4\u5982\u518d\u591a\u52a0\u4e00\u6761\u7ebf\u5c31\u53ef\u4ee5\u6784\u621020\u952e\u7684\u952e\u76d8\uff0c\u800c\u76f4\u63a5\u7528\u7aef\u53e3\u7ebf\u5219\u53ea\u80fd\u591a\u51fa\u4e00\u952e\uff089\u952e\uff09\u3002

\u626b\u63cf\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u5c31\u662f P1.7\uff5eP1.5 \u8f6e\u6d41 \u8f93\u51fa \u4f4e\u7535\u5e73\uff0c\u7136\u540e\u8bfb\u5165P1.3\uff5eP1.0\uff0c\u5224\u65ad\uff0c\u5982\u679c\u6709\u6309\u4e0b\uff0c\u5c31\u662f\u4f4e\u7535\u5e73\uff0c\u6ca1\u6309\u4e0b\u7684\u90fd\u662f\u9ad8\u7535\u5e73\uff0c\u5f53\u7136\u8981\u5ef6\u65f610ms\uff0c\u53bb\u6296\u52a8\u3002

\u5355\u7247\u673a\u7684c\u8bed\u8a00\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\uff08\u4fee\u8ba2\u7248\uff09
http://www.gougou.com/search?search=%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84c%E8%AF%AD%E8%A8%80%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%EF%BC%88%E4%BF%AE%E8%AE%A2%E7%89%88%EF%BC%89&id=1
\u4e0b\u8f7d\u4e0d\u4e86\uff0c\u7ed9\u6211\u7559\u8a00\uff0c\u4f20\u7ed9\u4f60v

给P1赋值0xf0,这时P1^4,P1^5,P1^6,P1^7为高电平,P1^0,P1^1,P1^2,P1^3为低电平。如果这时候有按键按下那么P1^4,P1^5,P1^6,P1^7就有一个会变成低电平。因此P1的值就不等于0xf0,这是就可以判断有按键按下。

4x4矩阵键盘的工作原理是在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,通过读入输入线的状态就可得知是否有键被按下。

扩展资料:

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

参考资料来源:百度百科-矩阵键盘



首先,给P1赋值0xf0,这时P1^4,P1^5,P1^6,P1^7为高电平,P1^0,P1^1,P1^2,P1^3为低电平。如果这时候有按键按下那么P1^4,P1^5,P1^6,P1^7就有一个会变成低电平。因此P1的值就不等于0xf0,这是就可以判断有按键按下。
然后延时一段时间去抖动,然后给P1赋值0xfe,也就是P1^0为低电平,其他为高电平,这时如果有在P1^0线上的P1^4,P1^5,P1^6,P1^7有按键按下,那么就会出现低电平,从而判断哪个按键按下;如果没有那么就给P1赋值0xfd,也就是P1^1为低电平,其他为高电平.,相同方法判断是否有按键按下;如果没有那么就给P1赋值0xfb·····如此类推,一共四次检测。

  • 鍏充簬51鍗曠墖鏈虹煩闃甸敭鐩樼殑闂銆
    绛旓細锛1锛塒3鍙f槸鍑嗗弻鍚慖O鍙o紙娉ㄦ剰涓庡弻鍚慖O鍙g殑鍖哄埆锛夛紝瀹 鐨勭‖浠剁粨鏋勫喅瀹氱潃锛岃鍙栦箣鍓嶅厛鍐1锛屽啀璇诲彇锛岃鍙栫殑缁撴灉鎵嶅彲鑳芥槸姝g‘鐨勶紝浣犲彲浠ュ尯鍩熸煡鏌ヤ功銆傦紙2锛4X4 鐭闃甸敭鐩樼殑8鏍圭嚎鐩存帴杩炲湪IO涓婏紝鑰岀嫭绔嬫寜閿湁涓鏍圭嚎鍥哄畾鏄帴鍦扮殑锛岃繖灏辨剰鍛崇潃蹇呴』閲囧彇鎵潰鎴栬呯嚎鍙嶈浆鐨勬柟娉曘傛瘮濡傚叾涓竴鏍硅绾胯祴0锛岀浉褰撲簬...
  • 杩欐槸鍗曠墖鏈4X4鐨勯敭鐩樿瘑鍒▼搴,璇峰府鎴戣В閲,鏈濂芥瘡鍙ユ墽琛屾搷浣滃拰鍘熺悊閮芥湁...
    绛旓細temp绛変簬0x0e鏃讹紝閿糼ey绛変簬7 锛 杩欎釜閿兼槸浣犺嚜宸卞畾涔夌殑锛屽氨鏄捣涓涓爣蹇椾綅鐨勪綔鐢紝鐒跺悗鐢ㄧ▼搴忓垽鏂敭鍊硷紝褰撻敭鍊肩瓑浜7鏃讹紝璇ヨ繘琛屼粈涔堝姩浣滐紝杩欏氨鐩稿綋浜庡綋浣犻偅涓寜閿寜涓嬫椂鎵ц浠涔堝姩浣 鍐鍗曠墖鏈C绋嬪簭 涓瀹氳娲荤敤鏍囧織浣 杩樻湁浣犲ソ鍍忛兘澶у洓浜嗭紝鎬庝箞杩欐牱鏅氱殑鐭╅樀閿洏绋嬪簭杩樼湅涓嶆噦锛岃濂藉ソ瀛︿範鍛 ...
  • 鍗曠墖鏈璇剧▼璁捐4x4鐭闃甸敭鐩樹豢鐪熷浘濡備笅,璋冭瘯杩愯鏁扮爜绠″氨鏄笉浜,璇烽棶鏄...
    绛旓細鏈夐珮浣庣數骞充簡锛屽簲璇ヤ細浜傛槸涓嶆槸鏁扮爜绠$殑鍦扮嚎娌℃帴涓婏紵鐢ㄩ紶鏍囧皢瀹冩嫋涓嬫潵涓鐐癸紝鐪嬬湅鏄笉鏄病鎺ヤ笂锛屾病鏈夌殑璇濓紝鎺ヤ笂涓鏉$嚎
  • 瑕佸仛鍗曠墖鏈虹殑4脳4鐭╅樀寮忛敭鐩樿瘑鍒妧鏈渶瑕佷拱鍝簺鍏冨櫒浠
    绛旓細鎸夐敭锛屾帓闃伙紝8浣嶆帴鍙e強绾匡紝娲炴礊鏉匡紝锛堥珮绾х偣鍙互鍔犱釜閿佸瓨鍣級锛屽綋鐒剁綉涓婁篃鏈夌煩闃甸敭鐩樻ā鍧楀崠鐨勩傜▼搴忎篃涓嶉毦銆
  • 51鍗曠墖鏈 濡備綍4*4鐭╅樀閿洏杈撳叆鎸夐敭 缁х數鍣ㄨ緭鍑轰俊鍙
    绛旓細//寮涓柇涓 P3.3 IT1=1; //涓嬮檷娌胯Е鍙 ET1=1;EA=1;...} 娉細鍥句腑鐨勯敭鐩樻帴娉曢兘鏄嫭绔嬫寜閿帴鍙戯紝鐭╅樀閿洏娌℃湁瑙佽繃鑳界洿鎺ヨЕ鍙戜腑鏂殑銆
  • 璇峰府蹇欑湅涓涓鍗曠墖鏈C璇█璁捐4x4鐭闃甸敭鐩樻壂鎻忔寜閿殑绋嬪簭
    绛旓細void keyscan()//鐭╅樀閿洏鎵弿绋嬪簭 { P0=0x0f;if(P0!=0x0f) //杩欓噷鏉′欢0锛屼笉浼氭墽琛屽悗闈㈢殑绋嬪簭鍚 {delay (10);if(P0!=0x0f){ a=P0;P0=0xf0;b=P0;a= a|b;};};}
  • 濡備綍鍒╃敤51鍗曠墖鏈4*4鐭╅樀閿洏鍜1602娑叉櫠瀹炵幇鍥涗綅(鎴栬呭浣)鐨勬樉绀洪棶...
    绛旓細//鎸4X4閿洏鐨凢閿 杩涘叆璁惧畾鐘舵 //E D 閿槸鍓嶅悗绉诲姩閿 //C鎸夐敭鏄皟鏁存暟鍊兼寜閿 include "reg52.h"define uchar unsigned char sbit RW=P2^1;sbit RS=P2^0;sbit E=P2^2;bit at=0;uchar code shen[]={"CLOCK!"};uchar code word[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,...
  • 姹侻SP430鍗曠墖鏈4X4鐭闃甸敭鐩樼殑涓柇鎵弿绋嬪簭?
    绛旓細鑳斤細鍒濆鍖栨壂鎻忛敭鐩樼殑IO绔彛 鍙 鏁帮細鏃 杩斿洖鍊 锛氭棤 / void Init_Keypad(void){ KEY_DIR = 0x0f;//P1.0~P1.3璁剧疆涓鸿緭鍑虹姸鎬,P1.4~P1.7杈撳叆 鐘舵(涓婃媺H)KEY_OUT=0;KEY_IES =0xf0;//P1.4~P1.7鍏佽涓柇 KEY_IE =0xf0;//P1.4~P1.7涓嬮檷娌胯Е鍙戜腑鏂 KEY_IFG=0;//涓柇...
  • 51鍗曠墖鏈4*4閿洏鍙婁袱涓竷娈垫樉绀哄櫒鍑芥暟,瑕佹眰瀹炵幇鍔犲噺涔橀櫎
    绛旓細鍦≒roteus杞欢涓惌寤轰簡涓涓熀浜51鍗曠墖鏈虹殑4*4閿洏鍜屼袱涓叡闃虫瀬涓冩鏄剧ず鍣ㄧ殑璁$畻鍣ㄧ數璺紝瀹炵幇浜嗗熀鏈殑鍔犲噺涔橀櫎鍔熻兘銆傝鐢佃矾浣跨敤浜嗚蒋浠跺唴缃鐨4X4鐭闃甸敭鐩樺厓浠讹紝鏋佸ぇ鍦扮畝鍖栦簡缂栫▼鍜岀數璺璁$殑澶嶆潅鎬с備互涓涓璇ヨ绠楀櫒鐨勪豢鐪熺數璺浘銆
  • C51鍗曠墖鏈鐢↖O鍙e仛涓鍑犱釜鎸夐敭鐨勬帶鍒,鐜板湪鎯崇敤4X4閿洏鎺у埗,璇烽棶涓嬮潰鏄剧ず...
    绛旓細4X4澶氮璐鍗曠墖鏈IO浜嗭紝鎴涓浣犱粙缁5涓狪O鎺у埗25鎸夐敭鐨勭數璺紝濡備笅鏂囷細鏈枃浠ュ惊搴忔笎杩涚殑鎬濊矾锛屽紩瀵煎ぇ瀹舵濊冨浣曠敤鏈灏戠殑IO椹卞姩鏇村鐨勬寜閿紝骞朵緷娆$粰鍑5绉嶆柟妗堝師鐞嗗浘鎻愪緵鍙傝冦傚湪瀹為檯椤圭洰涓垜浠粡甯镐細閬囧埌鏈夋寜閿緭鍏ョ殑闇姹傦紝浣嗘湁鐨勬椂鍊欎负浜嗚妭鐪佽祫婧愭垚鏈紝鎴戜滑閮戒細閫夋嫨鍦ㄤ笉澧炲姞纭欢鐨勬儏鍐典笅浣跨敤鏈灏戠殑鎺у埗鍣↖O...
  • 扩展阅读:免费答题扫一扫 ... 扫一扫识别作业 ... 扫一扫一秒出答案 ... 扫一扫出暑假答案 ... 扫一扫做题 ... 免费扫一扫作业出答案 ... 作业帮免费扫一扫 ... 4x4矩阵计算过程图 ... 学法减分答案扫一扫免费 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网