北京工业大学·抢答器实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[键入文字]

- 1 -

数字逻辑实验报告

实验名称 设计4人抢答器的逻辑电路

实验人学号 同组人学号 实验日期 2014.12.4 报告完成日期 2014.12.6

成绩 指导教师签字

年 月 日

2.32.5 实用电路设计

2.3.1实验目的

1.通过实用电路的设计将组合逻辑电路与时序电路有机的联系在一起,进一步加深对译码器、计数器等功能部件的理解。

2.通过总体调试,掌握各模块之间的关系。

3.利用QuartusII8.0软件进行电路的编程与调试,观察电路的仿真结果。

2.3.2实验环境

硬件:GX-EDA/SOPC综合实验仪、微型计算机

软件:QuartusII8.0设计软件

2.3.3实验任务及要求

任务:(一)设计4人抢答器的逻辑电路。

要求:

1.此抢答器可供4组选手参加比赛使用。

2.每组选手控制一个按钮,用以发出抢答信号。

3.开始抢答后,最先发出抢答信号组对应的组号显示在数码管上,并发出声音表示抢答成功,此时其他三组的按钮不再起作用。

4.主持人可通过另一按钮将其进行复位。

模块接口:

2.3.4实验步骤

1.在微机硬盘D区建立以学号命名的个人文件夹。

2.启动QuartusII8.0,在个人文件夹下建立项目文件并输入设计源文件。

module answer(K,CP,Reset,Y,SPEAKER);

input Reset,CP;

input [3:0]K;

output SPEAKER;

output [6:0]Y;

reg flag,SPEAKER,q;

reg [3:0]Q;

reg [6:0]Y;

assign clk=K[3]+K[2]+K[1]+K[0];

always @(posedge clk,posedge Reset)

if(Reset) begin Q<=0;flag<=0;end

else

if(flag==1) Q<=Q;

else begin

Q[3]<=K[3]; Q[2]<=K[2]; Q[1]<=K[1]; Q[0]<=K[0];

flag<=1;

end

always @(Q)

case(Q)

4'b0001:Y=7'b1001111;

4'b0010:Y=7'b0010010;

4'b0100:Y=7'b0000110;

4'b1000:Y=7'b1001100;

default:Y=7'bz;

endcase

always @(posedge CP,posedge Reset)

if(Reset==1)

begin q<=0;SPEAKER<=0; end

else if(flag)

begin

if(q>=1) begin q<=q;SPEAKER<=0;end

else begin q<=q+1; SPEAKER<=1;end

end

else begin q<=0; SPEAKER<=0;end

endmodule

3.对设计文件进行编译。

4.对设计文件进行功能仿真并观察输入、输出波形,以验证逻辑功能是否正确。

5.选择器件并根据实验任务和实验平台进行引脚分配。

6.对器件进行下载编程。

7.演示实验任务的结果 2.3.5实验数据处理

通过演示实验结果,判断电路的逻辑功能是否满足设计要求;对设计电路的调试过程,调试中遇到的问题及解决方法进行分析。 通过演示实验结果,电路的逻辑功能基本满足设计要求。由于这次我们做了充分的课前预习准备,我们在电路调试的过程中并未遇到问题,只是基本的操作还是有些生疏,需要通过看书来指导引脚分配和下载到平台的步骤。

将设计源程序、仿真波形、引脚分配情况、封装后的元件符号等进行截图、复制到实验报告中。 设计源程序:

仿真波形:

引脚分配情况:

封装后的元件符号:

实验小结:

马傲男:这次实验首先让我对七段码程序的编译又加深了印象,知道了七段码编程的原理以及程序运行的基本步骤;其次,这次试验是一次综合性的实验,不仅在程序的遍以上增加了难度,更是对波形仿真也提出了不小的考验,我们需要在仿真的时候,将题目中所有的要求审清楚,并对这些要求通过波形进行验证,才能确定我们的程序没有疏漏;当然引脚的分配也是格外的重要,引脚的合理分配可以让我们在操作的过程中,思路更清晰,操作更方便。

相关文档
最新文档