找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6811|回复: 0
打印 上一主题 下一主题
收起左侧

四人抢答器

[复制链接]
跳转到指定楼层
楼主
实验二  四人抢答器
一、实验目的
1、熟悉四人抢答器的工作原理;
2、掌握EDA开发的基本流程。
二、硬件需求
    EDA/SOPC实验箱一台。
三、实验原理
抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。
抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将抢答允许位清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。总的说来,抢答器的实现就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清除抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。
四、实验内容
本实验的任务是设计一个四人抢答器,用按键模块的F5作抢答允许按钮,用F1~F4来表示1号~4号抢答者,同时用LED模块的led1led4分别表示抢答者对应的位子。具体要求为:按下F5一次,允许一次抢答,这时F1F4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。F1F2F3F4F5按下时为高电平,平时为低电平,led1led4均为低电平输出时点。
  1. module responder_module
  2. (
  3.    LED, F
  4. );
  5.   input  [4:0] F;
  6.   output [3:0] LED;
  7.   
  8.   reg [3:0] LED;
  9.   reg flag;
  10.   always@(F)
  11.       begin
  12.       if(!F[4])
  13.          begin
  14.             LED<=4'b1111;
  15.             flag<=1'b1;
  16.          end
  17.       else if(flag)
  18.          case({F[0],F[1],F[2],F[3]})
  19.                4'b0000: LED<=4'b1111;
  20.                4'b1000: begin LED<=4'b1110;flag<=1'b0; end
  21.                4'b0100: begin LED<=4'b1101;flag<=1'b0; end
  22.                4'b0010: begin LED<=4'b1011;flag<=1'b0; end
  23.                4'b0001: begin LED<=4'b0111;flag<=1'b0; end
  24.                default: LED<=4'b1111;
  25.           endcase  
  26.       end
  27. endmodule
复制代码
仿真图:



















分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表