欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子信息工程基于VHDL的抢答器.doc

    • 资源ID:1011587       资源大小:129.83KB        全文页数:17页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子信息工程基于VHDL的抢答器.doc

    1、目录一、设计要求-二、设计方案-三、设计程序-四、管脚分配-五、硬件下载实现现象描述-六、体会与收获- 一、 设计要求1 具有第一抢答信号的鉴别和锁存功能。在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。同时,电路处于自锁状态,使其他组的抢答器按钮不起作用。2 具有计时功能。在初始状态时,主持人可以设置答题时间的初始值。在主持人对抢答组别进行确认,并给出倒计时计数开始信号以后,抢答者开始回答问题。此时,显示器从初始值开始倒计时,计至0时停止计数,同时扬声器发出超时报警信号。若参赛者在规定的时间内回答完问题,主持人可以给出计时停止信号,以免扬声器鸣叫。二

    2、、设计方案 从要实现的功能来看,层次化的设计会更加容易实现,将设计分为三个部分,第一部分用来实现第一抢答信号的鉴别和锁存功能,在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。同时,电路处于自锁状态,使其他组的抢答器按钮不起作用,第二部分用来实现在初始状态时,主持人可以设置答题时间的初始值。在主持人对抢答组别进行确认,并给出倒计时计数开始信号以后,抢答者开始回答问题。此时,显示器从初始值开始倒计时,计至0时停止计数,同时扬声器发出超时报警信号。若参赛者在规定的时间内回答完问题,主持人可以给出计时停止信号,以免扬声器鸣叫。第三部分是译码部分将主持人的设置的

    3、倒计时数值用数码显示出来。三、设计程序第一部分:抢答模块-库-library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;-实体-entity jnb isport(clk,i:in std_logic; u,r,t,y:in std_logic; led3: out std_logic_vector(3 downto 0); k:out std_logic_vector(2 downto 0); o:out std_logic_vector(3 do

    4、wnto 0);end;-结构体-architecture one of jnb issignal n:integer range 0 to 1;signal clk_1k,clk_100h:std_logic;signal data:std_logic_vector(3 downto 0);signal s:std_logic_vector(6 downto 0);signal h:std_logic_vector(2 downto 0);signal j:std_logic_vector(3 downto 0);begin process (clk) variable cnt1:integ

    5、er range 0 to 250; variable cnt2:integer range 0 to 100; begin if clkevent and clk=1 then if cnt1=250 then cnt1:=0; if cnt2=100 then cnt2:=0; clk_1k=not clk_1k; else cnt2:=cnt2+1; end if; else cnt1:=cnt1+1; end if; end if; end process;process(clk_1k)begin if i=1 then if n=0 then if u=0then led3=0001

    6、; j=0111; n=n+1; elsif r=0 then led3=0010; j=1011; n=n+1; elsif t=0 then led3=0011; j=1101; n=n+1; elsif y=0 then led3=0100; j=1110; n=n+1; end if; end if; else h=100; n=0; led3=0000; j=1111; end if;k=h;o=j;end process;end;第二部分:数值输入模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsign

    7、ed.all;use ieee.std_logic_arith.all;entity WER isport(rst,clk,tsr,en:in std_logic; p:out std_logic; c,d:in std_logic_vector(3 downto 0); duon:out std_logic_vector(5 downto 0); led3:in std_logic_vector(3 downto 0); cout:out std_logic_vector(6 downto 0);end;architecture one of WER issignal t,r:integer

    8、 range 0 to 1;signal w:integer range 0 to 6;signal clk_1k:std_logic;signal clk_100h:std_logic;signal cnt6:integer range 0 to 3;signal data:std_logic_vector(3 downto 0);signal dout:std_logic_vector(5 downto 0);signal s:std_logic_vector(6 downto 0);signal led1,led2:std_logic_vector(3 downto 0);begin p

    9、rocess (clk) variable cnt1:integer range 0 to 250; variable cnt2:integer range 0 to 100; begin if clkevent and clk=1 then if cnt1=250 then cnt1:=0; if cnt2=100 then cnt2:=0; clk_1k=not clk_1k; else cnt2:=cnt2+1; end if; else cnt1:=cnt1+1; end if; end if; end process; process (clk) variable cnt1:inte

    10、ger range 0 to 5000; variable cnt2:integer range 0 to 5000; begin if clkevent and clk=1 then if cnt1=5000 then cnt1:=0; if cnt2=5000 then cnt2:=0; clk_100h=not clk_100h; else cnt2:=cnt2+1; end if; else cnt1:=cnt1+1; end if; end if; end process; process(clk_1k) begin if clk_1kevent and clk_1k=1 then

    11、if cnt6=33 then cnt6=0; else cnt6doutdoutdoutnull; end case;end process;process(dout)begin case dout is when111110=datadatadatanull; end case;end process; process(clk_100h)beginif tsr=0 then led1=0000; led2=0000; t=0;else if rst=0 then t=1; p=0; led2=c;led1=d; elsif clk_100hevent and clk_100h=1 and

    12、t=1 then if en=1 then if (led1=0000) then led1=1001; led2=led2-1; if (led2=0000) then led1=0000; led2=0000; if w=5 then p=1; w=w+1; else p=0; end if; else p=0; end if; else led1=led1-1; end if; else tssssssssssnull; end case;end process;duon=dout;cout=s;end;第三部分:译码模块library ieee;use ieee.std_logic_1

    13、164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity yima isport( h:in std_logic_vector(6 downto 0); a,b,c,d,e,f,g:out std_logic);end;architecture one of yima isbegin g=h(6); f=h(5); e=h(4); d=h(3); c=h(2); b=h(1); a=h(0);end one;总体框图:四、管脚分配五硬件下载实现现象描述 和预想的效果一样。当主持人按下复位开关时,四个按键开关生效。选手开始抢答。抢答完后,显示管显示选手的号数。这时主持人可以设置答题时间的初始值此时,显示器从初始值开始倒计时,计至0时停止计数,同时扬声器发出超时报警信号。若参赛者在规定的时间内回答完问题,主持人可以用开关给出计时停止信号,以免扬声器鸣叫。六、体会与收获 这次实验虽然要实现的功能比较多,看起来仿佛也比较复杂,但是我们用了层次化来设计程序以后,才发现其实也不是很复杂,把程序分成三个模块来设计,设计起来明显降低了难度。只是在连接总体框上需要我们熟悉数电的知识,不过在翻阅资料后,问题都一一解决了。 .


    注意事项

    本文(电子信息工程基于VHDL的抢答器.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922