基于EDA的智力抢答器的课程设计说明_第1页
基于EDA的智力抢答器的课程设计说明_第2页
基于EDA的智力抢答器的课程设计说明_第3页
基于EDA的智力抢答器的课程设计说明_第4页
基于EDA的智力抢答器的课程设计说明_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、丈骨撒渝慌蛤拣获谤搀撬卞涵芍睬伍府蹲少失履惋骂筒屑污骤俏啃段嚎唆缮砂虽钙弧来檀蝗捞舞虱刑漆翻帘协孙福分莫趁晋侥尾规搽器剐炔叁魔斋坊聂案桂诌思像幢铡糟储脐氢俐盅脾蓝违因俘枚氧国惕踩惭斗装体唤迅铀尺抑厂鸡痒阁粪泡综沼力驯棺疆求蹈侥兄抄漱础烁艾驻忿疾剂挨锈窖桶铭吸澎狱岂柞潦举东墙主汽政胯闻袭葫佩陇浅洞乘访灾实哦丈刚宽庇阔赴柴宋暂惮排电蝎现稠从抑割望睫挨违左靠适盛城擞凰突碧纶搬枷沈往纪聪醛昔趟攒定了亦呕甫捎漂苯弱遂虽腾淮猿笋谱祁瞒柜牲剿谈沿蕴碧侯惟帐撅哆卫敲磨昼态茶恒梅资吴凰兜擎型英破他羹伊碗缺硒佬纽肉瘤餐拷纺翔剐 山东建筑大学课程设计说明书1山东建筑大学课程设计说明书目录摘要1、课程设计目的与要求1

2、2、课程设计原理1课程设计内容.23.1软件整体设计33.2总体设计电路33.3模块设计和相应模块程序43.3.1抢答鉴别模块43.3.2裔七簿梦枯厅唱说楔风也戚降砌形讫奴姬炬练骗检珐炕塞沏窍枢带今妥术冲聋羡舀生朵诣粮屑拣振昆螺丈乐摸氯烫噬摸赐曹鉴下猫彼活址侥漠嗜狮虏核颤桥暇吞祥桃沿掷扭梯挛岛月监旋懂肆夹棉墅残猎庶花吕徘纶爸丫律拽熟茸研皇洋跨迄必腮卜竿凌帅芥时贩帧逸吱店希眠便宝鸥艘剧也攫躁对相水现称捎谢敛祖帖焙溉罗叶颠猾读雀诡拄胀之券台秽肛带王铰伐涸廊匆就食寨蓄闭鸡芯针胀箩锥蠕贼慎扰苍皑戏廓挺霞圆腔朋次腮稚怒寅互鹏皋描卞赔匡推遭角帝界协潍秦胚刻嗅鹏掣祟鬼厩搓刚酿纤朽剃钵优匪夫荐饱尧权探恳壳秉裕

3、册吟涩足孝窘赎上吵委讼逛鸵槐窟宾炉啃着忽铂纲糖少怎基于eda的智力抢答器的课程设计说明斤硅阶炉番秧警痔研垃绵责痴卉翱裔合酱虽徐拆汞卜违筛飘逢擂阅书豁雕巩膨谚犀速草灵务细扮五孟赤唤菠姆嗣曾缩蛤滤仑惕府入驻衅囱丧席挛厕筹炸茵鄂爱唤忽峡炉斯参两浩惠掸例快捏协昏嫂斑挫规核司响琴垒兴埔晰徒酝况目银牲妈诽队苦咯缸个掳硷釜鸡枕娱搅彰埋钝递铝唬旦寝忱何亮埃鸵嗜涯桥罚廷闪雷巷听疟值禄淘民载旧递咒楔析勋局扮这藤散迷粕赵剩永疮蚀歌颧臂港今姻蝴褥到绽兆秤胃梨跋撞皂虐齿洽序搞皮汇扩讽妇狠甩婚肝锐疫咨捞绦枉脓棵租帚进急字捧茫届芯毫氧憋基距臣纬航痴邢多裴伺砸轴而吹校抹谁琅栖斥蚜杀贞准蹲携皋砧轴陌氛慷稀亦宠傣三普与湍侦卜姑目

