抢答器课程设计_第1页
抢答器课程设计_第2页
抢答器课程设计_第3页
抢答器课程设计_第4页
抢答器课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、引言 数字电路主要是基于两个信号,用数字信号完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可以分为组合逻辑电路和时序逻辑电路。eda简介20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如cpld、fpga)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字

2、系统设计方法、设计过程和设计观念,促进了eda技术的迅速发展。 eda是电子设计自动化(electronic design automation)的缩写,在20世纪90年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。eda技术就是以计算机为工具,设计者在eda软件平台上,用硬件描述语言hdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。eda技术的出现,极大地提高了电路设计的效率和可行性,减轻了设计者的劳动强度。ve

3、rilog hdl 简介verilog hdl是一种硬件描述语言(hdl:hardware discription language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。verilog hdl 有如下特点:1)能够在不同的抽象层次上,如系统级、行为级、rtl级、门级和开关级,对设计系统进行精确而简练的描述。2)能够在每个抽象层次的描述上对设计进行仿真验证,及时发现可能存在的错误,缩短设计周期,并保存整个设计过程的正确性。3)由于代码描述与工艺过程实现无关,便于设计标准化,提高设计的可重用性。如果有c

4、语言的基础,只需很短时间就能学会和掌握verilog hdl语言,因此,verilog hdl语言可以作为学习hdl设计方法的入门和基础。 第1章 设计说明一设计说明1. 设计技术参数 :五人参赛每人一个按钮,主持人一个按钮,按下开始,具有复位功能;抢中者对应的指示灯亮;用点阵显示抢中者序号;有人抢答时,蜂鸣2s。答题时限为10秒钟,从有人抢答开始,用数码管倒计时间10、9、8。1、0;倒计时到0时,蜂鸣2秒。2. 设计要求: 用拨码开关设定主持人及参赛者按钮;用红色信号指示灯组l1-l5表示对应参赛者指示灯;用点阵显示抢中者序号。学会使用max+plusii软件、verilog hdl语言和

5、实验箱; 独立完成电路设计,编程下载、连接电路和调试; 参加答辩并书写任务书 3. 设计思路:本电路为5人抢答器的设计,可设x1,x2,x3,x4,x5对应五位选手,j1,j2,j3,j4,j5对应相应的抢答结果,voice为蜂鸣,led1:5对应选手,当该选手抢答成功后则相应的led发光 ,主持人控制复位键judge,当主持人按下judge键后,电路回到原始状态,即抢答前的状态,此时可以抢答。利用高频扫描实现点阵上的1,2,3,4,5显示和动态数码管的显示,当j1,j2,j3,j4,j5有高电平时,点阵对应的数字发光,利用对低频脉冲的计数实现对蜂鸣器周期的控制。4. 程序介绍: 程序由一个大

6、的模块构成其中包括抢答,蜂鸣,序号,倒计时,四大部分,有选手抢答成功时实现锁定使相应的输出保持高电平对应的led灯亮锁定变量block为1,直到judge复位,当输出为高电平时通过中间变量count1的循环实现相应序号在点阵上的显示,并且在cp上升沿实现蜂鸣两秒,倒计时为0即再次在cp上升沿实现蜂鸣2秒,当锁定信号为1,中间变量为0实现10到0的循环,通过对高频信号clk的扫描实现动态数码管上数字的显示,二.程序代码module qiangdaqi(x1,x2,x3,x4,x5,clk,clk1,dx,wx,judge,j1,j2,j3,j4,j5,voice,ra,row,cp);input

7、 x1,x2,x3,x4,x5,clk,judge,cp;input clk1;output j1,j2,j3,j4,j5,voice;output0:7 ra ,row;reg j1,j2,j3,j4,j5,voice;reg block;output 6:0 dx;output 2:0 wx;reg3:0k,b,c;reg6:0dx;reg2:0wx;reg3:0temp;reg count;reg0:7ra,row;reg0:7 count1;reg4:0 a;always ( posedge clk)beginif(judge) beginj1=0;j2=0;j3=0;j4=0;j5=

8、0;block=0; endelse if(x1=1)begin if(block=0) begin j1=1; block=1; end end else if(x2=1)begin if(block=0)begin j2=1;block=1; endend else if(x3=1) begin if(block=0) begin j3=1;block=1; end end else if(x4=1) begin if(block=0) begin j4=1;block=1; end end else if(x5=1) begin if(block=0) begin j5=1;block=

9、1; end end endalways(posedge clk)begin count1=count1+1; if(count1=9) count1=1; if(j1)begin case(count1)1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b10111111;ra=8b00011000; end3:begin row=8b11011111;ra=8b00011000; end4:begin row=8b11101111;ra=8b00011000; end5:begin row=8b11110111;ra=8b00011

10、000; end6:begin row=8b11111011;ra=8b00011000; end7:begin row=8b11111101;ra=8b00011000; end8:begin row=8b11111110;ra=8b00011000; end endcaseendelse if(j2)begin case(count1)1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b10111111;ra=8b00111100; end3:begin row=8b11011111;ra=8b00000100; end4:begi

11、n row=8b11101111;ra=8b00000100; end5:begin row=8b11110111;ra=8b00111100; end6:begin row=8b11111011;ra=8b00100000; end7:begin row=8b11111101;ra=8b00100000; end8:begin row=8b11111110;ra=8b00111100; end endcaseendelse if(j3)begin case(count1)1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b101111

