




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第23章鍵盤(pán)程序設(shè)計(jì)一個(gè)好的單片機(jī)應(yīng)用系統(tǒng),通常要有優(yōu)秀的人機(jī)交互接口。鍵盤(pán)是與單片機(jī)進(jìn)行人機(jī)交互的最基本的途徑,其以按鍵的形式來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。按鍵的輸入狀態(tài)本質(zhì)上是一個(gè)開(kāi)關(guān)量。人們通過(guò)鍵盤(pán)輸入一些命令或數(shù)據(jù),以達(dá)到控制單片機(jī)運(yùn)行的目的。常用的鍵盤(pán)有獨(dú)立式按鍵鍵盤(pán)和矩陣式按鍵鍵盤(pán)兩種。獨(dú)立式按鍵接口簡(jiǎn)單,適合于簡(jiǎn)單而且少的開(kāi)關(guān)量的輸入。矩陣式按鍵鍵盤(pán)則適合于輸入?yún)?shù)較多、功能復(fù)雜的系統(tǒng),可以最大限度地使用單片機(jī)的引腳資源。本章主要介紹了獨(dú)立式按鍵和矩陣式按鍵鍵盤(pán)輸入的相關(guān)知識(shí)及其編程接口。23.1鍵盤(pán)接口概述鍵盤(pán)就是在人機(jī)交互系統(tǒng)中用來(lái)輸入控制信號(hào)或數(shù)據(jù)的接口。其中,人機(jī)交互系統(tǒng)是一個(gè)完整的單片機(jī)系統(tǒng)的組成部分,用來(lái)使單片機(jī)識(shí)別不同的輸入信號(hào),并做出不同的響應(yīng)。對(duì)于一個(gè)優(yōu)秀的人機(jī)鍵盤(pán)接口設(shè)計(jì),需要占用合理的單片機(jī)資源,并能夠及時(shí)、準(zhǔn)確地響應(yīng)用戶的輸入信息。在進(jìn)行單片機(jī)鍵盤(pán)接口設(shè)計(jì)的時(shí)候,需要注意如下幾個(gè)方面。23.1.1按鍵編碼按鍵的編碼也就是每個(gè)按鍵在單片機(jī)程序設(shè)計(jì)時(shí)對(duì)應(yīng)的鍵值。每個(gè)按鍵對(duì)應(yīng)一個(gè)唯一的鍵值。當(dāng)按鍵按下的時(shí)候,鍵盤(pán)將向單片機(jī)發(fā)送該按鍵對(duì)應(yīng)的鍵值,單片機(jī)程序?qū)Σ煌逆I值做出不同的響應(yīng)。在硬件上,鍵盤(pán)按鍵使用單片機(jī)的I/O線與CPU進(jìn)行通信。其中單片機(jī)I/O線接收的是高低邏輯電平信號(hào),因此,鍵盤(pán)輸入的不同鍵值可以表示為I/O線上不同的高低電平的組合。鍵盤(pán)編碼設(shè)計(jì)的主要任務(wù)就是選擇合理的鍵盤(pán)結(jié)構(gòu),為每個(gè)按鍵分配不同的I/O輸入信號(hào),以供單片機(jī)識(shí)別并響應(yīng)。23.1.3程序檢測(cè)及響應(yīng)單片機(jī)對(duì)鍵盤(pán)輸入的檢測(cè)可以采用查詢和中斷兩種方式。查詢方式需要在程序中反復(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ì)鍵盤(pán)的處理應(yīng)該包括如下幾個(gè)方面:檢測(cè)按鍵是否按下;如果檢測(cè)到按鍵被按下,執(zhí)行延時(shí)程序,用來(lái)實(shí)現(xiàn)軟件去抖動(dòng),消除抖動(dòng)的影響;掃描按鍵,準(zhǔn)確判斷按鍵的鍵值;轉(zhuǎn)向相應(yīng)的程序處理子程序。23.2獨(dú)立式按鍵及其編程接口鍵盤(pán)有很多種類型,對(duì)于簡(jiǎn)單的系統(tǒng),如果按鍵個(gè)數(shù)比較少、單片機(jī)資源比較寬裕,則可以使用獨(dú)立式按鍵結(jié)構(gòu),這樣可以簡(jiǎn)化程序設(shè)計(jì)。23.2.1獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式按鍵采用每個(gè)按鍵單獨(dú)占有一個(gè)I/O口的結(jié)構(gòu),這是最簡(jiǎn)單的鍵盤(pán)輸入設(shè)計(jì)。當(dāng)按下和釋放按鍵時(shí),輸入到I/O端口的電平是不一樣的,單片機(jī)程序根據(jù)不同端口電平的變化判斷是否有按鍵按下以及是哪一個(gè)按鍵被按下,并執(zhí)行相應(yīng)的程序段。1.獨(dú)立式按鍵結(jié)構(gòu)23.34×4矩陣式鍵盤(pán)及其編程接口對(duì)于比較復(fù)雜的系統(tǒng)或者按鍵比較多的場(chǎng)合,可用采用矩陣式鍵盤(pán)。矩陣式鍵盤(pán)有很多種,這里以應(yīng)用最為廣泛的4×4矩陣式鍵盤(pán)為例來(lái)介紹,其他矩陣式鍵盤(pán)的設(shè)計(jì)方法類似。4×4矩陣式鍵盤(pán)的結(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è)按鍵,因此矩陣式鍵盤(pán)對(duì)端口的利用率很高。23.3.1掃描法及其程序設(shè)計(jì)掃描法是在程序中反復(fù)掃描查詢鍵盤(pán)接口,根據(jù)端口的輸入情況,調(diào)用不同的按鍵處理子程序。由于在執(zhí)行按鍵處理子程序的時(shí)候,單片機(jī)不能再次響應(yīng)按鍵請(qǐng)求。因此,單片機(jī)的按鍵處理子程序應(yīng)該盡可能少占用CPU的運(yùn)行時(shí)間,并且盡可能將鍵盤(pán)掃描安排在程序空余的時(shí)候,以滿足實(shí)時(shí)準(zhǔn)確響應(yīng)按鍵請(qǐng)求的目的。1.掃描法的原理2.掃描法程序設(shè)計(jì)23.3.2線反轉(zhuǎn)法及其程序設(shè)計(jì)線反轉(zhuǎn)法從本質(zhì)上來(lái)說(shuō)也是一種掃描法。在實(shí)際使用過(guò)程中,掃描法需要逐列掃描查詢,根據(jù)鍵的位置不同,每次查詢的次數(shù)不一樣。如果按下的鍵位于最后一列時(shí),則要經(jīng)過(guò)多次掃描查詢才能獲得該按鍵的位置。而采用線反轉(zhuǎn)法,無(wú)論被按得按鍵處于第一列還是最后一列,都只需要經(jīng)過(guò)兩步便可以獲得此按鍵的位置。因此,線反轉(zhuǎn)法更加方便。1.線反轉(zhuǎn)法的原理2.線反轉(zhuǎn)法程序設(shè)計(jì)23.4矩陣式鍵盤(pán)的接口實(shí)例前面介紹了矩陣式鍵盤(pán)的結(jié)構(gòu),以及單片機(jī)系統(tǒng)中經(jīng)常采用的掃描法、線反轉(zhuǎn)法和中斷法。實(shí)際的單片機(jī)系統(tǒng)中,采用線反轉(zhuǎn)法比較多。這里給出一個(gè)完整電路實(shí)例,其中采用線反轉(zhuǎn)法來(lái)實(shí)現(xiàn)單片機(jī)對(duì)矩陣式鍵盤(pán)的識(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)法來(lái)掃描查詢4×4矩陣式鍵盤(pán),如果檢測(cè)到按鍵按下,則閃爍發(fā)光二極管,否則將熄滅發(fā)光二極管。1.創(chuàng)建項(xiàng)目2.程序代碼23.5小結(jié)本章詳細(xì)講述了鍵盤(pán)設(shè)計(jì)需要注意的一些問(wèn)題,然后介紹了獨(dú)立式按鍵和矩陣式鍵盤(pán)的工作方式。其中著重講了矩陣式鍵盤(pán)的掃
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60931-2:2025 EN-FR Shunt power capacitors of the non-self-healing type for AC systems having a rated voltage up to and including 1 000 V - Part 2: Ageing test and destru
- 湖北省教師招聘數(shù)學(xué)試卷
- 廣東藝術(shù)類高考數(shù)學(xué)試卷
- 海濱一號(hào)數(shù)學(xué)試卷
- 韓國(guó)做中國(guó)數(shù)學(xué)試卷
- 2025年隧道養(yǎng)護(hù)市場(chǎng)分析報(bào)告
- 2021-2026年中國(guó)磨齒機(jī)市場(chǎng)深度評(píng)估及行業(yè)投資前景咨詢報(bào)告
- 報(bào)廢汽車(chē)回收拆解市場(chǎng)前景預(yù)測(cè)與預(yù)算管理策略研究報(bào)告
- 2024年中國(guó)焊接電源行業(yè)市場(chǎng)調(diào)查報(bào)告
- 多畫(huà)面彩色電視燈項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年團(tuán)委工作總結(jié)-循“荔枝之道”而行走穩(wěn)青春育人之路
- 消防裝備維護(hù)保養(yǎng)課件教學(xué)
- 【公開(kāi)課】三角形的邊+課件+2025-2026學(xué)年人教版八年級(jí)數(shù)學(xué)上冊(cè)
- 2025年廣東省普通高中學(xué)業(yè)水平合格性考試模擬一歷史試題(含答案)
- 【公開(kāi)課】+分子動(dòng)理論的初步知識(shí)(教學(xué)課件)2025-2026學(xué)年初中物理人教版(2024)九年級(jí)全一冊(cè)
- 設(shè)備安全培訓(xùn)
- 2025至2030中國(guó)角膜塑形鏡行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2023aki的預(yù)防診斷和管理
- 2025年4月自考03346項(xiàng)目管理試題
- 慢性腎衰竭患者心理的護(hù)理
- 艾梅乙反歧視培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論