国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Verilog HDL的按鍵控制流水燈即打地鼠小游戲的設(shè)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了基于Verilog HDL的按鍵控制流水燈即打地鼠小游戲的設(shè)計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

設(shè)計(jì)任務(wù):

(1)用4個(gè)按鍵key0-key3對(duì)應(yīng)控制4個(gè)小燈LED0-LED3;用觸摸按鍵進(jìn)行模式切換;用一位數(shù)碼管顯示當(dāng)前控制模式,兩位數(shù)碼管顯示當(dāng)前得分。

(2)觸摸按鍵沒有按下時(shí)處于模式1,按下后處于模式2。用模式數(shù)碼管顯示當(dāng)前的控制模式。

(3)模式1工作方式:當(dāng)點(diǎn)亮LED0時(shí),若按下對(duì)應(yīng)的控制按鍵key0,則得分加1,如若按下別的按鍵,得分不變。每次點(diǎn)亮一個(gè)小燈,得分規(guī)則相同。當(dāng)?shù)梅掷奂拥?5,不再增加,表示本輪游戲勝利。(注:小燈的切換頻率可自行調(diào)節(jié))

(4)模式2工作方式:隨機(jī)的點(diǎn)亮小燈,若按下對(duì)應(yīng)的控制按鍵,則得分加1,如按下別的按鍵,得分減1。

(5)當(dāng)?shù)梅掷奂拥?5,不再增加,表示本輪游戲勝利;當(dāng)?shù)梅譁p到0,表示本輪游戲失敗。

(6)若游戲勝利,可加快小燈的切換頻率,再次嘗試;若游戲失敗,可放慢小燈的切換頻率,再次嘗試。

設(shè)計(jì)方案:

通過觸控板對(duì)兩種模式進(jìn)行切換,未按下觸控板時(shí),處于模式一;按下觸控板時(shí),處于模式二;若再次按下則切換到模式一。

模式一工作方式:從左往右依次點(diǎn)亮LED。若在LED點(diǎn)亮?xí)r按下對(duì)應(yīng)key,得分+1;若按下key與LED燈不對(duì)應(yīng),得分不變。當(dāng)?shù)梅掷奂拥?5時(shí),仍繼續(xù)按對(duì),則得分清零,進(jìn)入下一關(guān),蜂鳴提醒且流水燈閃爍頻加快。

模式二工作方式:隨機(jī)點(diǎn)亮LED。若在LED點(diǎn)亮?xí)r按下對(duì)應(yīng)key,則得分+1;若按下key與LED燈不對(duì)應(yīng),得分-1。當(dāng)?shù)梅掷奂拥?5時(shí),仍繼續(xù)按對(duì),得分清0,進(jìn)入下一關(guān),蜂鳴提醒且流水燈閃爍頻率加快;當(dāng)?shù)梅譃?時(shí),仍繼續(xù)按錯(cuò)后,回到上一關(guān),蜂鳴提醒且小燈閃爍頻率減慢。

功能模塊包括:LED點(diǎn)亮模塊;按鍵防抖模塊;得分計(jì)數(shù)模塊;數(shù)碼管顯示模塊。

LED點(diǎn)亮模塊:

本程序中輸入時(shí)鐘為50MHz,所以一個(gè)時(shí)鐘周期為20ns(1/50MHz)。因此計(jì)數(shù)器counter 通過對(duì)50MHz系統(tǒng)時(shí)鐘計(jì)數(shù),計(jì)時(shí)到1s,需要累加1s/20ns=50000000次。頻率加快和減慢部分由計(jì)數(shù)模塊中輸出的計(jì)滿信號(hào)A,減0信號(hào)B來進(jìn)行控制,當(dāng)A為1時(shí),計(jì)時(shí)減小0.2s,當(dāng)B為1時(shí),計(jì)時(shí)增加0.2s,其設(shè)計(jì)語句為“TIME-A*push+B*push”。

模式一中LED點(diǎn)亮的設(shè)計(jì)方案是利用計(jì)數(shù)器計(jì)時(shí),當(dāng)計(jì)時(shí)到1s時(shí),讓led_control+1,使led_control在四個(gè)狀態(tài)(00,01,10,11)內(nèi)依次變化,然后利用case條件語句在四種LED燈點(diǎn)亮模式(4’b0001、4’b0010、4’b0100、4’b1000)進(jìn)行選擇,達(dá)到從左到右依次點(diǎn)亮LED的效果。

模式二中LED點(diǎn)亮的設(shè)計(jì)方案是利用偽隨機(jī)數(shù)的產(chǎn)生,當(dāng)計(jì)數(shù)器計(jì)時(shí)到1s時(shí),將偽隨機(jī)數(shù)傳輸給led達(dá)到點(diǎn)亮LED燈的效果。

按鍵防抖模塊:這一模塊在CSDN上有很多啦,這里就不在畫蛇添足啦。

得分計(jì)數(shù)模塊:

