完整版基于EDA四位智能竞赛抢答器.docx

上传人:b****3 文档编号:3125426 上传时间:2022-11-17 格式:DOCX 页数:12 大小:68.44KB
下载 相关 举报
完整版基于EDA四位智能竞赛抢答器.docx_第1页
第1页 / 共12页
完整版基于EDA四位智能竞赛抢答器.docx_第2页
第2页 / 共12页
完整版基于EDA四位智能竞赛抢答器.docx_第3页
第3页 / 共12页
完整版基于EDA四位智能竞赛抢答器.docx_第4页
第4页 / 共12页
完整版基于EDA四位智能竞赛抢答器.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

完整版基于EDA四位智能竞赛抢答器.docx

《完整版基于EDA四位智能竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《完整版基于EDA四位智能竞赛抢答器.docx(12页珍藏版)》请在冰豆网上搜索。

完整版基于EDA四位智能竞赛抢答器.docx

完整版基于EDA四位智能竞赛抢答器

 

四位智能竞赛抢答器

第一章系统设计

第一节课题目标

《硬件描述语言》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。

不论理论学习还是实际应用,都离不开实验课教学。

如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。

《HDL项目设计》的目的就是让我们在理论学习的基础上,通过完成一个涉及时序逻辑、组合逻辑、声光输出的,具有实用性、趣味性的小系统设计,使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。

通过这次设计实验,首先,使我们更加深入的巩固了书本上的知识,在掌握理论基本知识的基础上,学会了对常用软件的使用。

其次,通过这次设计实验,使我们了解并熟悉了程序的设计方法和步骤,而且在与同学讨论的同时也提高了团结合作的能力。

然后,学会用仿真实验来验证方案的正确性,培养我们综合运用知识和独立开展实验创新的能力。

最后,规范化训练我们撰写技术研究报告,提高书面表达能力。

 

第二节设计要求

本设计是一个功能较为简单的四路抢答器,基本要求有以下几点:

(1)实现一四人抢答器,有人抢答成功后,其他人再抢答无效;

(2)主持人通过按键清除抢答信息,并开始30秒的答题倒计时,当倒计时结束时,通过蜂鸣器响来提示回答问题时间到,此时可以开始新一轮的抢答。

第三节设计方案

设计是以VerilogHDL语言为基础设计的电子抢答器,在设计过程中先将系统模块化,然后逐步实现,根据设计功能要求,该设计主要包括按键抢答输入,数码管显示,报警电路及FPGA系统。

抢答器结构原理图如图1:

K1

K2

K3

K4

二进制转换

数码管片选信号

倒计时模块

数码管译码电路

蜂鸣器

同步信号

数码管

显示模块

 

锁存电路

按键1

按键2

图1抢答器结构原理图

第二章系统分析与实现

第一节系统分析

该系统可实现要求中的最基本功能,除此之外还可以实现抢答时间限制的功能,其中,抢答成功者组号由静态显示的方法使用,使四个数码管同时显示其组号,同时,该抢答者对应的led灯亮。

若还有其他抢答者在其后按下按键,抢答无效,只取第一个抢答者信息。

第二节程序及程序功能介绍

一、端口定义部分

modulemain(reset,clock,din1,din2,din3,din4,judge,beep,wei,duan,beep,wei1,duan1);

inputreset,clock;

inputdin1,din2,din3,din4,judge;

output[3:

0]wei;

output[7:

0]duan;

outputbeep;

output[3:

0]wei1;

output[7:

0]duan1;

wireclk1k;

wireclk1hz;

fenpinuut1(reset,clock,clk1k,clk1hz);

qiangdeuut2(clock,din1,din2,din3,din4,judge,clk1hz,wei,duan);

daojishiuut3(reset,clk1k,clk1hz,beep,wei1,duan1);

Endmodule

二、抢答部分

本段程序实现基本的抢答功能,block为锁存信号,当有一组按下抢答按钮后,系统锁存,其他组别抢答无效;同时通过f1向蜂鸣器发出信号,蜂鸣器1s表示抢答成功;于此同时信号out输送给led灯,抢答成功者对应led灯亮;seg_figure4为静态显示抢答成功的组号,预置数为”_”;一组抢答成功后若其他组再抢答,数码管熄灭示警。

moduleqiangde(clock,din1,din2,din3,din4,judge,clk1_hz,wei,duan);

inputclock,judge;

inputdin1,din2,din3,din4;

inputclk1_hz;

output[3:

0]wei;

output[7:

0]duan;

reg[3:

0]wei;

