亚洲午夜精品毛片_在线免费午夜福利电影_女性自慰网站免费看ww_国产精品黄色大片_日韩无码操逼色网视频_不付费无病毒看污软件片_三男一女吃奶添下面_日韩欧美精品久久天天看_午夜福利国产自_欧美大肚孕妇激情孕交

產(chǎn)品展示

PRODUCT

CONTACTA US
  • 上海朔光科教設備有限公司
  • 手機:15901901049
  • 傳真:021-56355661
  • 電話:021-56355661
  • 地 址:上海市閔行區(qū)江凱路177號

矩陣鍵盤的設計

時間:2024-05-31 08:19:40

  一、  實驗目的
1、了解普通4×4鍵盤掃描的原理。
2、進一步加深七段碼管顯示過程的理解。
3、了解對輸入/輸出端口的定義方法。
二、   實驗原理
實現(xiàn)鍵盤有兩種方案:一是采用現(xiàn)有的一些芯片實現(xiàn)鍵盤掃描;再就是用軟件實現(xiàn)鍵盤掃描。作為一個嵌入系統(tǒng)設計人員,總是會關(guān)心產(chǎn)品成本。目前有很多芯片可以用來實現(xiàn)鍵盤掃描,但是鍵盤掃描的軟件實現(xiàn)方法有助于縮減一個系統(tǒng)的重復開發(fā)成本,且只需要很少的CPU 開銷。嵌入式控制器的功能能強,可以充分利用這一資源,這里就介紹一下軟鍵盤的實現(xiàn)方案。
簡單鍵盤電路
圖4-12-1 簡單鍵盤電路
通常在一個鍵盤中使用了一個瞬時接觸開關(guān),并且用如圖4-12-1 所示的簡單電路,微處理器可以容易地檢測到閉合。當開關(guān)打開時,通過處理器的I/O 口的一個上拉電阻提供邏輯1;當開關(guān)閉合時,處理器的/IO 口的輸入將被拉低得到邏輯0??蛇z憾的是,開關(guān)并不完善,因為當它們被按下或者被釋放時,并不能夠產(chǎn)生一個明確的1 或者0。盡管觸點可能看起來穩(wěn)定而且很快地閉合,但與微處理器快速的運行速度相比,這種動作是比較慢的。當觸點閉合時,其彈起就像一個球。彈起效果將產(chǎn)生如圖4-12-2 所示的好幾個脈沖。彈起的持續(xù)時間通常將 維持在5ms∼30ms 之間。如果需要多個鍵,則可以將每個開關(guān)連接到微處理器上它自己的輸入端口。然而,當開關(guān)的數(shù)目增加時,這種方法將很快使用完所有的輸入端口。
按鍵抖動
圖4-12-2 按鍵抖動
鍵盤上陣列這些開關(guān)最有效的方法(當需要5 個以上的鍵時)就形成了一個如圖4-12-3 所示的二維矩陣。當行和列的數(shù)目一樣多時,也就是方型的矩陣,將產(chǎn)生一個最優(yōu)化的布列方式(I/O 端被連接的時候)。一個瞬時接觸開關(guān)(按鈕)放置在每一行與線一列的交叉點。矩陣所需的鍵的數(shù)目顯然根據(jù)應用程序而不同。每一行由一個輸出端口的一位驅(qū)動,而每一列由一個電阻器上拉且供給輸入端口一位。
矩陣鍵盤
 
 
圖4-12-3 矩陣鍵盤
鍵盤掃描的實現(xiàn)過程如下:對于4×4鍵盤,通常連接為4行、4列,因此要識別按鍵,只需要知道是哪一行和哪一列即可,為了完成這一識別過程,我們的思想是,首先固定輸出4行為高電平,然后輸出4列為低電平,在讀入輸出的4行的值,通常高電平會被低電平拉低,如果讀入的4行均為高電平,那么肯定沒有按鍵按下,否則,如果讀入的4行有一位為低電平,那么對應的該行肯定有一個按鍵按下,這樣便可以獲取到按鍵的行值。同理,獲取列值也是如此,先輸出4列為高電平,然后在輸出4行為低電平,再讀入列值,如果其中有哪一位為低電平,那么肯定對應的那一列有按鍵按下。
獲取到行值和列值以后,組合成一個8位的數(shù)據(jù),根據(jù)實現(xiàn)不同的編碼在對每個按鍵進行匹配,找到鍵值后在7段碼管顯示。
三、   實驗內(nèi)容
本實驗要求完成的任務是通過編程實現(xiàn)對4X4矩陣鍵盤按下鍵的鍵值的讀取,并在數(shù)碼管上完成一定功能(如移動等)的顯示。
四、     實驗步驟
1、打開QUARTUSII軟件,新建一個工程。
2、建完工程之后,再新建一個VHDL File,打開VHDL編輯器對話框。
3、按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照光盤中提供的示例程序。
4、編寫完VHDL程序后,保存起來。方法同實驗一。
5、對自己編寫的VHDL程序進行編譯并仿真,對程序的錯誤進行修改。
6、編譯仿真無誤后,根據(jù)用戶自己的要求進行管腳分配。分配完成后,再進行全編譯一次,以使管腳分配生效。
7、根據(jù)實驗內(nèi)容用實驗導線將上面管腳分配的FPGA管腳與對應的模塊連接起來。
如果是調(diào)用的本書提供的VHDL代碼,則實驗連線如下:
Clk:FPGA工作時鐘信號,接數(shù)字時鐘CLOCK3,并設為1464HZ。
Kr[0:3]:分別接4×4鍵盤部分的R1、R2、R3和R4。
Kc[0:3]:分別接4×4鍵盤部分的C1、C2、C3和C4。
Sa、Sb、Sc:接七段碼顯示區(qū)的Sel0、Sel1和Sel2。
A、B、C、D、E、F、G:接七段碼顯示區(qū)的A、B、C、D、E、F和G
8、用下載電纜通過JTAG口將對應的sof文件加載到FPGA中。觀察實驗結(jié)果是否與自己的編程思想一致。
五、   實驗結(jié)果與現(xiàn)象
以設計的參考示例為例,當設計文件加載到目標器件后,確認信號連接線已正確連接,按下矩陣鍵盤的某一個鍵,則在數(shù)碼管上顯示對應的這個鍵標識的鍵值,當再按下第二個鍵的時候前一個鍵的鍵值在數(shù)碼管上左移一位。
六、   實驗報告
1、繪出不同的鍵值時的數(shù)碼管的仿真波形,并作說明。
2、根據(jù)自己的思路,找一找還有沒有其它方法進行鍵盤的掃描顯示。并畫出流程圖。
1、 將實驗原理、設計過程、編譯仿真波形和分析結(jié)果、硬件測試結(jié)果記錄下來。