找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4043|回復(fù): 3
收起左側(cè)

求助大神們不帶上拉電阻的矩陣按鍵怎么進(jìn)行掃描!如圖

[復(fù)制鏈接]
ID:156744 發(fā)表于 2016-12-27 22:38 來(lái)自觸屏版 | 顯示全部樓層 |閱讀模式
求助大神們不帶上拉電阻的矩陣按鍵怎么進(jìn)行掃描!如圖
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2016-12-28 01:43 | 顯示全部樓層
矩陣鍵盤的工作原理

    最常見的鍵盤布局如圖3所示。一般由16個(gè)按鍵組成,在單片機(jī)中正好可以用一個(gè)P口實(shí)現(xiàn)16個(gè)按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式,4*4矩陣鍵盤的內(nèi)部電路如圖所示。
   

   
    當(dāng)無(wú)按鍵閉合時(shí),P3.0~P3.3與P3.4~P3.7之間開路。當(dāng)有鍵閉合時(shí),與閉合鍵相連的兩條I/O口線之間短路。判斷有無(wú)按鍵按下的方法是:第一步,置列線P3.4~P3.7為輸入狀態(tài),從行線P3.0~P3.3輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線P3.4~P3.7讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號(hào)。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會(huì)連續(xù)多次進(jìn)行同樣的鍵操作。  
   
    識(shí)別按鍵的方法很多其中,最常見的方法是掃描法

    按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無(wú)按鍵按下時(shí)處在高電平。如果所有的列線都處在高電平,則按鍵按下與否不會(huì)引起行線電平的變化,因此必須使所有列線處在電平。這樣,當(dāng)有按鍵按下時(shí),改鍵所在的行電平才回由高變低。才能判斷相應(yīng)的行有鍵按下。

    獨(dú)立按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。矩陣鍵盤,按鍵的位置由行號(hào)和列號(hào)唯一確定,因此可以分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)。

    4.鍵盤的工作方式

    對(duì)鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中的CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間。通常鍵盤的工作方式有三種,編程掃描、定時(shí)掃描和中斷掃描。

    (1)編程掃描方式

    編程掃描方式是利用CPU完成其它工作的空余時(shí)間,調(diào)用鍵盤掃描子程序來(lái)響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。

    (2)定時(shí)掃描方式

    定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。CPU響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描,并在有按鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序。

    (3)中斷掃描方式

    上述兩種鍵盤掃描方式,無(wú)論是否按鍵,CPU都要定時(shí)掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài)。

    為提高CPU工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當(dāng)無(wú)按鍵按下時(shí),CPU處理自己的工作,當(dāng)有按鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識(shí)別鍵號(hào)。


http://www.torrancerestoration.com/mcu/3352.html
51單片機(jī)學(xué)習(xí)之5-獨(dú)立按鍵和矩陣鍵盤
回復(fù)

使用道具 舉報(bào)

ID:158291 發(fā)表于 2016-12-28 11:34 | 顯示全部樓層
回復(fù)

使用道具 舉報(bào)

ID:157748 發(fā)表于 2016-12-28 12:42 | 顯示全部樓層
void KeyDown(void)//鍵盤檢測(cè)函數(shù)//
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表