日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

51單片機(jī)--矩陣鍵盤

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2018-04-18
這次我接著上次的說(shuō),講一下 復(fù)合按鍵和 矩陣鍵盤。

先說(shuō)矩陣鍵盤,因?yàn)槲覍懙慕M合鍵代碼是在矩陣鍵盤的基礎(chǔ)上寫的,當(dāng)然在獨(dú)立按鍵上寫組合鍵更簡(jiǎn)單一些。所以當(dāng)你矩陣鍵盤的組合鍵會(huì)寫的時(shí)候,你在獨(dú)立按鍵上的組合鍵也就會(huì)寫了。

矩陣鍵盤的檢測(cè)和獨(dú)立按鍵有很大的區(qū)別,但是究其本質(zhì)還是一樣的。

先看一下矩陣鍵盤的原理圖:


矩陣鍵盤原理圖

由于矩陣鍵盤中每一個(gè)按鍵的兩個(gè)接線口都是接在IO口上的,所以我們就必須在軟件里面控制單片機(jī)在每個(gè)獨(dú)立按鍵的兩端加上不同的電平。

【注】:獨(dú)立按鍵很簡(jiǎn)單,直接在一端接地就行了。

從上面的原理圖中可以看出 P1 口的高四位控制 行,第四位控制 列;所以我們就可以寫 P1 = 0X0F 或者寫 P1 = 0XF0,這樣就實(shí)現(xiàn)了在每一個(gè)獨(dú)立按鍵兩端加上不同的電平。

代碼編寫流程和獨(dú)立按鍵一樣,第一步要先檢測(cè)到按鍵按下,根據(jù)上面的原理圖,矩陣鍵盤檢測(cè)按鍵是否按下只要給 P1 口賦值 0X0F,然后檢測(cè) P1 口的值是否還是 0X0F即可。

之后就要消除抖動(dòng),消除抖動(dòng)的方法還是一樣,延時(shí)一段時(shí)間即可,如圖:

2.jpg

單片機(jī)矩陣鍵盤消除抖動(dòng)

之后就判斷具體是哪個(gè)按鍵按下就行了。

【注】矩陣鍵盤復(fù)雜就是復(fù)雜在這里。

判斷到底是哪個(gè)按鍵按下的思路有兩種:

1、逐行掃描

逐行掃描就是說(shuō)先掃描第一行中的哪個(gè)按鍵按下了,如果沒(méi)有再掃描第二行,看一下是不是第二行里的某個(gè)按鍵按下了,如果還沒(méi)有找到按下的那個(gè)按鍵,那么就繼續(xù)掃描第三行、第四行,知道找出哪個(gè)按鍵被按下了。這個(gè)代碼實(shí)現(xiàn)比較簡(jiǎn)單,而且這種掃描方法不怎么常用,效率不高,所以這里我就不寫了。

2、行列掃描

行列掃描就是說(shuō)先掃描所有的行,確定是哪一行的按鍵被按下了,之后再掃描所有的列,找出哪一列有按鍵被按下了,這樣只要掃描兩次就可以確定出到底是哪個(gè)按鍵被按下了。

具體代碼實(shí)現(xiàn)如下:

1、行掃描:

3.jpg

單片機(jī)矩陣鍵盤行掃描

2、列掃描:

4.jpg

單片機(jī)矩陣鍵盤列掃描

最后別忘了按鍵的松開(kāi)檢測(cè):

5.jpg

單片機(jī)矩陣鍵盤按鍵松開(kāi)檢測(cè)

這樣矩陣鍵盤的編寫就說(shuō)完了,下面說(shuō)組合鍵,寫第七篇的時(shí)候我給它起名字叫復(fù)合按鍵,現(xiàn)在覺(jué)得不太好,要不就叫組合鍵吧。

組合鍵就是說(shuō)當(dāng)按住一個(gè)按鍵的同時(shí)再按另一個(gè)按鍵的時(shí)候,會(huì)有不同的效果。比如:Ctrl+C是復(fù)制、Shift+數(shù)字鍵可以敲出特殊字符等等。

代碼編寫思路就是:當(dāng)按住第一個(gè)按鍵的時(shí)候,只要這個(gè)按鍵不松開(kāi)就一直檢測(cè)能夠和它組合的按鍵,根據(jù)按鍵的不同組合實(shí)現(xiàn)不同的效果。

代碼如下:

6.jpg

單片機(jī)矩陣鍵盤組合鍵

大家對(duì)照代碼仔細(xì)看一下就明白了。

Tags:矩陣鍵盤,單片機(jī)  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒(méi)有了
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁(yè)面
    下到頁(yè)底
    晶體管查詢
    主站蜘蛛池模板: 方城县| 许昌市| 大竹县| 报价| 白沙| 遂川县| 禄丰县| 鸡西市| 汝城县| 双鸭山市| 托克托县| 平江县| 额尔古纳市| 专栏| 永定县| 建平县| 喀喇| 开封市| 黄冈市| 基隆市| 宁都县| 敖汉旗| 武城县| 万全县| 肥西县| 惠来县| 隆昌县| 沾化县| 黎川县| 乃东县| 海晏县| 长丰县| 伊金霍洛旗| 沾化县| 凤凰县| 内丘县| 商洛市| 金阳县| 邵武市| 和顺县| 辰溪县|