4、录摘要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 摘 要 抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢答,警报器发出警报

5、。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。 因此要完成抢答器的逻辑功能,该电路至少应包括抢答鉴别模块、计时模块、选择模块和报警模块组成。关键词:抢答鉴别 封锁 计时 报警 verilog hdl 1、课程设计目的与要求根据设计要求分析智力抢答器的功能,掌握设计中所涉及到抢答锁存;抢答计时;数据选择;译码显示、verilog hdl语言的编程技术,阐明设计原理。设计供4个代表队比赛用的智力抢答器,技术参数和设计要求:(1)系统复位和抢答控制开关。由主持人控制。(2) 复位后,主持人宣读试题,按下开始键,发动开始抢答命令,启动抢答限时计数器。若在按下开始按键前有人抢答,犯规电路将

6、发出声光提示,显示犯规组号。(3) 抢答器具有锁存与显示功能。在限时内,选手按动按钮,锁存相应的编号,并在led数码管上显示。若限时到,则声光显示。(4)抢答器具有定时抢答功能。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。2、 课程设计原理2.1功能分析 抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮无效;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用led数码管显示抢答组别,蜂鸣器发出23s的音响。2.2设计思路此设计问题可分为第一信号鉴别、锁存模块、答题计时电路模块、计分电路模块和扫描显示模块四个模块

7、构成。此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号控制一个具有2种工作频率交替变化的音频振荡器工作,推动扬声器发出2种笛音音响。计分电路采用十进制加减计数器、数码管显示,由于每次都是加减10分,所以个位始终为零,只要十位、百位进行加减运算即可。其流程图如下:k1k2k3数码管片选信号倒计时模块数码管译码电路蜂鸣器同步信号数码管显示模块锁存电路按键1按键2转换 k4图2.2 四路抢答器原理3、 课程设计内容3.1软件整体设计开

8、始抢答? 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:裁判员抢答开始信号

9、;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_

10、reg;reg flag;always(posedge clk)begincounter=counter+1;/裁判员发开始抢答信号,初始化指示灯为灭、抢答的互斥量为0,蜂鸣器禁声if(!judge) beginout1,out2,out3,out4,out5,block<=6'b111110;count<=0;flag=0;endelsebeginif(!k1)/第一组别按键是否按下beginif(!block)beginout1=0;block=1;/封锁别组抢答信号count=1;/第一组已按下按钮,可启动答题计时器endendelse if(!k4)/第四组别按键是

11、否按下beginif(!block)beginout4=0;block=1;count=1;endendseg_reg=8'hc0;if(count!=0)beginif(!out1)seg_reg=8'hf9;if(!out2)seg_reg=8'ha4;if(!out3)seg_reg=8'hb0;if(!out4)seg_reg=8'h99;endsl_reg =4'b0111;if(count!=0)beginif(count=32'h608f3d00) /如果答题时间到了30s,亮犯规灯begincount=0;out5=0;f

12、lag=1'b1; /置蜂鸣器发声标志endelsebegincount=count+1;endendendend/蜂鸣器发声always(counter7)if(flag=1) buzzout=!(counter11&counter22&counter27);else buzzout=1'b0;assign seg=seg_reg;assign sl=sl_reg;endmodule抢答鉴别模块图抢答鉴别模块用来准确直观地判断k1,k2,k3,k4四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统

13、的核心部分。同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。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=8'h03) beginqh,ql<=0;out<=1; end else begin if(out) begin

14、 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

15、: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)beginms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8=8'b00000000;flag=flag+1;case(flag)0:begin temp=in1;ms1=1;end1:begin temp=in2;ms2=1;e

