鍵盤輸入接口與狀態機設計_第1頁
鍵盤輸入接口與狀態機設計_第2頁
鍵盤輸入接口與狀態機設計_第3頁
鍵盤輸入接口與狀態機設計_第4頁
鍵盤輸入接口與狀態機設計_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論