![單片機(jī)教程-鍵盤程序設(shè)計(jì)23課件_第1頁](http://file4.renrendoc.com/view/a66b6dba997bf4ca56489d6456a88b21/a66b6dba997bf4ca56489d6456a88b211.gif)
![單片機(jī)教程-鍵盤程序設(shè)計(jì)23課件_第2頁](http://file4.renrendoc.com/view/a66b6dba997bf4ca56489d6456a88b21/a66b6dba997bf4ca56489d6456a88b212.gif)
![單片機(jī)教程-鍵盤程序設(shè)計(jì)23課件_第3頁](http://file4.renrendoc.com/view/a66b6dba997bf4ca56489d6456a88b21/a66b6dba997bf4ca56489d6456a88b213.gif)
![單片機(jī)教程-鍵盤程序設(shè)計(jì)23課件_第4頁](http://file4.renrendoc.com/view/a66b6dba997bf4ca56489d6456a88b21/a66b6dba997bf4ca56489d6456a88b214.gif)
![單片機(jī)教程-鍵盤程序設(shè)計(jì)23課件_第5頁](http://file4.renrendoc.com/view/a66b6dba997bf4ca56489d6456a88b21/a66b6dba997bf4ca56489d6456a88b215.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第23章鍵盤程序設(shè)計(jì)一個(gè)好的單片機(jī)應(yīng)用系統(tǒng),通常要有優(yōu)秀的人機(jī)交互接口。鍵盤是與單片機(jī)進(jìn)行人機(jī)交互的最基本的途徑,其以按鍵的形式來設(shè)置控制功能或輸入數(shù)據(jù)。按鍵的輸入狀態(tài)本質(zhì)上是一個(gè)開關(guān)量。人們通過鍵盤輸入一些命令或數(shù)據(jù),以達(dá)到控制單片機(jī)運(yùn)行的目的。常用的鍵盤有獨(dú)立式按鍵鍵盤和矩陣式按鍵鍵盤兩種。獨(dú)立式按鍵接口簡單,適合于簡單而且少的開關(guān)量的輸入。矩陣式按鍵鍵盤則適合于輸入?yún)?shù)較多、功能復(fù)雜的系統(tǒng),可以最大限度地使用單片機(jī)的引腳資源。本章主要介紹了獨(dú)立式按鍵和矩陣式按鍵鍵盤輸入的相關(guān)知識(shí)及其編程接口。23.1鍵盤接口概述鍵盤就是在人機(jī)交互系統(tǒng)中用來輸入控制信號(hào)或數(shù)據(jù)的接口。其中,人機(jī)交互系統(tǒng)是一個(gè)完整的單片機(jī)系統(tǒng)的組成部分,用來使單片機(jī)識(shí)別不同的輸入信號(hào),并做出不同的響應(yīng)。對(duì)于一個(gè)優(yōu)秀的人機(jī)鍵盤接口設(shè)計(jì),需要占用合理的單片機(jī)資源,并能夠及時(shí)、準(zhǔn)確地響應(yīng)用戶的輸入信息。在進(jìn)行單片機(jī)鍵盤接口設(shè)計(jì)的時(shí)候,需要注意如下幾個(gè)方面。23.1.1按鍵編碼按鍵的編碼也就是每個(gè)按鍵在單片機(jī)程序設(shè)計(jì)時(shí)對(duì)應(yīng)的鍵值。每個(gè)按鍵對(duì)應(yīng)一個(gè)唯一的鍵值。當(dāng)按鍵按下的時(shí)候,鍵盤將向單片機(jī)發(fā)送該按鍵對(duì)應(yīng)的鍵值,單片機(jī)程序?qū)Σ煌逆I值做出不同的響應(yīng)。在硬件上,鍵盤按鍵使用單片機(jī)的I/O線與CPU進(jìn)行通信。其中單片機(jī)I/O線接收的是高低邏輯電平信號(hào),因此,鍵盤輸入的不同鍵值可以表示為I/O線上不同的高低電平的組合。鍵盤編碼設(shè)計(jì)的主要任務(wù)就是選擇合理的鍵盤結(jié)構(gòu),為每個(gè)按鍵分配不同的I/O輸入信號(hào),以供單片機(jī)識(shí)別并響應(yīng)。23.1.3程序檢測及響應(yīng)單片機(jī)對(duì)鍵盤輸入的檢測可以采用查詢和中斷兩種方式。查詢方式需要在程序中反復(fù)查詢每一個(gè)按鍵的狀態(tài),因此會(huì)占用大量的CPU處理時(shí)間,這種方法適用于一般用途的程序。中斷法是當(dāng)有按鍵按下的時(shí)候向CPU申請(qǐng)中斷,平時(shí)不會(huì)占用CPU處理時(shí)間,適用于一些對(duì)實(shí)時(shí)性要求較高的復(fù)雜單片機(jī)系統(tǒng)。程序中,對(duì)鍵盤的處理應(yīng)該包括如下幾個(gè)方面:檢測按鍵是否按下;如果檢測到按鍵被按下,執(zhí)行延時(shí)程序,用來實(shí)現(xiàn)軟件去抖動(dòng),消除抖動(dòng)的影響;掃描按鍵,準(zhǔn)確判斷按鍵的鍵值;轉(zhuǎn)向相應(yīng)的程序處理子程序。23.2獨(dú)立式按鍵及其編程接口鍵盤有很多種類型,對(duì)于簡單的系統(tǒng),如果按鍵個(gè)數(shù)比較少、單片機(jī)資源比較寬裕,則可以使用獨(dú)立式按鍵結(jié)構(gòu),這樣可以簡化程序設(shè)計(jì)。23.2.1獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式按鍵采用每個(gè)按鍵單獨(dú)占有一個(gè)I/O口的結(jié)構(gòu),這是最簡單的鍵盤輸入設(shè)計(jì)。當(dāng)按下和釋放按鍵時(shí),輸入到I/O端口的電平是不一樣的,單片機(jī)程序根據(jù)不同端口電平的變化判斷是否有按鍵按下以及是哪一個(gè)按鍵被按下,并執(zhí)行相應(yīng)的程序段。1.獨(dú)立式按鍵結(jié)構(gòu)23.34×4矩陣式鍵盤及其編程接口對(duì)于比較復(fù)雜的系統(tǒng)或者按鍵比較多的場合,可用采用矩陣式鍵盤。矩陣式鍵盤有很多種,這里以應(yīng)用最為廣泛的4×4矩陣式鍵盤為例來介紹,其他矩陣式鍵盤的設(shè)計(jì)方法類似。4×4矩陣式鍵盤的結(jié)構(gòu),如圖23.2所示。其由4根行線和4根列線交叉構(gòu)成,按鍵位于行列的交叉點(diǎn)上,這樣便構(gòu)成16個(gè)按鍵。交叉點(diǎn)的行列線是不連接的,當(dāng)按鍵按下的時(shí)候,此交叉點(diǎn)處的行線和列線導(dǎo)通。在電路結(jié)構(gòu)上,一般將行(X0~X3)和列(Y0~Y3)分別接到單片機(jī)的一個(gè)8位的并行端口上,程序中分別對(duì)行線和列線進(jìn)行不同的操作便可以確定按鍵的狀態(tài)。這樣,只占用一個(gè)8位的并口便可以實(shí)現(xiàn)16個(gè)按鍵,因此矩陣式鍵盤對(duì)端口的利用率很高。23.3.1掃描法及其程序設(shè)計(jì)掃描法是在程序中反復(fù)掃描查詢鍵盤接口,根據(jù)端口的輸入情況,調(diào)用不同的按鍵處理子程序。由于在執(zhí)行按鍵處理子程序的時(shí)候,單片機(jī)不能再次響應(yīng)按鍵請(qǐng)求。因此,單片機(jī)的按鍵處理子程序應(yīng)該盡可能少占用CPU的運(yùn)行時(shí)間,并且盡可能將鍵盤掃描安排在程序空余的時(shí)候,以滿足實(shí)時(shí)準(zhǔn)確響應(yīng)按鍵請(qǐng)求的目的。1.掃描法的原理2.掃描法程序設(shè)計(jì)23.3.2線反轉(zhuǎn)法及其程序設(shè)計(jì)線反轉(zhuǎn)法從本質(zhì)上來說也是一種掃描法。在實(shí)際使用過程中,掃描法需要逐列掃描查詢,根據(jù)鍵的位置不同,每次查詢的次數(shù)不一樣。如果按下的鍵位于最后一列時(shí),則要經(jīng)過多次掃描查詢才能獲得該按鍵的位置。而采用線反轉(zhuǎn)法,無論被按得按鍵處于第一列還是最后一列,都只需要經(jīng)過兩步便可以獲得此按鍵的位置。因此,線反轉(zhuǎn)法更加方便。1.線反轉(zhuǎn)法的原理2.線反轉(zhuǎn)法程序設(shè)計(jì)23.4矩陣式鍵盤的接口實(shí)例前面介紹了矩陣式鍵盤的結(jié)構(gòu),以及單片機(jī)系統(tǒng)中經(jīng)常采用的掃描法、線反轉(zhuǎn)法和中斷法。實(shí)際的單片機(jī)系統(tǒng)中,采用線反轉(zhuǎn)法比較多。這里給出一個(gè)完整電路實(shí)例,其中采用線反轉(zhuǎn)法來實(shí)現(xiàn)單片機(jī)對(duì)矩陣式鍵盤的識(shí)別。單片機(jī)根據(jù)鍵值的大小,使LED閃爍相應(yīng)的次數(shù)。23.4.1電路圖系統(tǒng)完整的電路圖,如圖所示。這里的單片機(jī)選用ATMEL公司的新型單片機(jī)AT89S52,也可以采用其他兼容的51系列單片機(jī),如AT89S51、AT89C51、8051等。23.4.2程序設(shè)計(jì)本例的程序功能是采用線反轉(zhuǎn)法來掃描查詢4×4矩陣式鍵盤,如果檢測到按鍵按下,則閃爍發(fā)光二極管,否則將熄滅發(fā)光二極管。1.創(chuàng)建項(xiàng)目2.程序代碼23.5小結(jié)本章詳細(xì)講述了鍵盤設(shè)計(jì)需要注意的一些問題,然后介紹了獨(dú)立式按鍵和矩陣式鍵盤的工作方式。其中著重講了矩陣式鍵盤的掃
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯教版地理六年級(jí)下冊(cè)6.1《位置和范圍》聽課評(píng)課記錄3
- 【部編人教版】八年級(jí)上冊(cè)歷史聽課評(píng)課記錄 第11課 北洋政府的黑暗統(tǒng)治
- 浙教版數(shù)學(xué)七年級(jí)上冊(cè)5.2《解法》聽評(píng)課記錄
- 環(huán)境監(jiān)測承包協(xié)議書
- 人教版地理八年級(jí)上冊(cè)《第一節(jié) 交通運(yùn)輸》聽課評(píng)課記錄1
- 滬教版數(shù)學(xué)八年級(jí)下冊(cè)20.2《一次函數(shù)的圖象與性質(zhì)》聽評(píng)課記錄1
- 湘教版數(shù)學(xué)九年級(jí)下冊(cè)《1.5 二次函數(shù)的應(yīng)用》聽評(píng)課記錄1
- 六年級(jí)科學(xué)斜面聽評(píng)課記錄
- 新北師大版數(shù)學(xué)一年級(jí)下冊(cè)《采松果》聽評(píng)課記錄
- 蘇科版數(shù)學(xué)九年級(jí)上冊(cè)聽評(píng)課記錄 用一元二次方程解決問題
- 北京理工大學(xué)應(yīng)用光學(xué)課件(大全)李林
- 國家綜合性消防救援隊(duì)伍消防員管理規(guī)定
- 河南省三門峽市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 2023年全國各地高考英語試卷:完形填空匯編(9篇-含解析)
- 五年級(jí)上冊(cè)數(shù)學(xué)習(xí)題課件 簡便計(jì)算專項(xiàng)整理 蘇教版 共21張
- 疼痛科的建立和建設(shè)
- 運(yùn)動(dòng)技能學(xué)習(xí)PPT課件
- 第六編元代文學(xué)
- 高考語文古詩詞必背重點(diǎn)提綱
- 超星爾雅學(xué)習(xí)通《大學(xué)生心理健康教育(蘭州大學(xué)版)》章節(jié)測試含答案
- 2020譯林版高中英語選擇性必修二單詞默寫表
評(píng)論
0/150
提交評(píng)論