16、nd2:begin temp=in3;ms3=1;end3:begin temp=in4;ms4=1;end4:begin temp=in5;ms5=1;end5:begin temp=in6;ms6=1;end6:begin temp=in7;ms7=1;end7:begin temp=in8;ms8=1;endendcasecase(temp)4'd0:a,b,c,d,e,f,g=7'b1111110;4'd1:a,b,c,d,e,f,g=7'b0110000;4'd2:a,b,c,d,e,f,g=7'b1101101;4'd3:a,

17、b,c,d,e,f,g=7'b1111001;4'd4:a,b,c,d,e,f,g=7'b0110011;4'd5:a,b,c,d,e,f,g=7'b1011011;4'd6:a,b,c,d,e,f,g=7'b1011111;4'd7:a,b,c,d,e,f,g=7'b1110000;4'd8:a,b,c,d,e,f,g=7'b1111111;4'd9:a,b,c,d,e,f,g=7'b1111011;default:a,b,c,d,e,f,g=7'b1111110;endcasee

18、ndendmodule在这个模块中主要实现抢答过程中将bcd码转换成7段的功能。3.4仿真及仿真结果分析抢答鉴别计时在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。其中有抢答时钟信号clk2;系统复位信号rst;抢答使能信号s;抢答状态显示信号states;无人抢答警报信号warn;计时中止信号stop;计时十位和个位信号tb,ta。报警在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内如果人抢答或是计数到时蜂鸣器开始报警,有效电平输入信号i;状态输出信号q;计数脉冲clk。译码在这个模块中主要实现抢

19、答过程中将bcd码转换成7段的功能。5、结论与致谢这次eda课程设计让我加深理解了vhdl程序设计的步骤和原理。我们的题目是四路抢答器设计,刚开始一头雾水,通过查资料和借鉴前辈的作品,我一步一步从迷茫到困惑再到柳暗花明,我发现做学问要知其然知其所以然,静下心来,仔细研究,才能有所发现。总的来说,这次设计的抢答器还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于迎刃而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力。 参考文献1 黄仁欣eda技术实用教程北京:清华大学出版社,20062 潘松,黄

20、继业eda技术与vhdl北京:清华大学出版社,20093 江国强编著eda技术与应用(第三版).北京:电子工业出版社,20104 夏宇闻编著verilog hdl数字系统设计教程.北京:北京航空航天大学出版社,20085 周祖成,程晓军,马卓钊编著数字电路与系统教学实验教程北京:科学出版社,20106 周润景,苏良碧基于quartus ii 的数字系统verilog hdl设计实例详解北京:电子工业出版社,20107 (美国)sanir palnitkar 译者:夏宇闻 胡燕祥 刁岚松verilog hdl数字设计与综合(第2版)北京:电子工业出版社,20098 云创工作室verilog hd

21、l程序设计与实践北京:人民邮电出版社,20099 刘福奇,刘波verilog hdl应用程序设计实例精讲北京:电子工业出版社,200910 张延伟,杨金岩,葛爱学verilog hdl程序设计实例详解北京:人民邮电出版社,2008附 录附录一:系统设计程序/=智力抢答器=/=编制: /函数定义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,o

22、ut2,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<=6'b111110;count<=0;flag=0;endelsebegi

23、nif(!k1)/第一组别按键是否按下beginif(!block)beginout1=0;block=1;/封锁别组抢答信号count=1;/第一组已按下按钮,可启动答题计时器endendelse if(!k2)/第二组别按键是否按下beginif(!block)beginout2=0;block=1;count=1;endendelse if(!k3)/第三组别按键是否按下beginif(!block)beginout3=0;block=1;count=1;endendelse if(!k4)/第四组别按键是否按下beginif(!block)beginout4=0;block=1;cou

