標(biāo)題: 學(xué)51單片機(jī)-搞定矩陣鍵盤(pán) [打印本頁(yè)]
作者: jiajiamei 時(shí)間: 2015-3-24 22:57
標(biāo)題: 學(xué)51單片機(jī)-搞定矩陣鍵盤(pán)
矩陣按鍵貌似是學(xué)51單片機(jī)里面必備的一課,現(xiàn)在基本所有的51開(kāi)發(fā)板都帶這部分電路。因?yàn)樗?個(gè)IO口實(shí)現(xiàn)了16個(gè)按鍵的掃描檢測(cè),實(shí)現(xiàn)了IO口更充分的利用。
掃描矩陣按鍵的程序說(shuō)簡(jiǎn)單也簡(jiǎn)單,說(shuō)復(fù)雜也復(fù)雜。說(shuō)它簡(jiǎn)單,是因?yàn)楝F(xiàn)在網(wǎng)絡(luò)太發(fā)達(dá)了,隨便搜索一下,都能找到可以直接用的源碼。說(shuō)它復(fù)雜,是因?yàn)槿绻唤柚W(wǎng)絡(luò),全憑自己去摸索,確實(shí)要花一部分時(shí)間。
我當(dāng)時(shí)是性子比較倔,只在網(wǎng)上看了矩陣按鍵的原理,沒(méi)有看參考代碼,完全憑借自己的理解,寫(xiě)了一段矩陣按鍵的掃描程序,花了三天時(shí)間才調(diào)試通。那三天,真的是折騰的死去活來(lái),但是當(dāng)程序調(diào)好的時(shí)候,真的感覺(jué)自己還是很拉風(fēng)的。
這里,不是讓大家學(xué)我那樣去閉門(mén)造車,因?yàn)樘M(fèi)時(shí)間了。看過(guò)一個(gè)高手說(shuō)的一段話:寄存器不用死記硬背,我做了那么久單片機(jī)項(xiàng)目的開(kāi)發(fā),連一個(gè)寄存器都記不住。需要配置寄存器的時(shí)候,直接在網(wǎng)上或者書(shū)本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊(cè)是中策,死記硬背寄存器是最最下策。
直接參考別人現(xiàn)成的配置程序是上策,但是一定要理解,否則會(huì)出現(xiàn)根基不穩(wěn)、知其然不知其所以然的情況!
繼續(xù)說(shuō)矩陣鍵盤(pán),上電路:
注意,前面廢話了很多,現(xiàn)在開(kāi)始說(shuō)原理:
程序掃描時(shí),給P3口賦值就0Xfe。然后讀取高四位的電平,因?yàn)榇藭r(shí)無(wú)按鍵觸發(fā),所以高四位狀態(tài)是1111 (二進(jìn)制數(shù))。
假設(shè)此時(shí)S1被按下,高四位會(huì)變成什么?1110(二進(jìn)制數(shù)),S1對(duì)應(yīng)的編碼就是:0B11101110.
假設(shè)是S3被按下,高四位會(huì)變成什么?1011(二進(jìn)制數(shù)),S3對(duì)應(yīng)的編碼就是:0B10111110
因?yàn)镾1被按下,所以低四位的狀態(tài)會(huì)變成1110(二進(jìn)制數(shù))。
將兩次得到的P3口狀態(tài)進(jìn)行邏輯或運(yùn)算,就能得到按鍵S1對(duì)應(yīng)的編碼:0B1110 1110.每個(gè)按鍵都會(huì)有一個(gè)編碼,我們只需要對(duì)他們的編碼進(jìn)行比對(duì),就知道按下了哪個(gè)按鍵。
注意:編碼的確認(rèn)是在矩陣電路確定后,就已經(jīng)隨著電路固定了。
因?yàn)槌绦虮容^多,我就不在這里貼了,這次是矩陣按鍵控制數(shù)碼管顯示,從0~F。程序里會(huì)加注釋。
下載地址:
44矩陣.zip
(57.68 KB, 下載次數(shù): 209)
2015-3-24 22:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
44KEY.zip
(32.81 KB, 下載次數(shù): 149)
2015-3-24 22:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: 小油菜 時(shí)間: 2017-2-11 15:21
嗯,講的不錯(cuò)
作者: 小油菜 時(shí)間: 2017-2-11 15:22
講的真的挺好
作者: 51嘿嘿嘿51 時(shí)間: 2017-3-15 23:29
不錯(cuò)不錯(cuò)
作者: 51嘿嘿嘿51 時(shí)間: 2017-3-15 23:30
嘿嘿嘿
作者: frf51study 時(shí)間: 2017-4-25 15:11
講得很好,清楚明白易懂
作者: 初學(xué)者呆呆 時(shí)間: 2017-5-11 09:32
新手來(lái)學(xué)習(xí)啦
作者: 不吃草的牛 時(shí)間: 2017-9-13 11:22
看了樓主的貼子總算搞清是什么原理了
作者: 1780656612 時(shí)間: 2017-10-27 20:51
謝謝分享了
作者: qiuqiu1122 時(shí)間: 2017-12-22 11:18
學(xué)習(xí)了
作者: 9043 時(shí)間: 2018-1-16 11:59
說(shuō)的很在理啊
作者: nuidx 時(shí)間: 2018-5-8 00:04
謝謝分享,太感謝了
作者: 池羨 時(shí)間: 2018-11-5 08:32
講得很好
作者: monthyasha 時(shí)間: 2018-12-2 21:18
非常感謝
作者: monthyasha 時(shí)間: 2018-12-3 15:30
不知道能不能將獨(dú)立鍵盤(pán)與矩陣鍵盤(pán)聯(lián)合在一起?其實(shí)分開(kāi)就好了吧……
作者: monthyasha 時(shí)間: 2018-12-7 07:46
這的非常感謝您的解答!
作者: liu631208 時(shí)間: 2019-1-19 19:02
講的真的挺好
作者: L1BB 時(shí)間: 2019-7-27 14:48
謝謝分享
作者: 1580864544 時(shí)間: 2020-5-13 14:49
還是厲害
作者: 王天庫(kù) 時(shí)間: 2021-12-30 21:53
講的真的挺好
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日韩av看片|
亚洲精品国产第一综合99久久
|
国产精品免费大片
|
91av导航
|
国产一区二区在线观看视频
|
欧美精品日韩精品国产精品
|
岛国av一区二区
|
国产精品一区二区久久
|
精品无码久久久久久国产
|
亚洲色在线视频
|
56pao在线
|
欧美成人猛片aaaaaaa
|
日一区二区|
久久精品亚洲欧美日韩精品中文字幕
|
色婷婷国产精品
|
久久精品国产一区二区
|
精品一二区|
久久久久国产精品一区二区
|
国产精品一区二区三区在线播放
|
青草福利|
www.天天操.com
|
三级视频在线观看电影
|
黄色成人免费在线观看
|
天天色影视综合
|
亚洲一区二区视频在线播放
|
永久免费视频
|
欧美 日韩 国产 在线
|
国产精品一区二区在线
|
久久久久国产一区二区三区四区
|
精品久久久久久红码专区
|
天天爽夜夜爽精品视频婷婷
|
av免费网站在线
|
国产精品久久久久久久久久免费看
|
亚洲欧美日韩电影
|
人人射人人|
天堂视频中文在线
|
国产综合久久
|
chinese中国真实乱对白
|
国产成人在线一区二区
|
久久艹免费视频
|
精品视频在线观看
|