版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三講鍵盤掃描的學(xué)習(xí)提要:主要學(xué)習(xí)Atmega8通用數(shù)字I/O接口掃描鍵盤的應(yīng)用。前面我們學(xué)習(xí)了ATmega8的I/O口作為通用數(shù)字輸入/輸出口來用時對LED 數(shù)碼管控制的應(yīng)用,其實主要是作為輸出口的應(yīng)用。下面我們就來學(xué)習(xí)一下用作輸入口的應(yīng)用掃描鍵盤。3.1 按鍵的使用特點:按鍵的應(yīng)用主要就是在按鍵閉合時改變電路的電平,但是一般情況下按鍵的開關(guān)都是機械彈性觸點開關(guān),它利用觸點的接觸和分離來實現(xiàn)電路的通斷,在按鍵按下和釋放時往往會產(chǎn)生抖動干擾,所以要想辦法消除抖動干擾。消除抖動干擾即可用硬件設(shè)計也可用軟件設(shè)計的方法。硬件消抖就要在硬件設(shè)計上增加消抖電路,如用R-S觸發(fā)器等,這樣就會增加系統(tǒng)成本。
2、軟件消抖就是要在軟件中對按鍵進行二次測試確認,既當(dāng)?shù)谝淮螜z測到按鍵被按下后,間隔10毫秒左右再次檢測該按鍵是否被按下,只有兩次都冊到按鍵按下時才確認該按鍵被按下了,從而消除抖動干擾。另外我們還要判別按鍵的釋放,為了設(shè)計方便,我們現(xiàn)不考慮長時間按下按鍵的情況,只簡單考慮檢測到按下和釋放才計作一次按鍵操作。3.2 單鍵盤掃描的應(yīng)用下面我們就用軟件消抖的方法來做個簡單的應(yīng)用,我們用PB口接一個LED 數(shù)碼管,用來顯示數(shù)據(jù),用PC0端口接一個按鍵電路,我先畫出電路: 我們要實現(xiàn)的功能是每按一次按鍵,LED數(shù)碼管顯示的數(shù)據(jù)加1,到9回0。怎么樣不是很復(fù)雜吧,是不是很快就可以些出來了呢?下面是我寫的,你也
3、參考一下吧: 上面的程序沒考慮按鍵長按的情況,如果象我們使用的鍵盤一樣,長時間按下一個按鍵,在屏幕上就不斷的打印該字符,在這個例子里就是長時間按下按鍵的話就對CountNum加一,而不是每次按下按鍵一次就加一一次,該怎么考慮呢,你可以試試能不能實現(xiàn)。3.3 矩陣按鍵(鍵盤掃描的應(yīng)用如果按鍵多的話,我們一般就要考慮節(jié)省I/O資源,通常會考慮采用矩陣式的接口。矩陣鍵盤由行和列組成,每個按鍵都有它的行值和列值,行值和列值的組合就是識別每個鍵盤的編碼。確定哪個按鍵的流程是:先在行和列的一個口中輸出高電平,在另一個行列口讀取一個掃描碼;然后在后一個行列口輸出高電平,在前一行列口讀取第二個掃描碼,然后查表
4、就可確定哪個按鍵被按下了。有了確定哪個按鍵的方法,就簡單多了。鍵盤的處理程序也就基本出來了,因為它個單按鍵的掃描程序是很類似的:先確定有無按鍵按下,然后確定是哪個按鍵,返回該鍵值或處理對應(yīng)的任務(wù)就可以了。當(dāng)然這里也要考慮抖動的消除,等待按鍵的斷開。下面我們就設(shè)計一個3X3的鍵盤來學(xué)習(xí)多按鍵的應(yīng)用。我先畫出電路圖,然后再描述要實現(xiàn)的功能: 我們要實現(xiàn)的目標(biāo)是每按下一個按鍵就要在LED數(shù)碼管中顯示出該按鍵對應(yīng)的值,按鍵斷開后顯示”-”,這個符號不在前面介紹的內(nèi)容中,你可以試著計算一下該值應(yīng)該是多少。好了,我給出一個參考: 資料整理自互聯(lián)網(wǎng),版權(quán)歸原作者! 歡迎訪問 www.XinShiL 新勢力單片機、嵌入式 Protues-ATmega8仿真 好了,我是在主函數(shù)中判斷是否有按鍵按下,然后消除抖動干擾的,然后用 ScanKey 函數(shù)的到按鍵值,顯示在 LED 數(shù)碼管中,最后等待按鍵釋放;ScanKey 的功能主要就是的到掃描碼確定是哪個按鍵,返回該按鍵的值。 除了像上面的對按鍵的接口不停的掃描,還可以使用定時掃描,例如用一個 定時器,每隔 10MS 對按鍵接口進行掃描,看是否有按鍵按下;也可以使用中斷 的方式去掃描,當(dāng)按鍵按下時由硬件電路產(chǎn)生一個中斷,MCU 響應(yīng)該中斷,確 定哪個按鍵被按下,處理相應(yīng)函數(shù)。 這些內(nèi)容在后面講到時鐘和中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 楊市租房合同范例
- 工程安全管理實務(wù)模擬考試題+答案
- 校園商鋪轉(zhuǎn)讓合同范例
- 2025年西安貨運從業(yè)資格證模擬考試試題題庫答案
- 珠寶工具售賣合同范例
- 出租鐵皮水箱合同范例
- 同業(yè)存款交易合同范例
- 高中語文 第五單元 散而不亂 氣脈中貫 第1課 六國論教學(xué)實錄1 新人教版選修中國古代詩歌散文鑒賞
- 室內(nèi)弱電合同范例
- 廠房退租合同范例
- 應(yīng)聘人員面試登記表(應(yīng)聘者填寫)
- T∕CAAA 005-2018 青貯飼料 全株玉米
- s鐵路預(yù)應(yīng)力混凝土連續(xù)梁(鋼構(gòu))懸臂澆筑施工技術(shù)指南
- 撥叉831006設(shè)計說明書
- 程序語言課程設(shè)計任意兩個高次多項式的加法和乘法運算
- WLANAP日常操作維護規(guī)范
- 石油鉆井八大系統(tǒng)ppt課件
- 北師大版二年級數(shù)學(xué)上冊期末考試復(fù)習(xí)計劃
- 人教PEP版六年級英語上冊《Unit4_B_Let’s_learn教學(xué)設(shè)計》
- 農(nóng)村供水工程設(shè)計技術(shù)要點
- 收貨回執(zhí)單1頁
評論
0/150
提交評論