其計(jì)數(shù)功能分為兩種工作方式:模式一和模式二。模式一工作方式:若在LED點(diǎn)亮?xí)r按下對(duì)應(yīng)key,DATA+1;若按下key與LED燈不對(duì)應(yīng),DATA不變。當(dāng)DATA累加到15時(shí),繼續(xù)得分,則DATA清零,蜂鳴提醒。模式二工作方式:若在LED點(diǎn)亮?xí)r按下對(duì)應(yīng)key,則得分+1;若按下key與LED燈不對(duì)應(yīng),得分-1。當(dāng)?shù)梅掷奂拥?5時(shí),繼續(xù)按對(duì)后,得分清0,蜂鳴提醒;當(dāng)?shù)梅譃?時(shí),繼續(xù)按錯(cuò)后,蜂鳴提醒。故通過使用if_else語句對(duì)條件進(jìn)行判斷,來實(shí)現(xiàn)上述計(jì)數(shù)功能。

當(dāng)touch為“1”時(shí),處于模式一,使用條件語句進(jìn)行判斷。當(dāng)key_pluse為“1”且對(duì)應(yīng)led燈點(diǎn)亮?xí)r,使data加1,否則不變。當(dāng)data為于15時(shí),對(duì)data清0,并給計(jì)滿信號(hào)A賦值為“1”,使蜂鳴器鳴叫,并將計(jì)滿信號(hào)A輸出給LED燈點(diǎn)亮模塊,實(shí)現(xiàn)頻率的加快。

當(dāng)touch為“0”時(shí),處于模式二,使用條件語句進(jìn)行判斷。當(dāng)只要是key_pluse有效時(shí),就對(duì)key_pluse和對(duì)應(yīng)led進(jìn)行判斷。若key_pluse和對(duì)應(yīng)led相等時(shí),使data+1,否則data-1。當(dāng)data為15時(shí),對(duì)data清0,并給計(jì)滿信號(hào)A賦值為“1”,使蜂鳴器鳴叫,并將計(jì)滿信號(hào)A輸出給LED燈點(diǎn)亮模塊,實(shí)現(xiàn)LED閃爍頻率加快。當(dāng)data為0時(shí),給減0信號(hào)B賦值為“1”,使蜂鳴器鳴叫,并將減0信號(hào)輸出給給LED燈點(diǎn)亮模塊,實(shí)現(xiàn)LED閃爍頻率減慢。

數(shù)碼顯示模塊:這一塊也有很多資料啦,也就不贅述啦。文章來源地址http://www.zghlxwxcb.cn/news/detail-528602.html

