77范文网 - 专业文章范例文档资料分享平台

基于FPGA四路电子抢答器设计(2)

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

END IF;

ELSE NULL;

END IF;

BJ<=A OR B OR C OR D;

END IF;

END PROCESS;

END behave;

2、仿真图

EDA课程设计四路电子抢答器设计

由图中可看出在复位信号R从高电平降到低电平后,抢答器开始正常工作,A最先抢答,这时开始报警,数码管输出显示1,说明A最先抢答。

(二)计时模块

1、VHDL源程序

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY JS IS

PORT(R,ST,EN,CLK:IN std_logic;

cg,cs:IN std_logic_vector(3 DOWNTO 0);

GW,SW:BUFFER std_logic_vector(3 DOWNTO 0);

BJ:OUT std_logic);

END JS;

ARCHITECTURE behave OF JS IS

BEGIN

PROCESS(R,EN,ST,CLK)

BEGIN

IF ST='0'THEN

IF R='1'THEN

IF EN='1'THEN

GW<=cg;

SW<=cs;

BJ<='0';

ELSE GW<="0000";

SW<="0110";

BJ<='0';

END IF;

ELSIF CLK'EVENT AND CLK='1'THEN

IF GW<="0000"THEN

GW<="1001";

IF SW="0000"THEN

SW<="0110";

ELSE SW<=SW-1;

END IF;

ELSE GW<=GW-1;

END IF;

IF GW="0000"AND SW<="0000"THEN

GW<="0000";

SW<="0110";

BJ<='1';

EDA课程设计四路电子抢答器设计

END IF;

END IF;

ELSE BJ<='0';

END IF;

END PROCESS;

END behave;

2、仿真图

从图中可看出,在复位信号为1时,始能信号EN为1,这时计时时间改变为cs,cg中输入的06秒,在复位信号变为0后开始计时,在计时时间到达0时由于无人抢答(由停止信号ST控制),故产生报警信号开始报警。在停止信号为1后,停止计时,在停止信号为0时,计时再次开始。

(三)数据选择模块

1、VHDL源程序

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY XZMK IS

PORT(SEL:IN std_logic_vector(2 DOWNTO 0);

H,S,G:IN std_logic_vector(6 DOWNTO 0);

Z:OUT std_logic_vector(6 DOWNTO 0));

END XZMK;

ARCHITECTURE behave OF XZMK IS

BEGIN

WITH SEL SELECT

Z<=H when"000",

G when"001",

S when"010",

EDA课程设计四路电子抢答器设计

"0000000" when others;

END behave;

2、仿真图

从图中可看出,在SEL信号为2时,输出计时时间的十位(S信号),在SEL信号为1时,输出计时时间的个位(G信号),在SEL信号为0时,输出最先抢答的抢答器的编号(H信号)。

(四)译码模块

1、VHDL源程序

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY YMMK IS

PORT(SJ:IN std_logic_vector(3 DOWNTO 0);

Y:OUT std_logic_vector(6 DOWNTO 0));

END ENTITY;

ARCHITECTURE behave OF YMMK IS

BEGIN

PROCESS(SJ)

BEGIN

CASE SJ IS

WHEN"0000"=>Y<="1111110";

WHEN"0001"=>Y<="0110000";

WHEN"0010"=>Y<="1101101";

WHEN"0011"=>Y<="1111001";

WHEN"0100"=>Y<="0110011";

WHEN"0101"=>Y<="1011011";

WHEN"0110"=>Y<="1011111";

WHEN"0111"=>Y<="1110000";

WHEN"1000"=>Y<="1111111";

WHEN"1001"=>Y<="1110011";

EDA课程设计四路电子抢答器设计

WHEN OTHERS=>Y<="0000000";

END CASE;

END PROCESS;

END behave;

2、仿真

从图中可看出,本模块对输入的BCD码信号(SJ信号)进行了编译,输出信号Y,使其能在数码管上对应显示出相应的数值。

(五)位循环模块

1、VHDL源程序

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY SEL IS

PORT(CLK,R:IN std_logic;

SEL:buffer std_logic_vector(2 DOWNTO 0));

END SEL;

ARCHITECTURE behave OF SEL IS

BEGIN

PROCESS(CLK,R)

BEGIN

IF R='1' THEN

SEL<="000";

ELSIF CLK'EVENT AND CLK='1'THEN

IF SEL="010"THEN

SEL<="000";

EDA课程设计四路电子抢答器设计

ELSE SEL<=SEL+1;

END IF;

END IF;

END PROCESS;

END behave;

2、仿真

从图中看出,在复位开始信号为1时不工作,在为0后开始工作,SEL信号在0-2这三个数内随CLK信号的变化循环,实现数码管的循环显示。

五、完整电路设计与分析

(一)主电路图

下图为具有完整抢答器功能的结构图,其中用到了抢答模块一个,计时模块一个,

译码模块两个,选择模块一个,位循环模块一个。共有17个输入,11个输出。

EDA课程设计四路电子抢答器设计

(二)时序仿真图

下图为整个模块的时序仿真图,由图中可看出,在复位信号为0后,抢答器开始工作,在有抢答信号后抢答器报警,数码管轮流显示计时时间及最先抢答的抢答器对应的号码。

(三)芯片引脚分布图

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说高考高中基于FPGA四路电子抢答器设计(2)在线全文阅读。

基于FPGA四路电子抢答器设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/gaokaogaozhong/1249732.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: