版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鍵盤開發(fā)與設(shè)計(jì),,一. 鍵盤電路基礎(chǔ),1.鍵盤的作用 鍵盤是嵌入式系統(tǒng)中人機(jī)交互界面不可缺少的外圍設(shè)備,客戶可以通過鍵盤進(jìn)行數(shù)據(jù)輸入、命令控制、程序生產(chǎn)等操作,是非常重要的輸入工具。,一. 鍵盤電路基礎(chǔ),2.基本原理 基本的鍵盤都是不同按鍵開關(guān)的組合。目前常使用的按鍵是機(jī)械式按鍵。它是通過機(jī)械觸點(diǎn)的通斷作用,實(shí)現(xiàn)電壓信號(hào)高低的輸入。,一. 鍵盤電路基礎(chǔ),3.按鍵確認(rèn) 按鍵的閉合與斷開,在系統(tǒng)中的響應(yīng)分別是高電平或者是低
2、電平。故在設(shè)計(jì)過程中可以采用兩種方式來設(shè)計(jì)按鍵接口。 (1).上拉式按鍵接口 (2).下拉式按鍵接口,特點(diǎn):每個(gè)按鍵占用一條I/O線,當(dāng)按鍵數(shù)量較多時(shí),I/O口利用率不高,但程序編制簡(jiǎn)單。適用于所需按鍵較少的場(chǎng)合。,特點(diǎn):電路連接復(fù)雜,但提高了I/O口利用率,軟件編程較復(fù)雜。適用于需使用大量按鍵的場(chǎng)合。,,圖2 矩陣式鍵盤接口,1、獨(dú)立式鍵盤接口,各鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,通過檢測(cè)輸入線的電平狀態(tài)可很容易判斷哪
3、個(gè)鍵被按下。,此種接口適于鍵數(shù)較少或操作速度較高的場(chǎng)合。,芯片內(nèi)有上拉電阻 芯片內(nèi)無上拉電阻,獨(dú)立按鍵綜合練習(xí),實(shí)驗(yàn)任務(wù)1.設(shè)計(jì)四個(gè)按鍵,可用板上的AN14-17這四個(gè)。起到加1、減1、清零、鎖定的作用。2.功能如下:按下AN16,計(jì)數(shù)值加1,按下AN15計(jì)數(shù)值減1,通過單片機(jī)的P1端口的P1.0到P1.3顯示出相應(yīng)的二進(jìn)制計(jì)數(shù)值。當(dāng)計(jì)數(shù)值增到16時(shí)計(jì)數(shù)值變?yōu)?,當(dāng)計(jì)數(shù)值減到0時(shí)計(jì)數(shù)值保持在0.長(zhǎng)按A
4、N17一秒,計(jì)數(shù)值清0.長(zhǎng)按AN14一秒,計(jì)數(shù)值呈鎖定狀態(tài),此時(shí)再按其他3個(gè)鍵計(jì)數(shù)值的值都不會(huì)發(fā)生變化;直到再次長(zhǎng)按AN14一秒,計(jì)數(shù)值鎖定狀態(tài)解除。完成后可思考:擴(kuò)展功能——通過數(shù)碼管顯示count,2、矩陣式鍵盤接口,,一.鍵盤電路基礎(chǔ),4.按鍵消抖 (1).抖動(dòng)的原因:由于按鍵的機(jī)械特性,其機(jī)械觸點(diǎn)不能夠立刻完全閉合或斷開,因此會(huì)產(chǎn)生一系列的電平抖動(dòng)信號(hào)。,一. 鍵盤電路基礎(chǔ),(2).消抖辦法 硬件消抖:在鍵數(shù)較少
5、時(shí)可用硬件方法消除鍵抖動(dòng)。如圖所示。,一. 鍵盤電路基礎(chǔ),軟件消抖 在軟件中編寫鍵盤消抖處理程序,因?yàn)樵谇度胧较到y(tǒng)中,大部分產(chǎn)品使用的都是價(jià)格便宜且容易發(fā)生抖動(dòng)的開關(guān)按鍵。如果鍵盤能夠在進(jìn)行消抖處理后還能正確地讀取所按下的鍵值,則表明該鍵被按下。,二. 鍵盤電路設(shè)計(jì)方法,1.直接式鍵盤接口電路設(shè)計(jì) 將各按鍵開關(guān)單獨(dú)連接到一個(gè)單片機(jī)的輸入引腳上,每個(gè)按鍵占用一個(gè)單片機(jī)的I/O口。也稱為獨(dú)立式鍵盤。 優(yōu)缺點(diǎn):配置靈活,但占用
6、的I/O過多,成本較高,因此實(shí)用輸入按鍵較少的情況。,二. 鍵盤電路設(shè)計(jì)方法,2.直接式鍵盤的軟件設(shè)計(jì) 在直接式鍵盤中,可以通過檢測(cè)與按鍵相連I/O接口的電平值來判斷按鍵是否按下。,程序開始,,按鍵按下,,是,延時(shí),按鍵按下,,,主程序,,是,否,否,二. 鍵盤電路設(shè)計(jì)方法,3.陣列式鍵盤接口電路設(shè)計(jì) 按鍵開關(guān)被組合成了行和列的矩陣,單片機(jī)的I/O接口一部分作為行線,一部分作為列線,按鍵布置在行線和列線的交叉點(diǎn)上。行列式鍵盤
7、中的按鍵數(shù)量可以達(dá)到行線數(shù)與列線數(shù)的乘積。,,,二. 鍵盤電路設(shè)計(jì)方法,4.陣列式鍵盤的軟件設(shè)計(jì) 讀取陣列式鍵盤的按鍵值,必須采用掃描鍵值的方式。下面以掃描第四行為例: 首先置單片機(jī)的P1_3口為低,其他引腳都為高,然后再讀取P1口的值,與該行各個(gè)鍵盤按下后P1口的值相匹配。,,,,,,,,鍵盤控制流程,單片機(jī)對(duì)矩陣式鍵盤接口處理的一般過程如圖3所示。,鍵掃描,消抖,求鍵碼,等待釋放,,按鍵處理,鍵盤處理流程框圖,4x4 矩
8、陣鍵盤檢測(cè)按鍵的方法:先拉低第一行的電平,檢測(cè)1~4 列有無鍵按下,如有返回鍵值,如無看下行再拉低第二行的電平,檢測(cè)1~4 列有無鍵按下,如有返回鍵值,如無看下行先拉低第三行的電平,檢測(cè)1~4 列有無鍵按下,如有返回鍵值,如無看下行再拉低第四行的電平,檢測(cè)1~4 列有無鍵按下,如有返回鍵值,如無則返回?zé)o鍵按下,采用最原始的做法:,上面的函數(shù)功能是實(shí)現(xiàn)了但是有2 個(gè)致命的缺陷:1、沒有鍵盤消抖和松手檢測(cè)2、代碼過長(zhǎng),1. 鍵掃
9、描,鍵掃描就是要判斷有無鍵按下,當(dāng)掃描到有鍵按下時(shí)再進(jìn)行下一步處理,否則退出鍵盤處理程序。獨(dú)立式鍵盤掃描只需讀取IO口狀態(tài),而矩陣式鍵盤描通常有兩種實(shí)現(xiàn)方法:逐行掃描法和線反轉(zhuǎn)法。,逐行掃描法。依次從第一至最末行線上發(fā)出低電平信號(hào), 如果該行線所連接的鍵沒有按下的話, 則列線所接的端口得到的是全“1”信號(hào), 如果有鍵按下的話, 則得到非全“1”信號(hào)。,鍵盤接口的消抖 1.消除鍵抖動(dòng),由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按
10、鍵被按下或松開的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)。,2.消抖,為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動(dòng)。消抖方法有硬件消抖和軟件延時(shí)兩種。,鍵閉合及斷開時(shí)的抖動(dòng),(1)硬件消抖法:就是在鍵盤中附加去抖動(dòng)電路,從根上消除抖動(dòng)產(chǎn)生的可能性。右圖所示電路實(shí)際上是由R-S觸發(fā)器構(gòu)成的單脈沖電路。當(dāng)按鈕開關(guān)按下時(shí)Q端輸出低電平,當(dāng)開關(guān)松開時(shí)Q端恢復(fù)高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng)。,硬件去抖動(dòng)電路,(
11、2)軟件消抖法:鍵按下的時(shí)間與操作者的按鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為5~10ms不等。軟件消抖法即是采用延時(shí)(一般延時(shí)10~20ms)的方法,以避開按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合或斷開時(shí)才讀出其狀態(tài)。,,軟件消抖法延時(shí)區(qū)間示意圖,3. 計(jì)算鍵碼,鍵碼是每個(gè)按鍵的標(biāo)識(shí)。被按鍵確定下來之后,接下來的工作是計(jì)算閉合鍵的鍵碼,然后才能根據(jù)鍵碼進(jìn)行對(duì)應(yīng)的操作。,為編程方便,鍵碼通常都是以鍵的排列順
12、序安排,按照從左到右、從上向下的順序編排。鍵碼可根據(jù)行號(hào)列號(hào)以查表求得,也可通過計(jì)算得到。我們將結(jié)合實(shí)例加以介紹。,4.等待釋放,等待釋放是為了保證鍵的一次閉合僅進(jìn)行一次處理。求得鍵碼后,然后通過不斷進(jìn)行鍵掃描,如有鍵按下,則繼續(xù)掃描,否則認(rèn)為鍵已釋放。,5.按鍵處理,根據(jù)系統(tǒng)功能要求,利用單片機(jī)控制完成特定操作。,鍵盤接口的控制方式,在單片機(jī)的運(yùn)行過程中,何時(shí)進(jìn)行鍵盤掃描和處理,可有下列三種情況:1.查詢方式:?jiǎn)纹瑱C(jī)通過調(diào)用鍵盤掃描
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- windowsce矩陣鍵盤開發(fā)
- 矩陣鍵盤值顯示實(shí)驗(yàn)
- 矩陣鍵盤說明書
- 基于protues矩陣鍵盤c程序
- 矩陣鍵盤原理圖.docx
- 最容易理解矩陣鍵盤c程序
- eda課程設(shè)計(jì)--矩陣鍵盤接口設(shè)計(jì)
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 基于fpga的矩陣鍵盤接口電路的設(shè)計(jì)
- 矩陣鍵盤程序c程序,51單片機(jī).
- 課程設(shè)計(jì)4乘4矩陣鍵盤設(shè)計(jì)
- 單片機(jī)控制的矩陣鍵盤程序集
- 單片機(jī)課程設(shè)計(jì)--矩陣鍵盤 led顯示
- 英飛拓v2115矩陣鍵盤操作手冊(cè)
- 基于stm32的矩陣鍵盤識(shí)別算法研究與實(shí)現(xiàn)
- 行列反轉(zhuǎn)掃描法在矩陣鍵盤中的應(yīng)用及編程思想
- 基于c51單片機(jī)矩陣鍵盤控制蜂鳴器的應(yīng)用
- 單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤)
- 課程設(shè)計(jì)-制作單片機(jī)的4x4矩陣鍵盤
評(píng)論
0/150
提交評(píng)論