reg[7:

0]duan;

regblock;

always@(posedgeclock)

begin

if(!

judge)

begin

block=0;

wei=4'b1111;

duan=8'hff;

end

else

begin

if(!

din1)

begin

if(!

block)

begin

wei<=4'b1101;

duan<=8'hf9;

block=1;

end

end

elseif(!

din2)

begin

if(!

block)

begin

wei<=4'b1101;

duan<=8'ha4;

block=1;

end

end

elseif(!

din3)

begin

if(!

block)

begin

wei<=4'b1101;

duan<=8'hb0;

block=1;

end

end

elseif(!

din4)

begin

if(!

block)

begin

wei<=4'b1101;

duan<=8'h99;

block=1;

end

end

end

end

endmodule

3、分频

modulefenpin(reset,clock,clk1k,clk1hz);

inputreset,clock;

outputclk1k,clk1hz;

regclk1k;

regclk1hz;

reg[24:

0]count1;

reg[14:

0]count2;

always@(posedgeclockorposedgereset)

begin

if(reset)

count1<=0;

elseif(count1==25'd25000000)

begin

clk1hz<=~clk1hz;

count1<=0;

end

else

count1<=count1+1;

end

always@(posedgeclockorposedgereset)

begin

if(reset)

count2<=0;

elseif(count2==15'd25000)

begin

clk1k<=~clk1k;

count2<=0;

end

else

count2<=count2+1;

end

endmodule

四、抢答时限30s,倒计时到,蜂鸣器响

该部分功能:

当抢答倒计时30s结束时,若没有任何一组抢答成功,则向蜂鸣器发出信号,蜂鸣器响作为警报,提示此次抢答结束且该题作废。

moduledaojishi(reset,clk1_k,clk1_hz,beep,wei1,duan1);

inputreset,clk1_k,clk1_hz;

output[3:

0]wei1;

outputbeep;

output[7:

0]duan1;

reg[5:

0]shi,ge;

reg[5:

0]data;

reg[4:

0]count;

reg[3:

0]wei1;

reg[7:

0]duan1;

regbeep;

regstate;

always@(posedgeclk1_hzorposedgereset)

begin

if(reset)

count<=0;

elseif(count>=5'd30)

count<=count;

else

count<=count+1;

end

always@(count)

begin

if(count>=5'b10101)//21~30

begin

shi<=5'b00000;

ge<=5'b11110-count;

end

elseif(count>=5'b01011)//11~20

begin

shi<=5'b00001;

ge<=5'b10100-count;

end

elseif(count>=5'b00001)//1~10

begin

shi<=5'b00010;

ge<=5'b01010-count;

end

else//0

begin

shi<=5'b00011;

ge<=5'b00000;

end

if(shi==0&&ge==0)

begin

beep<=0;

end

elsebeep<=1;

end

always@(posedgeclk1_k)

begin

if(reset)

wei1<=4'b0000;

elseif(state==1'b1)

state<=1'b0;

else

state<=state+1'b1;

case(state)

1'b0:

beginwei1<=4'b0111;data<=ge;end

1'b1:

beginwei1<=4'b1011;data<=shi;end

default:

wei1<=4'b0000;

endcase

end

always@(data)

begin

case(data)

6'b000000:

duan1=8'b1100_0000;

6'b000001:

duan1=8'b1111_1001;

6'b000010:

duan1=8'b1010_0100;

6'b000011:

duan1=8'b1011_0000;

6'b000100:

duan1=8'b1001_1001;

6'b000101:

duan1=8'b1001_0010;

6'b000110:

duan1=8'b1000_0010;

6'b000111:

duan1=8'b1111_1000;

6'b001000:

duan1=8'b1000_0000;

6'b001001:

duan1=8'b1001_0000;

default:

duan1=8'b1111_1111;

endcase

end

endmodule

第三章编译调试

第一节QuartusII的使用

(1)双击QuartusII软件快捷图标进入QuartusII集成开发环境,新建工程项目文件traffic.pof,并在该项目下新建Verilog源程序文件traffic.v,输入上面的程序代码并保存。

(2)然后为该工程项目选择一个目标器件并对相应的管脚进行锁定。

(3)对该工程文件进行编译处理,若在编译过程中发现错误,找出并更正错误直至成功为止。

(4)将CCITCPLD/FGPAJTAG下载电缆的两端分别接到PC机和CCITCPLD/FGPA实验仪上,再打开工作电源,执行下载命令把程序下载到CCITCPLD/FGPA实验仪的EPM1270T144C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1