在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            實驗21:智力競賽搶答器

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

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

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

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

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

            程序清單answer.v

             module answer
             (
             input wire clk,rst,             //時鐘和復位信號
             input wire k1,k2,k3,k4,         //選手開關
             input wire reset,add,sub,       //復位分數(shù),加分,減分按鍵
             output wire led1,led2,led3,led4,//選手對應
             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. 新建設計文件,并鍵入設計代碼。
            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

              - 構建并輸出編程文件,燒寫至的Flash之中。

            4. 觀察輸出結果。

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



            評論


            相關推薦

            技術專區(qū)

            關閉