freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的多路數(shù)字搶答器的設(shè)計(jì)(編輯修改稿)

2024-07-15 17:08 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 具體功能如下: 設(shè)置搶答開(kāi)始開(kāi)關(guān)按鍵inputEN,此按鍵有主此人操控,在主持人宣布搶答開(kāi)始后,按下此按鍵,各組方可開(kāi)始進(jìn)行搶答。 搶答器具備限時(shí)搶答功能,限時(shí)時(shí)間為十秒。當(dāng)主持人按下?lián)尨痖_(kāi)始按鍵后,八個(gè)LED燈全亮,并每秒熄滅一個(gè),全部熄滅則算作是無(wú)人搶答,此題作廢,主持人可以宣布進(jìn)入下一道題的搶答環(huán)節(jié)。 搶答器具備鎖存功能和現(xiàn)實(shí)功能,也就是說(shuō)當(dāng)選手搶答時(shí)只要按動(dòng)搶答按鍵后,鎖存相對(duì)應(yīng)的組號(hào),當(dāng)主持人對(duì)分?jǐn)?shù)進(jìn)行加減完畢之后,在對(duì)應(yīng)的數(shù)碼管上顯示搶答者的分?jǐn)?shù),然后進(jìn)入下一輪搶答。 主持人在選手搶答之后,作答完成之后,進(jìn)入加減分?jǐn)?shù)環(huán)節(jié),此時(shí)主持人可以按兩個(gè)按鍵中的一個(gè),其中一個(gè)按鍵用來(lái)在回答正確之后加分,兩外一個(gè)用來(lái)在回答錯(cuò)誤之后減分,主持人之后可選擇兩個(gè)按鍵之中的一個(gè)來(lái)完成此環(huán)節(jié)。完成加減分環(huán)節(jié)之后,主持人可以進(jìn)入下一環(huán)節(jié)。 關(guān)于蜂鳴器,蜂鳴器在選手中任意一人首先按下按鍵之后,鳴響三秒鐘,來(lái)宣布此題已經(jīng)被搶到,并在BCD數(shù)碼管上顯示該組的組號(hào)。如果倒計(jì)時(shí)結(jié)束之后無(wú)人搶答,則蜂鳴器不做反應(yīng)。此次設(shè)計(jì)以FPGA為基礎(chǔ)設(shè)計(jì)數(shù)字搶答器,根據(jù)主要的功能設(shè)計(jì)要求,該設(shè)計(jì)主要包括搶答輸入按鍵、BCD數(shù)碼管顯示、LED倒計(jì)時(shí)和FPGA系統(tǒng)。搶答器的結(jié)構(gòu)示意圖如下:FPGA時(shí)鐘信號(hào)按鍵輸入電路 數(shù)碼管顯示電路LED倒計(jì)時(shí)顯示電路:搶答器結(jié)構(gòu)示意圖 設(shè)計(jì)中FPGA最小系統(tǒng)電路為FPGA可以正常工作時(shí)的基本電路,由時(shí)鐘和復(fù)位電路組成。按鍵輸入電路有八個(gè)按鍵組成,數(shù)碼顯示管有兩個(gè)個(gè)八段共陽(yáng)極數(shù)碼管組成。LED倒計(jì)時(shí)顯示電路有八個(gè)個(gè)紅色的LED燈組成。 搶答器程序流程圖以及各模塊代碼分析 搶答器程序結(jié)構(gòu)及主程序流程圖本次畢業(yè)設(shè)計(jì)中程序設(shè)計(jì)采用verilog HDL 語(yǔ)言進(jìn)行編程,總體編程思路采用模塊化編程方式,主要分為三個(gè)模塊,一個(gè)主控制及按鍵輸入模塊,一個(gè)LED倒計(jì)時(shí)模塊和蜂鳴器模塊,一個(gè)搶答組號(hào)及積分顯示模塊,分別對(duì)這三個(gè)子模塊進(jìn)行獨(dú)立編程設(shè)計(jì),由于verilog HDL 語(yǔ)言是一種并行運(yùn)行的語(yǔ)言,所以可以在同一個(gè)頻率時(shí)鐘脈沖下進(jìn)行各模塊的編寫(xiě),最終在把各個(gè)模塊整合在一起。主要程序運(yùn)行方式采用狀態(tài)機(jī)的方法來(lái)實(shí)現(xiàn)對(duì)搶答器的各個(gè)環(huán)節(jié)的控制。此次所設(shè)計(jì)的狀態(tài)一共有四個(gè)狀態(tài)。一、等待主持人按鍵開(kāi)始搶答,在此狀態(tài)時(shí)會(huì)一直檢測(cè)按鍵信號(hào),當(dāng)收到主持人的開(kāi)始搶答信號(hào)進(jìn)入下一個(gè)環(huán)節(jié)。二、等待四組搶答按鍵狀態(tài),在此狀態(tài)時(shí),LED倒計(jì)時(shí)顯示模塊將開(kāi)始顯示搶答計(jì)時(shí),如果在規(guī)定時(shí)間內(nèi)有人最先搶答則直接進(jìn)入下一個(gè)狀態(tài),而如果無(wú)人搶答,計(jì)時(shí)時(shí)間到后也進(jìn)入下一個(gè)狀態(tài),此狀態(tài)下主持人按除復(fù)位鍵以外鍵無(wú)效,而按復(fù)位鍵則直接返回第一個(gè)狀態(tài),并將積分復(fù)位。三、主持人加減分狀態(tài),在此狀態(tài)時(shí),在主持人完成加減分?jǐn)?shù)之前,其他任何操作都可視為無(wú)效。四、對(duì)前面狀態(tài)中所獲取的鍵值信號(hào)進(jìn)行處理,在程序中為各組設(shè)置一個(gè)積分寄存器來(lái)放積分,更新并保存各組的積分信息,同時(shí)將搶答組號(hào)和積分發(fā)送給BCD顯示模塊進(jìn)行顯示,最后自動(dòng)跳轉(zhuǎn)回第一狀態(tài)。 初始化及搶答模塊本次畢業(yè)設(shè)計(jì)中初始化模塊主要是為了以后程序的正常運(yùn)行,在這里進(jìn)行初始化,給各個(gè)后面要用到的寄存器變量賦初值。主要賦值的對(duì)象有搶答標(biāo)志位、蜂鳴器標(biāo)志位、蜂鳴器延時(shí)標(biāo)志位、搶答選手標(biāo)志位、分組分?jǐn)?shù)標(biāo)志位、組號(hào)顯示初始值等等。詳細(xì)內(nèi)容見(jiàn)附錄。分?jǐn)?shù)顯示BCD組號(hào)顯示BCD倒計(jì)時(shí)蜂鳴器搶答判斷開(kāi)始InputEn加減分判斷: 主程序流程圖搶答模塊是本次設(shè)計(jì)的重點(diǎn),原理是:當(dāng)主持人按下inputEn按鍵,啟動(dòng)初始化模塊,搶答標(biāo)志位EnFlat發(fā)生改變,開(kāi)始進(jìn)入搶答時(shí)間。此時(shí)各組開(kāi)始進(jìn)行搶答,無(wú)論哪一組先按下按鍵,搶答標(biāo)志位EnFlat改變變?yōu)?’b0,禁止其他各組再次進(jìn)行搶答;同時(shí)選手標(biāo)志位進(jìn)行改變,與改組組號(hào)相對(duì)應(yīng),主要適用于后續(xù)的加減分模塊;顯示組號(hào)的數(shù)碼管顯示搶到題目的這一組的組號(hào);改變蜂鳴器的標(biāo)志位,蜂鳴器發(fā)聲,來(lái)告訴大家,此題已經(jīng)有人搶答,大家不要再次搶答了,也告訴主持人可以進(jìn)行問(wèn)題的提問(wèn),并且可以進(jìn)行其他的后續(xù)操作。初始化模塊及搶答模塊的部分源代碼://初始化模塊always @ (posedge clk)//捕捉時(shí)鐘begin //初始化各按鍵并開(kāi)始搶答 begin if(inputEn==139。b0) begin //初始化各個(gè)標(biāo)志位和參數(shù) EnFlat=139。b1。 //倒計(jì)時(shí)開(kāi)始時(shí)8個(gè)Led燈全亮 Led1=839。b11111111。 //組號(hào)顯示靜態(tài)數(shù)碼管(數(shù)碼管為共陽(yáng)極)的控制端,有8位 Led2=839。b11111111。 //分?jǐn)?shù)顯示數(shù)碼管控制端 Led3=839。b11111111。 //蜂鳴器標(biāo)志位 BuClk=139。b0。 //蜂鳴器的控制管腳,低電平為發(fā)聲音 Buzzer=139。b1。 end end //搶答模塊 begin if(EnFlat==139。b1) begin //如果按鍵1按下 if(inputL1==139。b0) begin //禁止其他選手搶答 EnFlat=139。b0。 //選手標(biāo)志位改變,用于加減分?jǐn)?shù)模塊 answer=3’d1。 //靜態(tài)數(shù)碼管顯示序號(hào)39。139。 ,及顯示選手對(duì)應(yīng)的組號(hào) Led2=839。hf9。 //指示蜂鳴器發(fā)聲 BuClk=139。b1。 end 加減分?jǐn)?shù)模塊加減分?jǐn)?shù)模塊主要是用來(lái)對(duì)選手的積分進(jìn)行更改,有主持人控制。在選手回答完問(wèn)題,由主持人判定答案是否正確,然后決定是加分還是減分。加減分模塊主要有一個(gè)選手標(biāo)志位,此標(biāo)志位在搶答模塊進(jìn)行改變,四個(gè)分?jǐn)?shù)寄存器來(lái)存放分?jǐn)?shù),最后把各個(gè)組的分?jǐn)?shù)放到一個(gè)總的寄存器中,主要是為了節(jié)省代碼。主要代碼如下://第一組加減分if(answer ==3’d1) begin begin if(add) score1=score1+1。//當(dāng)主持人判定選手的回答正確時(shí),按下add鍵進(jìn)行加分操作 else if(stu) score1=score11。//當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作 endscore=score1。//把第一組的分?jǐn)?shù)賦值給分?jǐn)?shù)寄存器 end其他各組與第一組類似,依次類推即可,詳細(xì)代碼,參見(jiàn)附錄。 倒計(jì)時(shí)模塊 倒計(jì)時(shí)模塊的主要功能是用來(lái)提醒大家趕快進(jìn)行搶答,當(dāng)搶答標(biāo)志位EnFlat為1’b1即開(kāi)始搶答時(shí),倒計(jì)時(shí)開(kāi)始。因?yàn)樗玫膶?shí)驗(yàn)箱的頻率為48MHz,因此需要現(xiàn)有一個(gè)1Hz的分頻,即一個(gè)計(jì)數(shù)模塊;計(jì)數(shù)結(jié)束之后進(jìn)入LED燈的左移模塊,此處主要使用一個(gè)左移運(yùn)算符來(lái)進(jìn)行倒計(jì)時(shí),當(dāng)然也可以通過(guò)其他的算法來(lái)實(shí)現(xiàn)這個(gè)功能,但是應(yīng)該都沒(méi)有這一個(gè)運(yùn)算符來(lái)的簡(jiǎn)潔。還有一種情況,就是沒(méi)有人進(jìn)行搶答,遇上這種情況,如果在倒計(jì)時(shí)結(jié)束之后,沒(méi)有人進(jìn)行搶答,則搶答標(biāo)志位,蜂鳴器標(biāo)志為改變,蜂鳴聲結(jié)束之后可以進(jìn)行下一輪操作。部分源代碼如下://倒計(jì)時(shí)模塊 begin if(EnFlat==139。b1) begin if(t!=3239。d48000000)//計(jì)時(shí)實(shí)現(xiàn)1HZ分頻 t=t+3239。d1。 else begin t=3239。d0。 Led1=839。b11111111139。b1。//Led1左移一個(gè)單位,實(shí)現(xiàn)一秒的倒計(jì)時(shí) end end if(Led1==839。b0)//倒計(jì)時(shí)結(jié)束還沒(méi)有按鍵按下,則搶答停止且蜂鳴器響 EnFlat=139。b0。 BuClk=139。b1。 end 蜂鳴器模塊蜂鳴器模塊的主要功能是提醒作用,可以增添?yè)尨鹌鞯氖褂眯?,蜂鳴器模塊主要有一下幾部分組成,一個(gè)蜂鳴器標(biāo)志位,蜂鳴器發(fā)聲標(biāo)志位,以及一個(gè)用于延時(shí)的計(jì)數(shù)模塊。蜂鳴器標(biāo)志位為高電平時(shí),發(fā)聲標(biāo)志位改變,蜂鳴器開(kāi)始發(fā)聲。因?yàn)闀r(shí)鐘信號(hào)的時(shí)間太短,根本聽(tīng)不到,需要加入一個(gè)延時(shí)模塊來(lái),讓聲音變得可以聽(tīng)清。由此得到的蜂鳴器模塊代碼如下: //蜂鳴器模塊 //當(dāng)蜂鳴器標(biāo)志位置1時(shí) //進(jìn)入此蜂鳴器處理程序 begin if(BuClk==139。b1) begin //蜂鳴器發(fā)聲 Buzzer=139。b0。 //延時(shí)變量加1 BuL = BuL + 839。d1。 //當(dāng)?shù)竭_(dá)延時(shí)的時(shí)間時(shí)關(guān)掉蜂鳴器 if(BuL==839。d255) begin //延時(shí)變量復(fù)位 BuL=839。d0。 //蜂
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1