實驗四 4x4 矩陣鍵盤實驗 4x4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4...

8
實實實 4X4 實實實實實實 4X4 實實實實實實實實實實實實實實實實

Post on 21-Dec-2015

246 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

實驗四 4X4 矩陣鍵盤實驗

4X4 矩陣鍵盤輸入並輸出至七段式顯示器

Page 2: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

底板子 4x4 矩陣按鍵

Page 3: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

按鍵與 FPGA 之接線示意圖

FPGA

VCC

R R R R

col[0] col[1] col[2] col[3]

row[0]

row[2]

row[1]

row[3]

1 2 3 4

5 6 7 8

9 a b c

fd e 0

FPGA

VCC

R R R R

col[0] col[1] col[2] col[3]

row[0]

row[2]

row[1]

row[3]

1 2 3 4

5 6 7 8

9 a b c

fd e 0

Page 4: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

按鍵掃瞄之狀態機圖

Page 5: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

按鍵掃瞄之狀態 按鍵掃瞄之有限狀態機電路,總共分有 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 的按鍵。

Page 6: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

按鍵掃瞄之狀態 狀態 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 狀態。

Page 7: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

電路架構

Page 8: 實驗四 4X4 矩陣鍵盤實驗 4X4 矩陣鍵盤輸入並輸出至七段式顯示器. 底板子 4x4 矩陣按鍵

Pin assignment set_location_assignment PIN_138 -to col[0] set_location_assignment PIN_139 -to col[1] set_location_assignment PIN_140 -to col[2] set_location_assignment PIN_141 -to col[3] 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]