Download presentation
1
實驗四 4X4矩陣鍵盤實驗 4X4矩陣鍵盤輸入並輸出至七段式顯示器
2
底板子4x4矩陣按鍵
3
按鍵與FPGA之接線示意圖
4
按鍵掃瞄之狀態機圖
5
按鍵掃瞄之狀態 按鍵掃瞄之有限狀態機電路,總共分有6個狀態:
狀態S_0: Idle State沒有任何按鍵發生時,都停留在此狀態,如果偵測到S_Row=1(亦即有按鍵發生)就跳至S_1狀態。 狀態S_1: 發出掃瞄column 0即col=4’b1110的狀態,並讀回row值作比較: 如果讀到row不等於f (4’b1111)就代表在column 0上的4個按鍵(4, 8, d, 0)有其中一個被按下,於是跳至S_5做等待使用者放開按鍵的處理。 如果讀到row等於f (4’b1111)就代表在column 0上的4個按鍵(4, 8, d, 0)沒有被按下,於是跳至S_2做掃瞄column 1的按鍵。 狀態S_2: 發出掃瞄column 1即col=4’b1101的狀態並讀回row值作比較: 如果讀到row不等於f (4’b1111)就代表在column 1上的4個按鍵(3, 7, c, f)有其中一個被按下,於是跳至S_5做等待使用者放開按鍵的處理。 如果讀到row等於f (4’b1111)就代表在column 1上的4個按鍵(3, 7, c, f)沒有被按下,於是跳至S_3做掃瞄column 2的按鍵。
6
按鍵掃瞄之狀態 狀態S_3: 發出掃瞄column 2即col=4’b1011的狀態並讀回row值作比較:
如果讀到row不等於f (4’b1111)就代表在column 2上的4個按鍵(2, 6, b, e)有其中一個被按下,於是跳至S_5做等待使用者放開按鍵的處理。 如果讀到row等於f (4’b1111)就代表在column 2上的4個按鍵(2, 6, b, e)沒有被按下,於是跳至S_4做掃瞄column 2的按鍵。 狀態S_4: 發出掃瞄column 3即col=4’b0111的狀態並讀回row值作比較: 如果讀到row不等於f (4’b1111)就代表在column 3上的4個按鍵(1, 5, c, d)有其中一個被按下,於是跳至S_5做等待使用者放開按鍵的處理。 如果讀到row等於f (4’b1111)就代表在column 3上的4個按鍵(1, 5, c, d)沒有被按下,於是跳回至S_0,因此FSM跳回Idle state即掃描完4個column 都沒有發現任何按鍵被按下。 狀態S_5: 等待使用者放開按鍵的狀態,如果使用者沒放開按鍵就一直停留在此,如果放開了,就跳回S_0狀態。
7
電路架構
8
Pin assignment set_location_assignment PIN_138 -to col[0]
set_location_assignment PIN_134 -to row[0] set_location_assignment PIN_135 -to row[1] set_location_assignment PIN_136 -to row[2] set_location_assignment PIN_137 -to row[3]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.