版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子线路 CAD 课程设计论文抢答器( veril og+Ise )学号: U200713959院系:控制科学与工程系专业班级:自动化 0707 班姓名:王志伟一、 概述 在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答 者的机器。通过抢答者的指示灯显示、数码显示和警示显示等手段指示出第一抢答者。一般抢答器由单片机以及外围电路组成, 分为八路十路等不同, 八路和十路 的差别是,抢答器背面的 接口有几组,和外形没有关系。课题要求1. 设计一个可容纳 6 组参赛的数字式抢答器,每组设一个按钮,供抢 答使用。2. 抢答器具有第一信号鉴别与锁存功能,除第一个抢答者外,其余不 起作用。
2、3. 设置一个主持人“复位”按钮。4. 主持人复位后,开始抢答,第一信号鉴别与锁存电路得到信号后, 有指示器显示抢答组别,扬声器发出 23 秒的音响。5. 设置一个记分电路,每组开始预置 100 分,由主持人记分,答对一 次加 10分,答错一次减 10 分。6. 其它创新功能。测试工具平台编写语言: Verilog 编译调试工具: Xilinx ISE 9.2i运行板子: Xilinx Basys_1.1四、实现功能a. 基本功能1. 抢答器可以容纳 6组参赛的数字式抢答器, 每组都设置由一个抢 答按钮,供参赛者抢答。2. 抢答器具有第一信号鉴别与锁存功能, 除第一个抢答者外, 其余 不起作用
3、。3. 设置一个主持人 “复位”按钮,每次抢答之后按此按钮之后才能 进行下一轮抢答。4. 主持人复位后,开始抢答,第一信号鉴别与锁存电路得到信号后, 有指示器显示抢答组别,扬声器发出 23 秒的音响。5. 设置一个记分电路, 由主持人记分, 答对一次加 1 分,答错一次 减 1 分。b. 创新功能1 初始分数可以在每次抢答比赛开始前进行设置, 由于考虑到现实 的方便性,设置范围为 1 至 9分2 当某位参赛人员的积分减少至为 0 分时,则该人员被彻底淘汰, 在下一轮抢答中抢答按钮无效。3 在每次才赛人员抢答完之后, 由主持人或相关人员通过两个按钮来判断答题是否正确,以确定其加分还是减分,程序会
4、检测该按钮并且不 允许进行第二次被按下,以免造成分数的计数错误。4.当时间到最后3秒是会发出滴滴滴的提示音,在参赛人员按下抢 答按钮也会发出长1s的提示丘曰,5.程序设置了一个抢答器的倒计时,每轮抢答为10s倒计时,并且 时间倒计为0之后发出提示音,强大之后,时间重新复位,便于下一轮计时。6. 在支持人判断抢答者答题正误之前或之后, 可以通过两个按钮切 换当前状态,从而可以查看所有选手的积分。7.使用的状态机思想,设置了 8种状态:状态意义数码管显示0设置初始分数当前状态和设置的初试分数16当前抢答过程被相应 编号的选手抢答到当前状态和该选手的目前分数7正在抢答中数码管显示当前状态和正在倒 计
5、的时间五、设计思路a.总体电路1.Dis play原理图seg_该电路是在Ise中将所写的各个模块用导线连接之后的效果,从这个图可以 很清晰的看到程序的结构和思路。b.详细设计在对问题进行分析之后将该程序分成一下模块, 如表所示:模块名作用和意义Restart抢答器的重新开始信号的输入,用以改变当前的状态至 0,在该模式下进行初始分数设置,即进行新一轮抢答。Mode_latch_cha nge每当强大之后,所存当前状态,并在此基础上通过按键 调整状态,然后通过dis play模块显示,由此可以查看 各个选手的当前积分。Set_score在0状态时,利用两个按钮设置初始分数,提供加数设 置和减数
6、设置。Time_c ount每次支持人按下reset按钮进行新一轮抢答时,该模块 立即启动,开始倒计时10s,并通过dis play显示,同时 发出时间到最后3s和时间完的信号,以便控制提示音。Score_co unt主持人通过两个按键对抢答者回答对错进行判断, 同时 改变其积分。Dis play将需要数码管输出显示的信号输入,通过当前状态来判 断输出那路信号。BcdToSeg将dis play模块中被选择的4位bcd码转化成数码管相 应的8位信号Seg driver数码管的选通信号,利用时钟循环扫描。Sound alarm将Time count中的信号输入,和1000hz信号取并,得到输出到
7、喇叭,得到相应的提示音。Co ntrol控制模块,采集6位选手的按键情况,由此得到当前的 状态,作为其他模块的状态参照,同时发出相应的一些 控制信号。六、模块仿真1. restart模块仿真波形如下:須jjoig I BE DMrPLmiift r;. lEE 二菊二內汽严上xrJ农J可Q AL Edriiaum Puche Tdit Arnch UrnJcnhiilp号Ci诡 4 昇亠f欠I /莊QXX抑团I因 n R亍 戶柠 也 s * f I _ -Lz* % F A :元 I It * I t A 产利 m II 細八工 I皿 0皿 L3I止E色7*djMrL m 口 ivISIb I
8、cfTv Pliir引砒r3.0打“& 更Etr diipL0 Etfgillo Ftarlcd 叙甲他航6 plad_dklwlwvvljfVUUVi|vumnjinAnjmnwnMyiiru-i-hd 祈Hl蜒E yiihH-l PfUD 越血L出nr -_. J_ 阳丫 I h I QlTrMJun 亦 Q SniUrcTh 3 T*科 1 gray an oE* TKE axuldur. 91wLLir-Di J.? dnicj aixcaiG IruT-ulls-iT-inn pronwi. Finiatd frifuir.rur LOODD uI 闻亡*珥 I ! lM-rilK|
9、i I ThL EU11 I VI bJ In Vllii 包呂hb fmiLR - Jlxti-i-tr*.TvFif :15LMrr分析:可以看到,cp1024hz的时钟每个上升沿检测start_clk信号下降沿, 并且在其每个下降沿对start信号翻转,而抢答器在start=0是表示设置初始分数, start=1是表示抢答正常进行,所以利用start_clk可以控制抢答器重新开始。2. Mode_latch_change模块仿真 波形如下:Q!gqB匚;二:,睛A Kt朮宾比*目站T rl5E D.叫 Domm步Wig監心3# 删3工卩畔Q 初B Ak EdH 金w Prct Snuru
10、 Prune Tditfiinch UrnJcn Wfindw HiUi * Biar.診-JeXXZI Bill- % FIR 亍 Z 也 q F 1 - 1 口 I H % % A -: S I 生 * I t A 产呷 O II 如八皿 03 TJIhJ 汁 rilii I Q Jbh faiilR - lhi4f-3i-EL_rhibciTim坦9卿e 泰国,*12分析:可以看出,该模块在start=1是开始工作,当flag_pressed (表示选手 抢答)信号置为1时,模块锁存当前的状态mode_in,即相应的强大选手的编号, 在flag_pressed=1的过程中,可以通过按up
11、_clk和down_clk两个按钮设置 mode_out,由此输入到dis play,从而显示各个选手的分数信息。模块中提供 1024hz的时钟对up_clk和down_clk扫描,一旦有脉冲,则在下降沿做相应动作, 可以消除按键的抖动影响。3. Set_score模块仿真iTiin 匚鼻:X 二 IS fir、 arftSiT盘 $波形如下:壬对I忸-IBE - D. DdLuhifrMFjLi lEE 9iQ Rk Edriiaum PrwHE TdHt fimch UrnJcnhiiLf -*X :- kl -1团11口 m FT Z 也 sp _丄二Y片啤S A 二X I tt*| 1
12、 A产O II如庄皿 (3工TdL JltM-|1 bJ In rilii I 显弘b fOaiiLR - Tlii4_xa-i总I 阿匚*H 罟 I I lM-rilK|i I ThL EU11TvFif: -2呵分析:可以看出该模块在start=0是工作,通过1024hz时钟对两个按键扫描, 对初始分数进行加计数和减计数,即一个0-9的计数器,同时消除按键抖动的影 响。4. Time_count模块仿真 波形如下:弓 MI& . I BE . DMyEhKimi 开呷X-i 二 lEEPX斗耳 4 舸 3-4岸工ZQ AL fdH Vivw Prpct fnum Proem T吐 Ainc
13、h 口mJ血on VrvAmf Hilp M HI 由 I,: iC:亍乂I 好討q 3 -tEPXXZI B IF % A BTh r M H n“ q f !_-2.i /4-bAS I It * I 1 A I* -ll D II k iDssanig S 二IF5iLh TfenvIlWIn Il 勺VJr.nf43 打 rtxji由畔wi . 了tT 04hhm I 屮;,ft ImfrJWl& Irm-.hAnIplOMtu4L lE-Jfll4 lAa pflAHd-JBitt xlji 丄 a=icT =ihc*:iiL ir-Xiialix*Li=n pra=aj*. Fln
14、i4d urmlc jTiiclaLaxhcslGC jizacesp. iin.ra run 3O0DDDOO JiaTvFif : -2MT分析:可以看出该模块在start=1是正常工作,当flag_pressed信号为0时, flag_pressed有0变为1时,时间停止计时间从9s开始倒计时,当有选手抢答,数,在支持人按下reset按键之后,计数值恢复为9s,并开始倒计数,当时间倒 计至3时,time_less_alarm信号由0变成1,当时间倒计至0时,time_out信号 由0变成1,这两个信号都送至sound_alarm并经过变换之后驱动喇叭得到提示 音。5. Score_cou
15、nt模块仿真 波形如下:9簞; t 回t 0哎;S)暫育殛酥:暫匸31155竺站Z J&E = D.MDoCuiiifnHhiiLltE 312丽心1 啊炖iT-T旳rU 为需而石Q Ak EdH *Arfc Prct Snuru Prwm Tdtt Amch UrnJcn 怖ndirw Hilp *!?! I,診 XI 好斜:?! EPXXZI IP % A 31:-产柠 也_*T q F 1 . 7 口 I H 沁 A -: S I It * I t A 产利 B II 細八皿 H 3 TI:工jv-:ii i JiLm-iJV (_ N列r+djPBri.l%三heZhI-EIDI F1
16、iir_eti m IW - El 回T眄込I ;l VJlEH-b_-:n 0*lhhtr0 |出 玮EC4践3:01 B 审 nhiXSM nB 和 schism a 申g im1 d AraS0 nnjJA. 2tfa4-4却勺g OTQtf0 hmb_gia M Hflcd?.JE.1mg h_a-r T ITFir-I.-kiti 1 丹 | J FTcih_irM Iki | JiE-4_-=niA v 旳tkr 机M-il*I lM-nlft|i I QThL gl1 I 71 hJ in rilii I Q Jlk faiilR - if Err-h_niJt-社 甄 莎 _
17、t 诃fcMrv GhEiwr s 分析:有图可以看出,该模块在start=1时正常工作,利用1024hz的时钟对right_key和wrong_key扫描,消除抖动之后,做相应的分数设置操作,给谁加减 分通过当前的mode判断,并且当某选手分数减至0分时,该选手的一个标志位 zero被置为1,表示该选手已被淘汰,下一轮抢答将没有资格抢答,相应的按键 也将无效。6. Dis play模块仿真 波形如下:亘剤g - ISE D:My ZumEW“匚lEE 生 3琢込F 4驹,aJ_vuglM 卡血彷=工 三二口百L Edri *Arw Prct fnum Pmovn T.itbnch UrnJm
18、 Vraw Half匚J無貧Ji - ; k|-tPXXZI 011: % A 31 Th 沁工 首吋昭 at戏a女乳:d嘴P i _ 2 二巳 片噂q A 二寛I出ad 1 A产利 O II宙 皿 W S F兰空A -丨一工 r O / AI 3 B * I尹I儿屯已円dcr . Mvti ir inl* tQ-r*d_TirLl-( 三石ASSmEMFliiR_xon-i iTThJhh* 訂T匸Mriphtil. r) TprrhTiLi r QopSdu-1 了町巾FEbLriLEtrnjLipJ If EP品中vy 4巾Fr4TLcrE. Ebr 弓打riM*-*airuz 広1*-
19、3 Q町iJFmuuC边TJ:L4 +_oyDh WLihp? EkC_*-:iW Cl*C_d*lhrir ulEtvirinti:|:lj aii?4tEB 出士B申血“亠 a HrTM_CE4J . n Sittliiijor Fti问详囚B屮aawH了血Bd 加 rnmep m p ejdEirqIIItnnnmjnmninirjiiDncinEMnunouinniiQjLLL阳程工:石*胡T 晅 、唇一一-OtA.I iFdi辱1屮-Hdi 曲灯題;di叩jj:叫ma瓷4nB旷Wnn厮谢L阳FHbrH 口 口 餵xpjri L5 0 3C-Kirii P.O 承 a n 承vcnrr
20、i* D:0 畝! P.O cbLL-J_ww (1 Dl 抵D:O畝FUMb pi.O Tjrr.ciru gCmsn L5i:flIl UUr - LfaitiirT I 0小叩1町 I 理邛JirL 呵 I 卜 j 頑 Trrtwi讥Q SimIkkol(Tre+f*p91kL-icdi 1-? dDlRHi DiziMiP IruT-ulli-iT-inn proccaj. Flru血亡d circulc laicidlitfeciee pLC-5s.run JOODD =jJ fij CjMj-h H Qs.q I i, lM-nlK|i I 耀TpL Eh*n ITiF: -分析:
21、该模块在start=1时工作,用1024hz信号扫描mode变化,并以此作 为依据输出相应的信号到数码管中显示,这种对应关系在前面的表格中已经详细说明,不再赘述。7. Sou nd alarm模块仿真波形如下:Kiwt IEE DCutfl:/- iij IgE p为;Q AL Edri Vivwiaum PrwHE Tdit Arnch UrnJcnhiilp * HH0I . X ? kl fl e* -fe.XX JCI aO * r 亍 r tb Itfclf tA 广flOllP*/l iinng 、 T3 * * i 二三 I A % A i li-ir Cmhr-J 叫UL E寸
22、 二 PjErgiJiaia m Un i 13 11- E bfl Tii :F FiOn A PJOFH C疥gw I升 gLlUJ璋=二|出却Ling 31ea;;-icdz 1-9 daiH clzmc Inii-ulli-iT-iPn traccdj- Flruiirtd cireulc izilcldJ-izbcioe p:;cce-55, p run :3DDOO airEnBl_dJr Ebv I 回| Q EinLvIan |Ql Ciu-b QibL-aq. I I lM-rilK|i | ThL EU11VI bJ Vllii Q Jbb fmiLR - llKd_d.K
23、n* E 回峙 忌ia園ji离E离 分析:该模块在start=1时正常工作,输入有sound_en信号time_less_alarm,sound_en=1表示有选手抢答或者时间倒计至 0,此时alarm输出1s钟的1024hz 信号,驱动喇叭得到提示音;time_less_alarm=1信号表示时间只剩下3s,此时 alarm输出0.5s钟的1024hz信号,W动喇叭得到提示音。8. Control模块仿真波形如下:3.E Fik CdH Arff Prct Snum Pfkke Tnt fiarKhWindow l-talp3;于 HO y *;、:X| 切 AIR0|lC %冃11亍 Z
24、也Mq I -L z H 环 A L S I It * I 1 A 产州 o II 中 F 产 1001皿国3 TV ij 0- Jit ijc a i-: T巻pHjS.r三白bNSHi I曲如;I A Fill0T*田a町“I j + 0Trr I ffi an.r b回I i BwtLiUMds.ihnb_aith.1ha1E16IiI(IlIII4 :阿$ bJIIMrti_3n*巴n呼営血M岫岫血皿啣皿啊派皿耐涸I劉康匚:;IljCduul-h d Qlkr.q I I lM-nlh|i | .TpL EhU1 | TlhJ Ln rildi |C-niilR - ifciblrcl
25、21H雪wr 霆I!药胃巧溝蛰时-分析:该模块在start=1时正常工作,当相应的key按键按下时,mode变成 相应选手的编号状态,并且flag_pressed变成1,此时sound_en被置为1,驱动 喇叭得到1s的1khz的提示音。并且只有当支持人按下reset键之后才恢复至0,; 当time_out信号为1时,表示时间倒计至0,此时sound_en被置为1,驱动喇 叭得到提示丘七、实验感想1.2.通过这次课程设计,加强了我们动手、思考和解决问题的能力。在设计过程 中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通, 但实际接上电路,总是实现不了,因此耗费在这上面的时间用去
26、很多。做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平 时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电 路中的使用有了更多的认识。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解 了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看 了,下次就忘了,通过动手实践让我们对各个元件映象深刻。认识来源于实 践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个 课程设计对我的作用是非常大的。4. 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只
27、有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 论,才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。5. 此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出 现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更 轻松,自己也都能扛的起并高质量的完成项目。最后衷心感谢老师的悉心授课和同学门的热心帮助!八、 源代码1 restart.vmodule restart(cp1024hz,start_clk,started);/started=0 置初始分数 ,started=1 开始工作 input cp1024hz,st
28、art_clk;output started;reg started; reg1:0 init_temp=0;reg start_clk1;always (posedge cp1024hz) beginstart_clk1=start_clk;endwire start_clk2;变换 start_clkassign start_clk2=start_clk1&(start_clk);/ 信号,防止抖动以及便于 cp1024hz 扫描正常工作抢 ?_clk startedalways (posedge cp1024hz)/start转,为 0 时设置分数,为 1 时 beginif(init_
29、temp=2)beginstarted=0;init_temp=init_temp+1;endelse if(init_temp=3)begininit_temp=init_temp;if(start_clk2)begin started=started;endendelsebegininit_temp=init_temp+1;endendendmodule2 mode_latch_change.vmodulemode_latch_change(cp1024hz,started,flag_pressed,latch_clk ,up_clk,down_clk,mode_in,mode_out);
30、input cp1024hz,started,flag_pressed;/ 号,抢答中已经有按下键信号input latch_clk;input up_clk,down_clk;调键input3:0mode_in;output mode_out;reg3:0 mode_out;时钟信号,抢答开始信/ 锁存 mode 的脉冲信号/ 设置 mode 的两个按键,上调键和下/ 从 control 的 mode 输出引进抢答按键之后由 modein 变 modeoutreg up_clk1,down_clk1,latch_clk1;always (posedge cp1024hz) beginup_c
31、lk1=up_clk; down_clk1=down_clk; latch_clk1=latch_clk;endwire up_clk2,down_clk2,latch_clk2;/对输入的信号 ? 变化?阌赾 p1024hz 的脉冲捕获,并且可以防止设置 mode 的两个按键的抖动assign up_clk2=up_clk1&(up_clk);assign down_clk2=down_clk1&(down_clk);assign latch_clk2=latch_clk1&(latch_clk);always (posedge cp1024hz) beginif(!started)/sta
32、rted=0, mode_out=mode_in=0;begin mode_out=0;endelsebegin设置分数模式/ 正常抢答过程if(!flag_pressed)/begin mode_out=mode_in;endelse if(latch_clk2)/begin抢答模式锁存模式mode_out=6)beginmode_out=0;endelsebeginmode_out=mode_out+1;endendelse if(flag_pressed & down_clk2)/ mode 减计数beginif(mode_out=0)beginmode_out=6;endelsebeg
33、inmode_out=mode_out-1;endendelsebegin/ mode_out=mode_in;endendendendmodule查看各个分数,3 set_score.vmoduleset_score(cp1024hz,started,set_up,set_down,setted_score); / 抢答前设置玩家分数 yesinput cp1024hz,started,set_up,set_down;output setted_score;reg 3:0setted_score;reg cp_up,cp_down;always (posedge cp1024hz) begi
34、ncp_up =set_up;cp_down =set_down;endwire cp_up_pos,cp_down_pos;设置分数的计数设置初始分数assign cp_up_pos=cp_up&(set_up);assign cp_down_pos=cp_down&(set_down) ;/ cp ,并防止抖动always (posedge cp1024hz) / beginif(started=1)beginsetted_score3:0=0;endelse 梅质 ? begin if(cp_up_pos&(!cp_down_pos)/当 stared=0,为设置初始分数的模式,开 ?忌
35、柚/设置? 数加计数设置beginif(setted_score3:0=9)beginsetted_score3:0=0;endelsebeginsetted_score3:0=setted_score3:0+1;end设置分数减end else if(!cp_up_pos)&cp_down_pos) /计数设置beginif(setted_score3:0=0)beginsetted_score3:0=9;endelsebeginsetted_score3:0=setted_score3:0-1;endendendendendmodule4 time_count.vmoduletime_co
36、unt(cp1024hz,started,reset,flag_pressed,time_left, time_less_alarm,time_out);/yesdinput cp1024hz,started,reset,flag_pressed;output time_left;output time_less_alarm;/倒计时到 3s 之后发出提醒信号output time_out;/倒计时完了之后发出信号reg 3:0 time_left;reg time_less_alarm;reg time_out;reg9:0 temp_count;always (posedge cp1024
37、hz)beginif(!started)begintime_left=0;endelsebeginif(reset)begin time_left=9; time_less_alarm=0; time_out=0; temp_count=0;endelsebegin if(time_left=3)/ begin time_less_alarm=1; end if(time_left=0)/ begin time_out=1;end当倒计时剩 3s 时? 崾臼 ? 剩余不多当倒计时完了后,发出信号if(flag_pressed)/begintime_left=9;endelse/ 还未抢答,be
38、ginif(temp_count=1023)begintemp_count1)begintime_left=time_left-1; if(time_left=4) begin time_less_alarm=1;已抢答,则终止倒计时,并置为初值进行倒计时endendelse begin time_out=1; time_left=0;endendelse begin temp_count=temp_count+1; end end end end end endmodule5 sound_alarm.vmodule sound_alarm(reset,sound_en,cp1024hz,ti
39、me_less_alarm,alarm );/ 提示声,包括时间少于 3 秒后的读秒提示声,抢答按键按下提示声以及时 间完了的提示声重新开始新的抢答信号,发声input reset,sound_en,cp1024hz;/ 信号,时钟时间少于 3s 时的信号/ 所有的提示声信号叠加,作为喇叭的驱动信input time_less_alarm;/ output alarm;号reg 9:0 temp_count=0; reg temp;/reg alarm_time;always (posedge cp1024hz)/声音提示)beginif(reset)/begintemp=1;包括倒计时完,已
40、抢答两种情况的对中间变量进行初始化temp_count=0;endif(sound_en=1)beginif(temp_count=1023)/sound_en=1 begintemp=0;endelse时,响 1s 钟提示begintemp_count=temp_count+1; endendendwire alarm_time;assign alarm_time=temp & sound_en;reg9:0 temp1;reg time_left_alarm;always (posedge cp1024hz)/beginif(reset)begintemp1=1;时间到三秒之后时提示声响
41、0.5s/ 对中间变量进行初始化time_left_alarm=0;endelse begin if(time_less_alarm=0) begin temp1=0; time_left_alarm=0;end else begin / 时间少于 3s 时 提示 if(temp1=512) begin temp1=temp1+1; time_left_alarm=1;endelse begin time_left_alarm=0;endendendendassign alarm=(time_left_alarm|alarm_time)&cp1024hz; endmodule6 control
42、.vmodulecontrol(cp1024hz,started,reset,k1,k2,k3,k4,k5,k6,zero1,zero2,zero3,zero4,zero5,zero6,time_out,mode,flag_pressed,sound_en,latch_en);/yesdinput cp1024hz,started,reset;input k1,k2,k3,k4,k5,k6;/抢答的 6 个按键,由 cp1024hz 扫描是否有按键input zero1,zero2,zero3,zero4,zero5,zero6;/6 是否为 0,并将分数为 0 的淘汰input time_o
43、ut;/倒计时已完个用?的分数output flag_pressed,sound_en,latch_en,mode;/ 声音控制 ;模式控制 ; 输出模式reg flag_pressed,sound_en,latch_en;reg3:0 mode;always (posedge cp1024hz) begin if(!started)/是否已按键 ;当 started=0 时,对系统进行初始化, 同时将mode置 0 ;beginmode=0; flag_pressed=1; sound_en=0; latch_en=0;endelsebeginif(reset)/利用设置这个将 k1k6 屏
44、蔽/started=1已开始,reset=1轮抢答started=1beginflag_pressed=0; sound_en=0;latch_en=0; mode=7; end else beginif(time_out)begin sound_en=1;/endelsebegin if(!flag_pressed 时,按下 key1 begin flag_pressed=1; sound_en=1; latch_en=1; mode=1;endelse if(started/mode 置为抢答模式时间完了之后,响声提示&/& !zero2)begink1 &!zero1)/按键之后, 产生
45、相应电平!flag_pressed& k2flag_pressed=1; sound_en=1; latch_en=1; mode=2;endelse if(!flag_pressed & k3 & !zero3) beginflag_pressed=1; sound_en=1; latch_en=1; mode=3;end/ 按键之后,/ 按键之后,else if(!flag_pressed & k4 & !zero4) beginflag_pressed=1; sound_en=1; latch_en=1; mode=4;end/ 按键之后,else if(!flag_pressed &
46、k5 & !zero5) begin flag_pressed=1; sound_en=1; latch_en=1; mode=5;end/ 按键之后,else if(!flag_pressed & k6 & !zero6) begin flag_pressed=1; sound_en=1; latch_en=1; mode=6;endendendendendendmodule/ 按键之后,产生相应电平产生相应电平产生相应电平产生相应电平产生相应电平7 score_count.vmodulescore_count(cp1024hz,started,reset,mode,time_out,right_ke y,wrong_key,setted_score,score1,score2,score3,score4,score5,score6,zero1,zero2,zero3,zero4,zero5,zero6);/yesdinput cp1024hz,started,res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚前夫妻财产公证协议书
- 个体化护理方案的经济学评价与应用
- 儿科重症患者的救治与护理
- 2026年机械工程师面试全解析及答案
- 2025年护士资格考试必考基础知识题库及答案解析
- 2025年击奏乐器制作工岗前考核试卷及答案
- 2025年学校网络安全自查报告
- 高中阶段人工智能教育中个性化学习支持与学习风格演变策略研究教学研究课题报告
- 量子纠缠态的量子相容性问题-洞察及研究
- 2025年高端酒店品牌数字化转型行业报告
- 2025年云南省人民检察院聘用制书记员招聘(22人)备考笔试题库及答案解析
- 从废墟到宝库:热解技术的飞跃发展
- 工商银行贷款合同(标准版)
- 激光切割机日常保养表
- 广播电视安全播出工作总结
- 荧光腹腔镜知识培训总结
- 知道网课《微积分(I)(南昌大学)》课后章节测试答案
- 天一大联考2024-2025学年高三年级上学期期末检测政治试题(含答案)
- 畅游黑龙江课件
- 给水工程综合管廊施工方案
- 人教版五年级数学上册第六单元多边形的面积学业质量测评卷(含答案)
评论
0/150
提交评论