鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)_第1頁(yè)
鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)_第2頁(yè)
鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)_第3頁(yè)
鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)_第4頁(yè)
鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、鍵盤輸入接口與狀態(tài)機(jī)設(shè)計(jì)第1頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 單個(gè)按鍵輸入硬件接口設(shè)計(jì)K1:借助I/O口內(nèi)部上拉電阻 DDRC.5=0, PORTC.5=1K2:外接上拉電阻 DDRC.6=0K3:不推薦第2頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 按鍵操作時(shí)的抖動(dòng) 按鍵的開(kāi)關(guān)為機(jī)械彈性觸點(diǎn)開(kāi)關(guān),它是利用機(jī)械觸點(diǎn)接觸和分離實(shí)現(xiàn)電路的通、斷。由于機(jī)械觸點(diǎn)的彈性作用,加上人們按鍵時(shí)的力度、方向的不同,按鍵開(kāi)關(guān)從按下到接觸穩(wěn)定要經(jīng)過(guò)數(shù)毫秒的彈跳抖動(dòng),既在按下的幾十毫秒時(shí)間里會(huì)連續(xù)產(chǎn)生多個(gè)脈沖。釋放按鍵時(shí),電路也不會(huì)一下斷開(kāi),同樣會(huì)產(chǎn)生抖動(dòng)。第3頁(yè),共11頁(yè)

2、,2022年,5月20日,23點(diǎn)51分,星期三 消除按鍵操作時(shí)的抖動(dòng)硬件方法:基本RS觸發(fā)器,RC積分電路軟件方法:間隔1020ms兩次檢測(cè)按鍵狀態(tài)第4頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 基于狀態(tài)機(jī)的按鍵輸入軟件接口設(shè)計(jì)有限狀態(tài)機(jī) 有限狀態(tài)機(jī)由有限的狀態(tài)和相互之間的轉(zhuǎn)移構(gòu)成,在任何時(shí)候只能處于給定數(shù)目的狀態(tài)中的一個(gè)。當(dāng)接收到一個(gè)輸入事件時(shí),狀態(tài)機(jī)產(chǎn)生一個(gè)輸出,同時(shí)也可能伴隨著狀態(tài)的轉(zhuǎn)移。第5頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 基于狀態(tài)機(jī)的按鍵輸入軟件接口設(shè)計(jì)基于狀態(tài)機(jī)的簡(jiǎn)單按鍵狀態(tài)識(shí)別設(shè)計(jì)時(shí)間序列:10ms輸入信號(hào):與按鍵連接的I/O口電平值輸出

3、信號(hào):按鍵按下的狀態(tài)確認(rèn)信號(hào)程序見(jiàn)書上第6頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 基于狀態(tài)機(jī)的按鍵輸入軟件接口設(shè)計(jì)單按鍵的實(shí)時(shí)時(shí)鐘秒校時(shí)設(shè)計(jì)要求:PD7接按鍵。每按下一次按鍵可以為時(shí)鐘的秒加1。如何采用中斷方式判斷按鍵狀態(tài)?第7頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 基于狀態(tài)機(jī)的按鍵輸入軟件接口設(shè)計(jì)單按鍵的實(shí)時(shí)時(shí)鐘秒校時(shí)設(shè)計(jì)程序設(shè)計(jì):采用定時(shí)器每隔2ms產(chǎn)生一次定時(shí)溢出中斷,500次中斷后(1s)更新顯示緩沖區(qū);5次中斷后(10ms)掃描一次按鍵狀態(tài)。采用基于狀態(tài)機(jī)的按鍵狀態(tài)識(shí)別子程序程序分析:見(jiàn)書上程序仿真:見(jiàn)Proteus第8頁(yè),共11頁(yè),2022年

4、,5月20日,23點(diǎn)51分,星期三 矩陣鍵盤輸入接口設(shè)計(jì)第9頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 矩陣鍵盤輸入接口設(shè)計(jì)鍵盤掃描原理:將全部行線置低電平輸出,然后讀三根輸入列線中有無(wú)低電平出現(xiàn)。只要有低電平出現(xiàn),則說(shuō)明有鍵按下(實(shí)際編程時(shí),還要考慮按鍵的消抖)。如讀到的都是高電平,則表示無(wú)鍵按下。 在確認(rèn)有鍵按下后,需要進(jìn)入確定具體哪一個(gè)鍵閉合的過(guò)程。其思路是:依次將行線置為低電平,并檢測(cè)列線的輸入(掃描),進(jìn)而確認(rèn)是具體的按鍵位置。如當(dāng)PD5輸出低電平時(shí)(PD3=1、PD4=1、PD5=0、PD6=1),測(cè)到PD1的輸入為低電平(PD0=1、PD1=0、PD2=1),則可確認(rèn)按鍵K3-2處于閉合狀態(tài)。通過(guò)以上分析可以看出,MCU對(duì)矩陣鍵盤的按鍵識(shí)別,是采用掃描方式控制行線的輸出和檢測(cè)列線輸入的信號(hào)相配合實(shí)現(xiàn)的。 矩陣按鍵的識(shí)別僅僅是確認(rèn)和定位了行和列的交叉點(diǎn)上的按鍵,接下來(lái)還要考慮鍵盤的編碼,即對(duì)各個(gè)按鍵進(jìn)行編號(hào)。在軟件中常通過(guò)計(jì)算的方法或查表的方法對(duì)按鍵進(jìn)行具體的定義和編號(hào)。 第10頁(yè),共11頁(yè),2022年,5月20日,23點(diǎn)51分,星期三 矩陣鍵盤輸入接口設(shè)計(jì)按鍵掃描程序分析

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論