EDA_抢答器_课设报告.doc_第1页
EDA_抢答器_课设报告.doc_第2页
EDA_抢答器_课设报告.doc_第3页
EDA_抢答器_课设报告.doc_第4页
EDA_抢答器_课设报告.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书题目数字竞赛抢答器的设计系(部)电子与通信工程系专业(班级)07级电子信息工程1班姓名唐彪学号2007044132指导教师刘辉、龙英、谢明华起止日期2010.5.31-2010.6.11IIIEDA技术课程设计任务书系(部):电子与通信工程系 专业:电子信息工程 指导教师:刘辉、龙英、谢明华课题名称数字竞赛抢答器的设计设计内容及要求1.设计一个可容纳3组参赛的数字式抢答器,每组设一个抢答按钮,供抢答使用。2.抢答器具有第一信号鉴别和所存功能,使除第一抢答者外的按钮不起作用。3.设置一个主持人“复位”按钮。4.主持人复位后,开始抢答,第一信号鉴别所存电路得到信号后,有LED指示灯和数码管显示成功抢答组并保持5秒,扬声器发出3秒的声响。5.设置一个记分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分,捡到0则不允许该组再参与抢答。6.要求进行按键防抖动设计。设计工作量1、VHDL语言程序设计;2、波形仿真;3、在实验装置上进行硬件测试,并进行演示;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、硬件测试、调试过程,参考文献、设计总结等。进度安排起止日期(或时间量)设计内容(或预期目标)备注第1天课题介绍,答疑,收集材料第2天设计方案论证及设计第3-7天设计VHDL语言程序第8-9天在实验装置上进行硬件测试第59天,第10天上午在实验装置上进行硬件测试第10天下午编写设计说明书教研室意见年 月 日系(部)主管领导意见年 月 日长沙学院课程设计鉴定表姓名唐彪学号2007044132专业电子信息工程班级1设计题目数字竞赛抢答器的设计指导教师刘辉、龙英、谢明华指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;一、概述6二、方案设计与论证62.1 抢答器鉴别模块:62.2 抢答器计时模块:62.3 数据选择模块:62.4 计分模块:72.5 译码模块:72.6 2个四输入的或模块:72.7 总图:7三、单元电路设计73.1 抢答鉴别模块73.2 计时模块93.3 数据选择模块113.4 计分模块123.5 译码模块173.6 分频模块183.7 两个四位输入的或模块203.8 主电路连线图213.9 引脚绑定与说明:21四、器件编程与下载21五、性能测试与分析22六、实验设备22七、心得体会22八、参考文献23程序设计流程图图形输入建立项目文件设计器件增益逻辑正确仿真分析引脚分配重新调整设计正确生成下载文件下载并验证NONOYESYES设计输入设计生成设计实现硬件下载一、概述 抢答器的逻辑结构较简单,它主要由抢答鉴别模块、两组四输入或模块、记分模块、分频器、计时模块、选择控制和计时模块组成。在整个抢答器中最关键的是如何实现抢答封锁。除此之外,整个抢答器还需有一个复位抢答和复位记分信号.抢答器共有7个输出显示,选手代号、3组记分的个位和十位。当主持人按下控制键、选手按下抢答键时蜂鸣器响3秒,显示5秒抢到的号码,如果抢到人答对,则主持人加分,答错减分。二、方案设计与论证将该任务分成六个模块进行设计,分别为:抢答器鉴别模块、计时5秒3秒模块、抢答器记分模块、分频模块、译码模块、数选模块,最后是连接各模块。2.1 抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。其中有三个抢答信号s0、s1、s2;抢答状态显示信号states;扫描按键信号clk2;系统复位信号rst;抢答警报信号tmp。2.2 抢答器计时模块:在这个模块中主要实现抢答过程中的计时功能,抢答成功显示抢答状态信号st 5秒,扬声器输出3秒,其中计时信号clk1s;抢答状态显示信号states;2.3 数据选择模块:在这个模块中主要实现抢答后的数据(抢答状态,记分)输选择输出进入显示功能,输入信号a3.0、b3.0、c3.0 、d3.0 、e3.0 、f3.0 、g3.0;s数码管位选;数据输出显示信号y;位选扫描clk2,实现a、b、c、d、e、f、g按脉冲轮流选通,在数码管上显示。2.4 计分模块: 在这个模块中主要实现抢答成功后,如果抢答的人答对则加分,否则减分功能,其中由复位信号RST(主持人按下复位每人变为10分);加分出入信号ADD;减分信号DC,抢答状态信号(被加分者信号)CHOS;a的分数个位AA1十位AA2;b的分数个位BB1十位BB2;c的分数个位CC1十位CC2;d的分数个位DD1十位DD2;(此次实习只需三个人,所以DD1,DD2在总图连线可不连)。2.5 译码模块:在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。分频模块:在这个模块中主要分出1HZ和500HZ供动态显示,扫描检测抢答键,记时模块使用。2.6 2个四输入的或模块:这个模块主要把分数输出的个位和十位进行或运算,当减分到0时或输出为0再与S0,S1,S2,S3进行与运算,从而实现当抢答人分数为0时将不能在进行抢答。2.7 总图:在这个模块中是对前七个模块的进行组合的图形文件。三、单元电路设计3.1 抢答鉴别模块1、VHDL源程序library ieee;-抢答鉴别模块use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qdjb is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0);tmp:out std_logic);end qdjb;architecture one of qdjb issignal st:std_logic_vector(3 downto 0);beginp1:process(s0,rst,s1,s2,s3,clk2) begin if rst=0 then tmp=0;st=0000; elsif clk2event and clk2=1 then if (s0=1 or st(0)=1)and not( st(1)=1 or st(2)=1 or st(3)=1 ) then st(0)=1; end if ; if (s1=1 or st(1)=1)and not( st(0)=1 or st(2)=1 or st(3)=1 ) then st(1)=1; end if ; if (s2=1 or st(2)=1)and not( st(0)=1 or st(1)=1 or st(3)=1 ) then st(2)=1; end if ; if (s3=1 or st(3)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 ) then st(3)=1; end if ;tmp=s0 or s1 or s2 or s3;end if ;end process p1;p2:process(states(0),states(1),states(2),states(3) begin if (st=0000) then states=0000; elsif (st=0001) then states=0001;elsif (st=0010) then states=0010; elsif (st=0100) then states=0011;elsif (st=1000) then states=0100; end if; end process p2;end one;2、仿真图:3.2 计时模块 1、VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity js is port(clk1s,clk100s,tmp,rst:in std_logic;states:in std_logic_vector(3 downto 0); warn:out std_logic; st:out std_logic_vector(3 downto 0);end js;architecture one of js issignal count:std_logic_vector(6 downto 0);beginp1:process(tmp,clk1s,rst) beginif rst=1 then if tmp=1 then if clk1sevent and clk1s=1 then if count=1111111 then count=0000000; else count=count+1; end if; end if; end if;else countwarn=0;stwarn=clk100s;stwarn=clk100s;stwarn=clk100s;stwarn=0;stwarn=0;stwarn=0;stwarn=0;stwarn=0;st=110)then count=000; else county=a;sy=b;sy=c;sy=d;sy=e;sy=f;sy=g;snull; end case; end PROCESS; end body_chooser;2、仿真图3.4 计分模块1、VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JFQ IS PORT(RST,CLK1S: IN STD_LOGIC; KEYAD_DC: IN STD_LOGIC_VECTOR(1 DOWNTO 0); CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK1SOUT: OUT STD_LOGIC; AA2,AA1,BB2,BB1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CC2,CC1,DD2,DD1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY JFQ ;ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,KEYAD_DC,CHOS,CLK1S) IS VARIABLE POINTS_A2,POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B2,POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C2,POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_D2,POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST=1 THEN POINTS_A2:=0001; POINTS_A1:=0000; POINTS_B2:=0001; POINTS_B1:=0000; POINTS_C2:=0001; POINTS_C1:=0000; POINTS_D2:=0001; POINTS_D1:=0000; ELSIF (CLK1Sevent and CLK1S=1)thenifKEYAD_DC=10 THEN IF CHOS=0001 THEN IF POINTS_A1=1001 THEN POINTS_A1:=0000; IF POINTS_A2=1001 THEN POINTS_A2:=0000; ELSE POINTS_A2:=POINTS_A2+1; END IF; ELSE POINTS_A1:=POINTS_A1+1; END IF; ELSIF CHOS=0010 THEN IF POINTS_B1=1001 THEN POINTS_B1:=0000; IF POINTS_B2=1001 THEN POINTS_B2:=0000; ELSE POINTS_B2:=POINTS_B2+1; END IF; ELSE POINTS_B1:=POINTS_B1+1; END IF; ELSIF CHOS=0011 THEN IF POINTS_C1=1001 THEN POINTS_C1:=0000; IF POINTS_C2=1001 THEN POINTS_C2:=0000; ELSE POINTS_C2:=POINTS_C2+1; END IF; ELSE POINTS_C1:=POINTS_C1+1; END IF; ELSIF CHOS=0100 THEN IF POINTS_D1=1001 THEN POINTS_D1:=0000; IF POINTS_D2=1001 THEN POINTS_D2:=0000; ELSE POINTS_D2:=POINTS_D2+1; END IF; ELSE POINTS_D1:=POINTS_D1+1; END IF; END IF;ELSIF KEYAD_DC=01THEN -JIANIF CHOS=0001 THEN IF POINTS_A1=0000 THEN POINTS_A1:=1001; IF POINTS_A2=0000 THEN POINTS_A2:=1001; ELSE POINTS_A2:=POINTS_A2-1; END IF; ELSE POINTS_A1:=POINTS_A1-1; END IF; ELSIF CHOS=0010 THEN IF POINTS_B1=0000 THEN POINTS_B1:=1001; IF POINTS_B2=0000 THEN POINTS_B2:=1001; ELSE POINTS_B2:=POINTS_B2-1; END IF; ELS POINTS_B1:=POINTS_B1-1; END IF; ELSIF CHOS=0011 THEN IF POINTS_C1=0000 THEN POINTS_C1:=1001; IF POINTS_C2=0000 THEN POINTS_C2:=1001; ELSE POINTS_C2:=POINTS_C2-1; END IF; ELSE POINTS_C1:=POINTS_C1-1; END IF; ELSIF CHOS=0100 THEN IF POINTS_D1=0000 THEN POINTS_D1:=1001; IF POINTS_D2=0000 THEN POINTS_D2:=1001; ELSE POINTS_D2:=POINTS_D2-1; END IF; ELSE POINTS_D1:=POINTS_D1-1; END IF; END IF;END IF;END IF; AA2=POINTS_A2; AA1=POINTS_A1; BB2=POINTS_B2; BB1=POINTS_B1; CC2=POINTS_C2; CC1=POINTS_C1; DD2=POINTS_D2; DD1=POINTS_D1; END PROCESS;CLK1SOUTDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=0000000; END CASE; END PROCESS;END ARCHITECTURE ART;2、仿真图3.6 分频模块1、VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fdiv1_100 isport (clk:in std_logic;clkq1s:out std_logic;clkq100s:out std_logic);end entity;architecture one of fdiv1_100 isSIGNAL CLK1s,CLK100s:STD_LOGIC;SIGNAL CNQ1: INTEGER RANGE 50000000 DOWNTO 0;SIGNAL CNQ2: INTEGER RANGE 500000 DOWNTO 0;BEGIN dFP:PROCESS(clk)BEGINIF clkEVENT AND clk=1 THENIF CNQ125000000 THENCNQ1=CNQ1+1;ELSECLK1s=NOT(CLK1s);CNQ1=0;END IF;END IF;END PROCESS;gFP:PROCESS(clk)BEGINIF clkEVENT AND clk=1 THENIF CNQ250000 THENCNQ2=CNQ2+1;ELSECLK100s=NOT(CLK100s);CNQ2=0;END IF;END IF;END PROCESS;clkq1s=clk1s;clkq100s=clk100s;END;3.7 两个四位输入的或模块1、VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity orab is port(a,b:in std_logic_vector(3 downto 0); c:out std_logic);end orab;architecture one of orab isbeginc=a(0) or a(1) or a(2) or a(3) or b(0) or b(1) or b(2) or b(3);end;2、仿真图3.8 主电路连线图3.9 引脚绑定与说明:Clk连接50MHZ频率,rst复位抢答,rstjf复位计分,s0 s1 s2三个抢答键,warn蜂鸣,KEYAD_DC加分减分键,led连接数码管显示段,sel数码管位选四、器件编程与下载将编译好的模块程序下载到CPLD中(注:device选取要与硬件对应,否则会导致实验失败),连线做硬件实验。五、性能测试与分析把拨码开关rst置1,rstif置0,扬声器是否发出报警声,按下s0,观察数码管是否显示1显示5秒,蜂鸣器鸣叫3秒,其他六个数码管显示101010,再按s1,s2均不改变显示,在按KEY1或KEY2键看是否1号对应的分数数码管+1或-1分,当减到0分时,把rst置0,在重新置1,然后在按下S0,观察是否能抢答。Rstif置1看分数能否复位。 六、实验设备计算机,EL教学实验箱七、心得体会通过这次对抢答器的设计与实践,让我了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论