日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實驗21:智力競賽搶答器

          實驗21:智力競賽搶答器

          作者: 時間:2023-10-13 來源:電子森林 收藏

          本實驗的任務(wù)是設(shè)計一個智力競賽,帶復(fù)位和主持人控制功能。

          本文引用地址:http://yuyingmama.com.cn/article/202310/451512.htm
          1. 一共4組選手,用開關(guān)k1,k2,k3,k4表示
          2. 主持人復(fù)位開始搶答,獲得搶答的選手顯示對應(yīng)led,答題時間超過30秒報警
          3. 每位選手初始分數(shù)5分(RESET復(fù)位),主持人控制加分減分按鍵,每次增加或減少1分(最多9分),答題選手分數(shù)顯示在數(shù)碼管

          根據(jù)搶答器的功能,采用模塊化設(shè)計,如下

          搶答判斷模塊(judge):根據(jù)開關(guān)的輸入判斷搶答的選手信號,通過輸出的LED顯示搶答選手;內(nèi)部定義block標(biāo)志信號用來鎖定搶答完成;判斷搶答之后答題超過30秒產(chǎn)生報警信號。
          分數(shù)模塊(score):復(fù)位信號單獨復(fù)位所有選手分數(shù);加減按鍵消抖后用來增加減少分數(shù)。
          顯示模塊(dseg):當(dāng)前搶答的選手分數(shù)顯示在數(shù)碼管上。
          分頻模塊(divide):分頻產(chǎn)生計時時鐘信號。

          程序清單answer.v

           module answer
           (
           input wire clk,rst,             //時鐘和復(fù)位信號
           input wire k1,k2,k3,k4,         //選手開關(guān)
           input wire reset,add,sub,       //復(fù)位分數(shù),加分,減分按鍵
           output wire led1,led2,led3,led4,//選手對應(yīng)
           ledoutput wire buzz,               //報警信號
           output wire [8:0] segment_led   //數(shù)碼管信號
           );
           wire clk1h;
           divide #(					//產(chǎn)生1秒時鐘信號
           .WIDTH(24),
           .N(12000000)
           ) u1(.clk(clk),
           .rst_n(rst),
           .clkout(clk1h));judge u2                    //判斷搶答選手,答題超時報警
           (
           .clk(clk1h),					
           .k1(k1),
           .k2(k2),
           .k3(k3),
           .k4(k4),			
           .start(rst),				
           .out1(led1),
           .out2(led2),
           .out3(led3),
           .out4(led4),	
           .buzz(buzz)					
           );
           wire [3:0] score1,score2,score3,score4;
           score u3                      //主持人控制答題選手分數(shù)
           (
           .clk(clk),.rst(rst),
           .add(add),.sub(sub),
           .reset(reset),
           .c1(led1),.c2(led2),.c3(led3),.c4(led4),
           .score1(score1),.score2(score2),.score3(score3),.score4(score4)
           );
           dseg u4                       //數(shù)碼管驅(qū)動顯示答題選手分數(shù)
           (
           .rst(rst),
           .c1(led1),.c2(led2),.c3(led3),.c4(led4),
           .score1(score1),.score2(score2),.score3(score3),.score4(score4),
           .segment_led(segment_led)
           );
           endmodule

          頂層文件一共調(diào)用了4個模塊judge.v、score.v、dseg.v、divide.v。所有的子模塊源碼請參考前例實驗的工程文件

          1. 打開,建立工程。
          2. 新建設(shè)計文件,并鍵入設(shè)計代碼。
          3. 根據(jù)邏輯綜合并分配管腳,在本實驗中引腳分配如下:key[1:4] —
             M7,M8,M9,M10;clk       ---       C1;rst      ---       L14      ;     reset     ---       N14;add      ---      M13;sub      ---       M14;buzz      ---      P9;led[1:4]  ---      N13~M11;segment[8:0] ---     A12~C12

            - 構(gòu)建并輸出編程文件,燒寫至的Flash之中。

          4. 觀察輸出結(jié)果。

          當(dāng)程序下載成功時,按下rst復(fù)位,表示搶答開始。由于開發(fā)板上的開關(guān)有限,所以采用四個撥碼開關(guān)分別表示4個搶答選手。當(dāng)判斷撥碼開關(guān)狀態(tài)后,同時該選手對應(yīng)的led點亮。
          按下reset復(fù)位鍵,搶答完成后在數(shù)碼管上顯示選手分數(shù),可以通過加減分按鍵修改分數(shù)。



          關(guān)鍵詞: 搶答器 FPGA Lattice Diamond Verilog HDL

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