找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3728|回復: 0
打印 上一主題 下一主題
收起左側

FPGA數字搶答器的設計 Verilog程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:424073 發(fā)表于 2020-7-2 19:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
數字搶答器的設計
            (1)具有4個搶答按鍵;
           210秒內有效搶答,并倒計時顯示,若10秒內無人搶答,進行聲光報警。
           3)在有效時間內,將第一個按下按鍵的組員的編號進行鎖存、并顯示其編號,其他的組員再按無效。
          4)具有主持人復位按鍵,當復位鍵后,才可搶答并啟動倒計時。


部分代碼(Verilog):(已實現上述功能,且測試無誤)
module digital_answer(a,b,c,d,reset,clk,beep,led,seg,deg);

/********** **********
**a,b,c,d是四個搶答按鍵。(低電平搶答有效)
**reset是主持人復位鍵(也是開始)
**beep是聲音報警
**led是光報警
**Nixie_tube[0]Nixie_tube[1]是數碼管倒計時顯示Nixie_tube[2]顯示空白
**Nixie_tube[3]是搶答者編號顯示數碼管
**clk是時鐘
**seg數碼管段選
**deg數碼管位選
**clk選擇48M(clock1)
********** ***********/
                input a,b,c,d,reset,clk;
                output beep;
                output [3:0] led;
                output [7:0] seg;
                output [7:0] deg;
               
                reg beep;
                reg [3:0] led;
                reg [3:0] Nixie_tube;
                reg [7:0] seg;
                reg [7:0] deg;
               
                reg [3:0] data;                        //顯示選手編號a,b,c,d
                reg input_flag,count_flag;
                reg [14:0] count1;                //2400分頻(產生1khz),作用與數碼管動態(tài)顯示
                reg [8:0] count2;                        //500分頻(每0.5s翻轉一次產生1hz信號計數)
                reg div_1khz,div_1hz;
                reg [3:0] count_one,count_ten;
                reg [3:0] led_n;
                reg [2:0] cnt;
                //reg [3:0] dat;                                
               
               
               
                /****1Khz信號產生****/
                always @(posedge clk)
                        begin
                                if(count1=='d24000)
                                        begin div_1khz<=~div_1khz;count1<=0;end
                                else
                                        begin count1<=count1+1'b1;end
                        end
                        
                /****1hz信號產生****/
                always @(posedge div_1khz)
                        begin
                                if(count2=='d500)
                                        begin div_1hz<=~div_1hz;count2<=0;end
                                else
                                        begin count2<=count2+1'b1;end

                        end

全部代碼51hei下載地址:
digital_answer.zip (1.42 KB, 下載次數: 65)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表