到了這里,關(guān)于基于Verilog HDL的按鍵控制流水燈即打地鼠小游戲的設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【51單片機(jī)】獨(dú)立按鍵,每個(gè)按鍵不同功能,數(shù)碼管數(shù)值的加減,控制流水燈模式,包含按鍵消抖,數(shù)碼顯示,流水燈

    【51單片機(jī)】獨(dú)立按鍵,每個(gè)按鍵不同功能,數(shù)碼管數(shù)值的加減,控制流水燈模式,包含按鍵消抖,數(shù)碼顯示,流水燈

    實(shí)驗(yàn)內(nèi)容: 利用所學(xué)的單片機(jī)知識(shí)及電路知識(shí)編程實(shí)現(xiàn)單片機(jī) I/O 口檢測(cè)按鍵輸入電平。 ????????1.選中 8 位數(shù)碼管的其中 1 位數(shù)碼管,當(dāng)獨(dú)立按鍵 1 每按下一次,數(shù)碼管加一(按下期間加 1),范圍為 0—F; ????????2.選中 8 位數(shù)碼管的另 1 位數(shù)碼管,當(dāng)獨(dú)立按鍵 2

    2024年02月06日
    瀏覽(20)
  • 51單片機(jī)通過兩個(gè)按鍵控制流水燈方向

    按鍵一接單片機(jī)P3_1,按鍵2接P3_0 8個(gè)流水燈接P2口 以下是代碼:

    2024年02月11日
    瀏覽(22)
  • 51單片機(jī)--定時(shí)器與按鍵控制流水燈模式

    51單片機(jī)--定時(shí)器與按鍵控制流水燈模式

    51單片機(jī)上的定時(shí)器是一種硬件模塊,用于計(jì)時(shí)和生成特定的時(shí)間延遲。 它的電路和運(yùn)轉(zhuǎn)都在單片機(jī)內(nèi)完成 ,它是嵌入在單片機(jī)內(nèi)部的一個(gè)功能模塊,具有多種工作模式和功能。 在51單片機(jī)中,通常有兩個(gè)定時(shí)器/計(jì)數(shù)器:定時(shí)器0(Timer 0)和定時(shí)器1(Timer 1)。每個(gè)定時(shí)器都

    2024年02月13日
    瀏覽(26)
  • FPGA學(xué)習(xí)——按鍵控制LED流水燈(附源碼 無按鍵消抖版本)

    FPGA學(xué)習(xí)——按鍵控制LED流水燈(附源碼 無按鍵消抖版本)

    在博主的cyclone4開發(fā)板上一共有4個(gè)按鍵,本次實(shí)驗(yàn)的目的是為了實(shí)現(xiàn)每按下一次按鍵,都會(huì)使開發(fā)板上的4個(gè)LED燈切換一次狀態(tài),博主一共設(shè)計(jì)了四種狀態(tài),分別是: 按鍵 狀態(tài) 按鍵1按下 自右向左的流水燈 按鍵2按下 自左向右的流水燈 按鍵3按下 四燈常亮 按鍵4按下 四燈閃爍

    2024年02月06日
    瀏覽(18)
  • 在51單片機(jī)中使用一個(gè)獨(dú)立按鍵控制流水燈方向

    用獨(dú)立按鍵控制流水燈轉(zhuǎn)向,按下獨(dú)立按鍵流水燈向右移動(dòng),再按下獨(dú)立按鍵流水燈向左移動(dòng) 此代碼用到 邏輯左移:_crol_(移動(dòng)對(duì)象,移動(dòng)的位數(shù)) 邏輯右移:_cror_(移動(dòng)對(duì)象,移動(dòng)的位數(shù))

    2024年02月07日
    瀏覽(21)
  • 51單片機(jī)學(xué)習(xí)--按鍵控制流水燈模式&定時(shí)器時(shí)鐘

    51單片機(jī)學(xué)習(xí)--按鍵控制流水燈模式&定時(shí)器時(shí)鐘

    TMOD負(fù)責(zé)確定T0和T1的工作模式,TCON控制T0和T1的啟動(dòng)或停止計(jì)數(shù),同時(shí)包含定時(shí)器狀態(tài) TF1:定時(shí)器1溢出標(biāo)志 TF0:定時(shí)器0溢出標(biāo)志 0~65535 每隔1微秒計(jì)數(shù)器+1,總時(shí)間65535微秒,賦上初值64535,則只有1000微秒即1毫秒 首先配置TMOD 所以初始化TMOD = 0x01; //0000 0001 整體操作:TMOD = TM

    2024年02月14日
    瀏覽(26)
  • 51單片機(jī)入門 - 詳解定時(shí)器實(shí)現(xiàn)按鍵控制流水燈方向

    操作系統(tǒng):Windows 10 x84-64 單片機(jī):STC89C52RC 編譯器:SDCC 燒錄軟件:stcgal 1.6 開發(fā)板:普中51單片機(jī)開發(fā)板A2套件(2022) 在 VS Code 中新建項(xiàng)目到燒錄的過程: 左側(cè)EIDE圖標(biāo) - 新建項(xiàng)目 - 空項(xiàng)目 - 8位MCU項(xiàng)目 - 保存文件夾。 更改構(gòu)建配置: SDCC ;更改燒錄配置: stcgal 。 在項(xiàng)目文件

    2024年02月06日
    瀏覽(23)
  • FPGA 學(xué)習(xí)筆記:Verilog 實(shí)現(xiàn)LED流水燈控制

    在初步了解 Xilinx Vivado 的使用后,開啟了FPGA Hello World 程序:LED 流水燈控制 在嵌入式MCU中,流水燈需要延時(shí)來實(shí)現(xiàn),F(xiàn)PGA的延時(shí),使用外部晶振來實(shí)現(xiàn) 實(shí)現(xiàn) 3個(gè) LED 流水燈控制,也就是循環(huán)依次點(diǎn)亮, LED 低電平亮, 高電平滅,F(xiàn)PGA 有一個(gè)40MHz的外部晶振,作為系統(tǒng)時(shí)鐘輸入開

    2023年04月08日
    瀏覽(32)
  • 51-定時(shí)器與按鍵控制LED流水燈模式&定時(shí)器時(shí)鐘

    51-定時(shí)器與按鍵控制LED流水燈模式&定時(shí)器時(shí)鐘

    按鍵(以獨(dú)立按鍵為例)控制LED流水燈模式: 在按鍵控制LED流水燈模式中,如果僅僅簡(jiǎn)單的把獨(dú)立按鍵與LED流水燈拼接起來,則會(huì)出現(xiàn)一些問題:在LED流水燈的代碼中會(huì)有長(zhǎng)時(shí)間的Delay,此時(shí)按鍵檢測(cè)就會(huì)很不靈敏:按下時(shí)不靈敏,需要一些時(shí)間才能被檢測(cè)到,按下后再松手時(shí)

    2024年02月08日
    瀏覽(17)
  • C51單片機(jī)按鍵控制流水燈模式(定時(shí)器版本)以及定時(shí)器時(shí)鐘

    C51單片機(jī)按鍵控制流水燈模式(定時(shí)器版本)以及定時(shí)器時(shí)鐘

    ? 上篇文章我們學(xué)了關(guān)于定時(shí)器的三大組成部分及許多寄存器的概念問題,這篇文章我們就要開始講解實(shí)操部分。 首先,我們先來看看本文最后寫成的代碼: ? ? ?以上三張是代碼的主函數(shù),此外,代碼中還需用到的獨(dú)立按鍵檢測(cè)代碼在下面: ?注意:頭文件中#ifndef和#def

    2023年04月17日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包