當前位置:首頁 > 技術(shù)學院 > 技術(shù)前線
[導讀]基于FPGAD的ad7124代碼編寫

module

qiangda4(clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4,Led1,Led2,Led3,B uzzer);

// 開始聲明各個端口

//輸入口

input clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4;

//輸出口

output [0:7] Led1; //倒計時時使用的LED控制端

output [0:7] Led2; //數(shù)碼管控制端

output [0:7] Led3; //分數(shù)顯示數(shù)碼管控制端

output Buzzer; //蜂鳴器

//各個寄存器變量聲明

reg [0:7] Led1;

reg [0:7] Led2;

reg [0:7] Led3;

reg cnt=32'b0;

reg Buzzer;

reg score=4’hf;//分數(shù)顯示寄存器

//配置寄存器,EnFlat是表明開始搶答的標志位

reg EnFlat=1'b0;

//BuClk是蜂鳴器的標志位

reg BuClk=1'b0;

//BuL是做蜂鳴器的延時用

reg [0:7]BuL=8'd0;

//搶答選手標志位

reg answer=3’d0;

//各組分數(shù)標志位

reg score1=4’d5;

reg score2=4’d5;

reg score3=4’d5;

reg score4=4’d5;

//------------初始化模塊---------------

always @ (posedge clk)//捕捉時鐘

begin

//初始化各按鍵并開始搶答

begin

if(inputEn==1'b0)

begin

//初始化各個標志位和參數(shù)

EnFlat=1'b1;

//倒計時開始時8個Led燈全亮

Led1=8'b11111111;

//組號顯示靜態(tài)數(shù)碼管(數(shù)碼管為共陽極)的控制端,有8位Led2=8'b11111111;

//分數(shù)顯示數(shù)碼管控制端

Led3=8'b11111111;

//蜂鳴器標志位

BuClk=1'b0;

//蜂鳴器的控制管腳,低電平為發(fā)聲音

Buzzer=1'b1;

//--------搶答模塊-------

begin

if(EnFlat==1'b1)

begin

//如果按鍵1按下

if(inputL1==1'b0)

begin

//禁止其他選手搶答

EnFlat=1'b0;

//選手標志位改變,用于加減分數(shù)模塊

answer=3’d1;

//靜態(tài)數(shù)碼管顯示序號'1' ,及顯示選手對應的組號

Led2=8'hf9;

//指示蜂鳴器發(fā)聲

BuClk=1'b1;

//如果按鍵2按下

else if(inputL2==1'b0)

begin

//禁止其他選手搶答

EnFlat=1'b0;

answer=3’d2;

Led2=8'ha4;

BuClk=1'b1;

//如果按鍵3按下

else if(inputL3==1'b0)

begin

//禁止其他選手搶答

EnFlat=1'b0;

answer=3’d3;

Led2=8'hb0;

BuClk=1'b1;

//如果按鍵4按下

else if(inputL4==1'b0)

begin

//禁止其他選手搶答

EnFlat=1'b0;

answer=3’d4;

Led2=8'h99;

BuClk=1'b1;

//-------------------加減分數(shù)模塊----------------

//第一組加減分

if(answer ==3’d1)

begin

if(add)

score1=score1+1;

//當主持人判定選手的回答正確時,按下add鍵進行加分操作else

if(stu)

score1=score1-1;

//當主持人判定選手的回答錯誤時,按下stu鍵進行減分操作

score=score1;//把第一組的分數(shù)賦值給分數(shù)寄存器

//第二組加減分

if(answer ==3’d2)

begin

if(add)

score2=score2+1;

//當主持人判定選手的回答正確時,按下add鍵進行加分操作else

if(stu)

score2=score2-1;

//當主持人判定選手的回答錯誤時,按下stu鍵進行減分操作

score=score2;

//第三組加減分

if(answer ==3’d3)

begin

if(add)

score3=score3+1;

//當主持人判定選手的回答正確時,按下add鍵進行加分操作

else

if(stu)

score3=score3-1;

//當主持人判定選手的回答錯誤時,按下stu鍵進行減分操作

score=score3;

//第四組加減分

if(answer ==3’d4)

begin

if(add)

score4=score4+1;

if(stu)

score4=score4-1;

//當主持人判定選手的回答錯誤時,按下stu鍵進行減分操作

score=score4;

//-----------------倒計時模塊--------------------

begin

if(EnFlat==1'b1)

begin

if(cnt!=32'd4*******)//計時實現(xiàn)1HZ分頻

cnt=cnt+32'd1;

else

begin

cnt=32'd0;

Led1=8'b11111111

if(Led1==8'b0)//倒計時結(jié)束還沒有按鍵按下,則搶答停止且蜂鳴器響EnFlat=1'b0;

BuClk=1'b1;

//----------蜂鳴器模塊-----------------

//當蜂鳴器標志位置1時

//進入此蜂鳴器處理程序

begin

if(BuClk==1'b1)

begin

//蜂鳴器發(fā)聲

Buzzer=1'b0;

//延時變量加1

BuL = BuL + 8'd1;

//當?shù)竭_延時的時間時關(guān)掉蜂鳴器

if(BuL==8'd255)

begin

//延時變量復位

BuL=8'd0;

//蜂鳴器標志位復位

BuClk=1'b0;

//蜂鳴器停掉

Buzzer=1'b1;

//-------------重置模塊----------------

//按下clr鍵以后各組參數(shù)重置,整個比賽重新開始

if(clr)

begin

//重置各個標志位和參數(shù)

EnFlat=1'b1;

//重置時8個Led燈全亮

Led1=8'b11111111;

//選手號靜態(tài)數(shù)碼管的控制端,有8位

Led2=8'b11111111;

//選手分數(shù)顯示數(shù)碼管重置

Led3=8'b11111111;

//蜂鳴器標志位重置

BuClk=1'b0;

//蜂鳴器的控制管腳重置,低電平為發(fā)聲音

Buzzer=1'b1;

//各組分數(shù)重置

score1=4’d5;

score2=4’d5;

score3=4’d5;

score4=4’d5;

//分數(shù)顯示寄存器重置

answer=8’hff;

//-----------數(shù)碼顯示模塊------------

begin

case(score)

4'h0: Led3 = 8'hc0; //顯示0

4'h1: Led3 = 8'hf9; //顯示1

4'h2: Led3 = 8'ha4; //顯示2

4'h3: Led3 = 8'hb0; //顯示3

4'h4: Led3 = 8'h99; //顯示4

4'h5: Led3 = 8'h92; //顯示5

4'h6: Led3 = 8'h82; //顯示6

4'h7: Led3 = 8'hf8; //顯示7

4'h8: Led3 = 8'h80; //顯示8

4'h9: Led3 = 8'h90; //顯示9

4'ha: Led3 = 8'hbf; //顯示-

default:Led3 = 8'hff; //不顯示endcase

endmodule

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