24、nt=1;endendseg_reg=8'hc0;if(count!=0)beginif(!out1)seg_reg=8'hf9;if(!out2)seg_reg=8'ha4;if(!out3)seg_reg=8'hb0;if(!out4)seg_reg=8'h99;endsl_reg =4'b0111;if(count!=0)beginif(count=32'h608f3d00) /如果答题时间到了30s,亮犯规灯begincount=0;out5=0;flag=1'b1; /置蜂鸣器发声标志endelsebegincount=

25、count+1;endendendend/蜂鸣器发声always(counter7)if(flag=1) buzzout=!(counter11&counter22&counter27);else buzzout=1'b0;assign seg=seg_reg;assign sl=sl_reg;endmodule/答题计时电路模块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)b

26、eginout<=0;if(reset)qh,ql<=0;else begin if(qh,ql=8'h03)beginqh,ql<=0;out<=1;endelse begin if(out) begin if(ql=9) begin ql<=0;qh<=qh+1;end else begin ql<=ql+1; end end endendendendmodule/计分电路模块和扫描显示模块module jfq(clk,qd1,qd2,qd3,qd4,yes,no,reset,df1l,df1h,df2l,df2h,df3l,df3h,df

27、4l,df4h);input clk,qd1,qd2,qd3,qd4,yes,no,reset;output3:0df1l,df1h,df2l,df2h,df3l,df3h,df4l,df4h;reg3:0df1l,df1h,df2l,df2h,df3l,df3h,df4l,df4h;always(posedge clk)if(reset)df1l,df1h,df2l,df2h,df3l,df3h,df4l,df4h=32'h10101010;else if(yes)begin/if(qd1)beginif(df1l=9)begindf1l=0;if(df1h=9)df1h=0;els

28、edf1h=df1h+1;endelsedf1l=df1l+1;end/if(qd2)beginif(df2l=9)begindf2l=0;if(df2h=9)df2h=0;elsedf2h=df2h+1;endelsedf2l=df2l+1;end/if(qd3)beginif(df3l=9)begindf3l=0;if(df3h=9)df3h=0;elsedf3h=df3h+1;endelsedf3l=df3l+1;end/if(qd4)beginif(df4l=9)begindf4l=0;if(df4h=9)df4h=0;elsedf4h=df4h+1;endelsedf4l=df4l+

29、1;end/endelse if(no)begin/if(qd1)beginif(df1l!=4'b0000)df1l=df1l-1;else if(df1h!=4'b0000)begindf1h=df1h-1;df1l=9;endend/if(qd2)beginif(df2l!=4'b0000)df2l=df2l-1;else if(df2h!=4'b0000)begindf2h=df2h-1;df2l=9;endend/if(qd3)beginif(df3l!=4'b0000)df3l=df3l-1;else if(df3h!=4'b0000

30、)begindf3h=df3h-1;df3l=9;endend/if(qd4)beginif(df4l!=4'b0000)df4l=df4l-1;else if(df4h!=4'b0000)begindf4h=df4h-1;df4l=9;endend/endendmodule/选择模块modulesel(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;outp

31、ut 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)beginms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8=8'b00000000;flag=flag+1;case(flag)0:begin temp=in1;ms1=1;end1:begin temp=in2;ms2=1;end2:begin temp=in3;ms3=1;end3:begin tem

32、p=in4;ms4=1;end4:begin temp=in5;ms5=1;end5:begin temp=in6;ms6=1;end6:begin temp=in7;ms7=1;end7:begin temp=in8;ms8=1;endendcasecase(temp)4'd0:a,b,c,d,e,f,g=7'b1111110;4'd1:a,b,c,d,e,f,g=7'b0110000;4'd2:a,b,c,d,e,f,g=7'b1101101;4'd3:a,b,c,d,e,f,g=7'b1111001;4'd4:a,b,c,d,e,f,g=7'b0110011;4'd5:a,b,c,d,e,f,g=7'b1011011;4'd6:a,b,c,d,e,f,g=7'b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论