本帖最后由 eehome 于 2013-1-5 10:00 编辑
一、 设计说明
这个设计主要是用VHDL语言编程,实现四路智力抢答器。
输入:总共有八个按键输入,其中开始键(start)、复位键(reset)、加分键(up)和减分键(dn)由主持人控制;另外还有四个选手的抢答按键。
输出:1、七段数码管
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
━
┃ ┃
━
┃ ┃
━ |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
两位倒计时(8、7),抢答选手号(6),四位选手的成绩显示(1、2、3、4),5号灯灭。
2、发光二极管
选手抢答允许(开始抢答)指示灯,倒计时计数允许指示灯和主持人加减成绩指示灯。
二、 设计要求
(1) 比赛开始前,由主持人按reset键复位系统,使得每个选手的初始成绩都是5分;
(2) 每一题抢答主持人按start键开始,选手抢答允许(开始抢答)指示灯亮,蜂鸣器响表示抢答开始;同时启动10秒抢答倒计时,并且每秒钟蜂鸣器都响一声,表示时间的流逝;
(3) 在倒计时内若有选手抢答,蜂鸣器响表示有人抢答,选手抢答允许(开始抢答)指示灯灭不允许其他选手抢答;同时LED6显示抢答选手号,启动60秒答题倒计时;
(4) 若在抢答倒计时内无人抢答,蜂鸣器响表示抢答时间过,选手抢答允许(开始抢答)指示灯灭,不允许选手抢答;
(5) 选手在规定的时间内答题结束,由选手自己按键停止倒计时,同时蜂鸣器响表示答题结束;
(6) 若选手在规定的时间内不能答完题,则时间到后蜂鸣器响表示答题时间结束;
(7) (5)(6)后主持人加减成绩指示灯亮,然后由主持人通过加减按键来给选手设定成绩,并等待下一题开始。
三、 系统调试
(1) Reset;
(2) Start 等待抢答倒计时满;
(3) Start Start Key1 Key2 Start Key3 Start 等待答题倒计时满;
(4) Up Up 等待开始;
(5) Start Key2 Key2(时间未到) Dn Dn 等待开始;
(6) Reset;
四、 调试注意问题
(1) 在用programme in debuging中的程序调试时,由于没有加开始键使能信号enstart,所以在有选手按下抢答键后主持人仍然可以按start键开始新一题的抢答,这是不符合实际的;故在最后的程序中加了enstart控制信号后就可以解决这个问题;
(2) 若按键时没有声音,则在control模块中的状态机中初始化时加f<=”111”就可以了。
五、 扩展设计
在qdq_vhd(020spi)中的项目是用已经在FPGA上验证的智力抢答器与单片机8051F020挂接。单片机与FPGA(ACEX EP1K30TC144-3)之间的通信采用SPI通信方式。单片机负责按键的采集并将之转换为BCD码形式的键号,之后将键号送到FPGA从而控制FPGA上的数字系统。
|