12、11;ra=8b00111100; end3:begin row=8b11011111;ra=8b00000100; end4:begin row=8b11101111;ra=8b00000100; end5:begin row=8b11110111;ra=8b00111100; end6:begin row=8b11111011;ra=8b00000100; end7:begin row=8b11111101;ra=8b00000100; end8:begin row=8b11111110;ra=8b00111100; end endcaseendelse if(j4) begin case

13、(count1) 1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b10111111;ra=8b00100100; end3:begin row=8b11011111;ra=8b00100100; end4:begin row=8b11101111;ra=8b00100100; end5:begin row=8b11110111;ra=8b00111110; end6:begin row=8b11111011;ra=8b00000100; end7:begin row=8b11111101;ra=8b00000100; end8:be

14、gin row=8b11111110;ra=8b00000100; end endcaseendelse if(j5)begin case(count1)1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b10111111;ra=8b00111100; end3:begin row=8b11011111;ra=8b00100000; end4:begin row=8b11101111;ra=8b00100000; end5:begin row=8b11110111;ra=8b00111100; end6:begin row=8b1111

15、1011;ra=8b00000100; end7:begin row=8b11111101;ra=8b00000100; end8:begin row=8b11111110;ra=8b00111100; end endcaseendelse begin case(count1)1:begin row=8b11111111;ra=8b00000000; end2:begin row=8b10111111;ra=8b00000000; end3:begin row=8b11011111;ra=8b00000000; end4:begin row=8b11101111;ra=8b00000000;

16、end5:begin row=8b11110111;ra=8b00000000; end6:begin row=8b11111011;ra=8b00000000; end7:begin row=8b11111101;ra=8b00000000; end8:begin row=8b11111110;ra=8b00000000; end endcaseendendalways (posedge cp ) begin if(j1=1|j2=1|j3=1|j4=1|j5=1) begin if(a2b01) begin voice=1b1; a=a+1; end else if(a=1) begin

17、voice=0; a=a+1; end else if(a=2) begin voice=0; a=a+1; end else if(a=3) begin voice=0; a=a+1; end else if(a=4) begin voice=0; a=a+1; end else if(a=5) begin voice=0; a=a+1; end else if(a=6) begin voice=1b1; a=a+1; end else if(a=7) begin voice=0; end end else begin voice=1b0; a=0; end endalways(posedg

18、e clk1 )beginif(judge) begin count=0; k=0; end else if(judge=0)begin if(block=1&count=0&k10)begink=k+1;end else if(k=b1010)begin k=0; count=b1; endendendalways(k)begincase(k)0:begin c=b0001;b=b0000;end1:begin c=b0000;b=b1001;end2:begin c=b0000;b=b1000;end3:begin c=b0000;b=b0111;end4:begin c=b0000;b=

19、b0110;end5:begin c=b0000;b=b0101;end6:begin c=b0000;b=b0100;end7:begin c=b0000;b=b0011;end8:begin c=b0000;b=b0010;end9:begin c=b0000;b=b0001;end10:begin c=b0000;b=b0000;endendcaseendalways(posedge clk)beginwx=wx+1;if(wx=2)wx=0;endalways(wx)begincase(wx)0:temp=c;1:temp=b;endcaseendalways(temp)beginca

20、se(temp) 0: dx =7b0111111; / 0 1: dx =7b0000110; / 1 2: dx =7b1011011; / 2 3: dx =7b1001111; / 3 4: dx =7b1100110; / 4 5: dx =7b1101101; / 5 6: dx =7b1111101; / 6 7: dx =7b0000111; / 7 8: dx =7b1111111; / 8 9: dx =7b1101111; / 9endcase endendmodule 三波形仿真图四管脚锁定及硬件连线管脚锁定:clk-pin68clk1-pin70cp-pin73jud

21、ge-pin46dx0-pin69dx1-pin71dx2-pin74dx3-pin75dx4-pin85dx5-pin89dx6-pin92j1-pin12j2-pin13j3-pin14j4-pin15j5-pin17ra0-pin174ra1-pin176ra2-pin179ra3-pin189ra4-pin191ra5-pin193ra6-pin196ra7-pin198row0-pin173row1-pin175row2-pin177row3-pin187row4-pin190row5-pin192row6-pin195row7- pin197 voice-pin74wx0-pin8

22、3wx1-pin86wx2-pin88x1-pin39x2-pin40x3-pin41x4-pin44x5-pin45硬件连线: pin68 -clk(11) pin70 -clk(21) pin73 -clk(20) pin46 -sw6pin69 -a pin71 -b pin74 -c pin75 -d pin85 -e pin89 -f pin92 -g pin174 -raw1 pin176 -raw2 pin179 -raw3 pin189 -raw4 pin191 -raw5 pin193 -raw6 pin196 -raw7 pin198 -raw8 pin173 -row1 pin175 -row2 pin177 -row3 pin187 -row4 pin190 -row5 pin192 -row6 pin195 -row7 pin197 -row8 pin83 -ss0 pin86 -ss1 pin88 -ss2在电脑上调试好程序后,下载至实验箱,根据管脚锁定连好电路,经验证,实验结果与要求一致,故该程序可作为五人抢答器的代码。五

温馨提示

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

评论

0/150

提交评论