簡(jiǎn)單設(shè)計(jì)拔河游戲機(jī)包含六個(gè)模塊
1. 按鍵模塊:定義輸入輸出及按鍵模塊。
2. 按鍵消抖模塊:給每個(gè)按鍵兩個(gè)狀態(tài),保證按鍵產(chǎn)生的信號(hào)可以消除抖動(dòng)穩(wěn)定,給所定按鍵兩個(gè)狀態(tài),一個(gè)前狀態(tài),一個(gè)后狀態(tài),當(dāng)時(shí)鐘時(shí)鐘的脈沖沿來(lái)臨時(shí),將按鍵狀態(tài)賦值給前狀態(tài),設(shè)置定時(shí)器,當(dāng)計(jì)數(shù)計(jì)滿后,前狀態(tài)值賦給后狀態(tài),按鍵輸出值為前狀態(tài)和后狀態(tài)的取反的并。
3. 時(shí)鐘分頻模塊:將Basys3的100M系統(tǒng)時(shí)鐘分頻成為周期為10ms,100Hz頻率
4. 比較模塊:由分頻后的時(shí)鐘信號(hào)模塊控制按鍵信號(hào)模塊,之后進(jìn)入比較模塊,若A的脈沖數(shù)大于B,則Led向A代表方向移動(dòng),反之則向B代表方向移動(dòng),若相等則不動(dòng)。由Led的位置決定使能端的開(kāi)啟與關(guān)閉,若移動(dòng)至A或B的頂端,則使能端控制Led無(wú)法再移動(dòng)。除此還要設(shè)計(jì)計(jì)數(shù)器并可以顯示在數(shù)碼管上記下獲勝者的盤(pán)數(shù)。
5. LED移動(dòng)模塊:在選定一定的時(shí)間周期內(nèi),檢測(cè)按鍵A與按鍵B的產(chǎn)生的脈沖個(gè)數(shù),進(jìn)行比較,若A的脈沖數(shù)量大于B,則Led向A方向移動(dòng),反之則向B方向移動(dòng),若相等則不動(dòng)。
6. 譯碼模塊:將得到的信號(hào)t轉(zhuǎn)化為L(zhǎng)ed的顯示,最后賦值給Led輸出端口,并且由數(shù)碼管顯示勝利的一方 。
標(biāo)簽:
verilog
上傳時(shí)間:
2020-05-19
上傳用戶:lzj007