资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
山东建筑大学课程设计说明书基于EDA的智力抢答器的课程设计说明书目录摘要1、课程设计目的与要求12、课程设计原理13、 课程设计内容.23.1软件整体设计33.2总体设计电路33.3模块设计和相应模块程序43.3.1抢答鉴别模块43.3.2计时模块.73.3.3数据选择模块和译码模块.9 3.3.4仿真及仿真结果分析.11结论与致谢12参考文献13附 录.14 摘 要 抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢答,警报器发出警报。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。 因此要完成抢答器的逻辑功能,该电路至少应包括抢答鉴别模块、计时模块、选择模块和报警模块组成。关键词:抢答鉴别 封锁 计时 报警 Verilog HDL 21、课程设计目的与要求根据设计要求分析智力抢答器的功能,掌握设计中所涉及到抢答锁存;抢答计时;数据选择;译码显示、Verilog HDL语言的编程技术,阐明设计原理。设计供4个代表队比赛用的智力抢答器,技术参数和设计要求:(1)系统复位和抢答控制开关。由主持人控制。(2) 复位后,主持人宣读试题,按下开始键,发动开始抢答命令,启动抢答限时计数器。若在按下开始按键前有人抢答,犯规电路将发出声光提示,显示犯规组号。(3) 抢答器具有锁存与显示功能。在限时内,选手按动按钮,锁存相应的编号,并在LED数码管上显示。若限时到,则声光显示。(4)抢答器具有定时抢答功能。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。2、 课程设计原理2.1功能分析 抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮无效;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用LED数码管显示抢答组别,蜂鸣器发出23s的音响。2.2设计思路此设计问题可分为第一信号鉴别、锁存模块、答题计时电路模块、计分电路模块和扫描显示模块四个模块构成。此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号控制一个具有2种工作频率交替变化的音频振荡器工作,推动扬声器发出2种笛音音响。计分电路采用十进制加减计数器、数码管显示,由于每次都是加减10分,所以个位始终为零,只要十位、百位进行加减运算即可。其流程图如下:K1K2K3数码管片选信号倒计时模块数码管译码电路蜂鸣器同步信号数码管显示模块锁存电路按键1按键2转换 K4图2.2 四路抢答器原理3、 课程设计内容3.1软件整体设计开始抢答? Y答题时间到?进行答题计时已有人抢? Y N 报警后,计时清零抢答重新开始 N Y 判断是几号选手抢答,并将对应的LED灯点亮,蜂鸣提示。抢答时间计时内无人则重新开始。 图3.1 软件设计整体框架3.2总体设计电路3.3模块设计和相应模块程序第一信号鉴别锁存模块的原理: 在得到第一信号后,准确判断出第一抢答者并将其锁存; 将输入端封锁,使其他组的抢答信号无效。采用锁存器74175实现,如右图所示。3.3.1抢答鉴别模块信号锁存电路信号定义:CLK:时钟信号;K1、K2、K3、K4:抢答按钮信号;out1、out2、out3、out4:抢答LED显示信号;judge:裁判员抢答开始信号;buzzout:示警输出信号;flag:答题是否超时的标志; module sel(clk,k1,k2,k3,k4,judge, seg,sl,out1,out2,out3,out4,out5,buzzout);input clk,k1,k2,k3,k4,judge;output out1,out2,out3,out4,out5,buzzout;reg out1,out2,out3,out4,out5,block,buzzout;output7:0 seg;output3:0 sl;reg32:0 count;reg27:0 counter;reg7:0 seg_reg;reg3:0 sl_reg;reg flag;always(posedge clk)begincounter=counter+1;/裁判员发开始抢答信号,初始化指示灯为灭、抢答的互斥量为0,蜂鸣器禁声if(!judge) beginout1,out2,out3,out4,out5,block=6b111110;count=0;flag=0;endelsebeginif(!k1)/第一组别按键是否按下beginif(!block)beginout1=0;block=1;/封锁别组抢答信号count=1;/第一组已按下按钮,可启动答题计时器endendelse if(!k4)/第四组别按键是否按下beginif(!block)beginout4=0;block=1;count=1;endendseg_reg=8hc0;if(count!=0)beginif(!out1)seg_reg=8hf9;if(!out2)seg_reg=8ha4;if(!out3)seg_reg=8hb0;if(!out4)seg_reg=8h99;endsl_reg =4b0111;if(count!=0)beginif(count=32h608f3d00) /如果答题时间到了30s,亮犯规灯begincount=0;out5=0;flag=1b1; /置蜂鸣器发声标志endelsebegincount=count+1;endendendend/蜂鸣器发声always(counter7)if(flag=1) buzzout=!(counter11&counter22&counter27);else buzzout=1b0;assign seg=seg_reg;assign sl=sl_reg;endmodule抢答鉴别模块图抢答鉴别模块用来准确直观地判断K1,K2,K3,K4四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。3.3.2计时模块 module jsq(out,clk,reset); output out;reg 3:0 qh;reg 3:0 ql;reg out;input clk,reset;always (posedge clk or negedge reset)beginout=0;if(reset)qh,ql=0;else begin if(qh,ql=8h03) beginqh,ql=0;out=1; end else begin if(out) begin if(ql=9) begin ql=0;qh=qh+1; end else begin ql=ql+1; end end end end endendmodule计时模块图在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。系统复位信号reset; 3.3.3数据选择模块和译码模块module sell(in1,in2,in3,in4,in5,in6,in7,in8,clk,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g);input clk;input 3:0 in1,in2,in3,in4,in5,in6,in7,in8;output ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg 3:0 temp,flag;always(posedge clk)beg
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号