《EDA四人抢答器》由会员分享,可在线阅读,更多相关《EDA四人抢答器(9页珍藏版)》请在金锄头文库上搜索。
1、湖北师范大学电工电子实验教学示范中心EDA技术及应用实验报告HUBEI NORMAL UNIVERSITY电工电子实验报告课程名称EDA技术及应用实验名称四人抢答器选题性质综合设计学号姓名专业名称所在院系物理与电子科学学院报告时间2016年4月19第8页,共9页四人抢答器实验总结报告一. 任务解析1.实现一四人抢答器,有人抢答成功后,其他人再抢答无效;2.点亮选手对应的LED灯,并在数码管上显示抢答者的序号;3.主持人通过按键清除抢答信息,重新开始新一轮的抢答。二. 方案论证抢答选手抢答按键输入a,b,c,d。 抢答模块鉴别抢答成功 选手序号并译码显示。点亮选手对应的LED灯主持人控制,清屏按
2、键。三. 实验步骤1.电路分析(1)复位电路 图中的reset按键作用是主持人按键清屏,当主持人按下按键后各电路复位,放开按键标志着开始抢答。(2) 抢答电路 图中的key0,key2,key3,key4代表着选手a,b,c,d。当主持人按键清屏后四人就开始按键抢答,如果其中一人首先按下抢答键抢答成功后,其他人再按键无效。(3)LED灯显示电路图中选用led0,led1,led2,led3分别做为a,b,c,d四位选手对应的指示灯,抢答开始后当其中一位选手按下抢答键则点亮这位选手对应的指示灯。(4)数码管显示电路图中选用引脚为75号的位的数码管来显示选手的序号,将a,b,c,d四位选手分别编号
3、为1,2,3,4。若其中一位选手抢答成功数码管就显示该位选手的编号,例如a选手抢答成功那数码管就显示1。2.实验代码module cnt(clk,duan,wei,reset,qiangda1,qiangda2,qiangda3,qiangda4,ledout);input clk,qiangda1,qiangda2,qiangda3,qiangda4,reset;output 7:0duan,wei;output3:0ledout;reg7:0ledout;reg 7:0wei,duan;reg 3:0data;reg 0:0cnt;reg 0:0 key1 = 1b0;reg 0:0 ke
4、y2 = 1b0;reg 0:0 key3 = 1b0;reg 0:0 key4 = 1b0;reg 28:0jia1;reg 20:0jia;reg 2:0count;reg clk600hz,clk2hz;always(posedge (qiangda1 | reset)begin if(key1 = 0)key1 = key1;if(reset)key1 = 0;endalways(posedge qiangda2 | reset)begin if(key2 = 0)key2 = key2;if(reset)key2 = 0;endalways(posedge qiangda3 | re
5、set)begin if(key3 = 0)key3 = key3;if(reset)key3 = 0;endalways(posedge qiangda4 | reset)begin if(key4 = 0)key4 = key4;if(reset)key4 = 0;endalways (posedge clk)beginif(jia8333-1)jia=jia+1;begin jia=0;clk600hz=!clk600hz;endif(key1 & count = 0)count=1;if(key2 & count = 0)count=2;if(key3 & count = 0)coun
6、t=3;if(key4 & count = 0)count=4;if(reset = 1)count = 0;endalways (posedge clk)begincase(count)0:ledout=8b0000000;1:ledout=8b0000001;2:ledout=8b0000010;3:ledout=8b0000100;4:ledout=8b0001000;endcaseendalways (posedge clk600hz)begincnt = cnt +1;case(cnt)1b0:data=count%10;endcasecase(cnt)1b0:wei=8b11111
7、110;default:wei=8b11111111;endcaseendalways (data)begincase(data)4h0:duan=8b00111111;4h1:duan=8b00000110;4h2:duan=8b01011011;4h3:duan=8b01001111;4h4:duan=8b01100110;4h5:duan=8b01101101;4h6:duan=8b01111101;4h7:duan=8b00000111;4h8:duan=8b01111111; 4h9:duan=8b01101111; default:duan=8b00000000;endcaseen
8、dendmodule四. 实验总结经过这次的EDA课程,我收获很多。它不仅增进了我对EDA设计的兴趣,更让我熟悉了从开始的论证分析到软件程序的调试、仿真,再到下载程序、调试硬件、实现功能这一设计流程。经过多次的修改和调试,实验总算成功了,在看到开发板上的效果时,我内心非常激动,感觉当初的汗水算没白费。一开始自己编写的代码没有用到数码显示选手的序号而且主持人要一直按着复位键选手才能抢答,田老师对此提出建议让我进行改善。之后我将复位键定义了一个标志位,使用标志位作为负责清屏的判定条件,但是这样在抢答完后要安两次才能再次抢答,一次复位再一次才标志开始抢答,最后我又放弃使用标志位直接把负责清屏的判定条件改为复位键,这样当复位键按下去的时候清屏,放开复位键就标志着开始抢答,一键完成。最终代码总算是完善了。感谢田老师孜孜不倦的教诲。相信在EDA学习过程中自己思维能力、学习能力、思考方式的提高,定会在以后的学习过程中给我带来很大的帮助。