象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告

数电Github资源

《数字逻辑与数字系统设计》实验大作业设计报告

实验题目

象棋快棋赛电子裁判计时器的设计

实验难度

★★

成员

姓名

班号

学号

1

郭茁宁

1837101

1183710109

2

孙英玮

1837101

1183710110

实验类型

综合设计型

实验目的:

  1. 根据象棋快棋赛的规则,红黑双方对弈时间累计均为三分钟,超时判负。

实验要求:

  1. 甲乙双方的计时器为一个秒时钟,双方均用3位数码管显示,预订的初始时间为三分钟,采用倒计时方式,通过按钮启动,由本方控制对方,比如甲方走完一步棋后必须按一下甲方的按键,该按钮启动乙方倒计时。同理,乙方走完一步棋后必须按一次乙方的按键,该按键启动甲方倒计时。
  2. 超时发出报警判负。
  3. 累计时间设置可以改变。
  4. 裁判控制,选手按键完己方时间加3秒(附加功能)

实验内容:

综合运用计数器、触发器、译码电路等方面的知识,完成从设计、选片、连线、调试、排除故障到实现一个数字系统的全过程,具体包括:

1、查阅相关资料,写出设计过程,说明系统的工作原理

2、完成数字系统电路原理图的设计

3、给出仿真实验结果

4、完成实验演示

实验环境:

Vivado集成开发环境

数字逻辑设计实验平台

EGO1开发板

系统整体设计:

  1. 工作原理
  1. 接通电源后,主持人通过控制开关设置计数器的初值,即倒计时累计初始值。
  2. 比赛开始,如果甲先走,则乙方按下按钮,甲方的计时器开始倒计时。
  3. 甲方走完一步之后,甲按下按钮,甲方计时器停止倒计时,乙方计时器开始倒计时,依此进行电子倒计时。
  4. 相反如果乙方先走,则过程基本是相同的。
  5. 当甲乙双方其中一个计时器倒计时到零后,对应的灯开始报警,则对应的灯报警的那一方就被判定为输。
  6. 当需要再次使用时,主持人通过开关重新对计数器置数,然后再开始比赛。

 

 

 

 

  1. 系统工作流程图

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第1张图片

 

  1. 系统框架图象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第2张图片

 

两大主要实验装置:

(1)计数器

参考电路如图2.所示。该电路完成三个功能:一是计数功能;二是由主持人开关控制计数器置数,设置倒计时器的初始值;三是为译码电路提供输入。由于题目要求是倒计时,所以我们这里要选择减法计数器或者是可逆计数器,本文选用的是自己编译的减法计数器;由于是十进制的,所以需要三位数码管分别显示个位、十位、百位,显示的是计数器的输出通过译码电路出来的结果。工作过程:通过主持人开关对控制个位、十位、百位的计数器进行置数,控制个位的计数器置数端都接低电平,控制十位的置数端低三位接低电平,高位接高电平,控制百位的计数器最低位接高电平,高三位接低电平。这样经过译码显示电路之后显示出来的分别就是“0”、“8”、“1”。图中x0,x1,x2,x3接译码器的输入端,同时也接入报警电路。Clr为清零端,Competitor为选手输入端,mr为置数端,mr1为选择置数端。

 

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第3张图片

图2. 计数器电路

 

 

(2)译码器

参考电路如图3.所示。该部分主要功能是提供译码及显示。选择器件是七段数码管和七段共阴数码管译码电路, 将计数器输出的bcd码转换成七段数码管中显示的相应的数字。abcdefg分别为数码管的7段,其与输入A_1、B_2、C_3、D_4对应。如表1.所示。

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第4张图片

 

输    入

输    出

数码管显示

choose

N_G2A

N_G2B

Vcc

Gnd

BIN

D_4

C_3

B_2

A_1

a

b

c

d

e

f

g

 

 

0

0

0

1

0

1

0

0

0

0

1

1

1

1

1

1

0

0

 

0

0

0

1

0

1

0

0

0

1

0

0

1

1

0

0

0

1

 

0

0

0

1

0

1

0

0

1

0

0

1

1

0

1

1

1

2

 

0

0

0

1

0

1

0

0

1

1

0

1

1

1

1

0

1

3

 

0

0

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

4

 

0

0

0

1

0

1

0

1

0

1

1

1

0

1

1

0

1

5

 

0

0

0

1

0

1

0

1

1

0

1

1

0

1

1

1

1

6

 

0

0

0

1

0

1

0

1

1

1

0

1

1

1

0

0

0

7

 

0

0

0

1

0

1

1

0

0

0

1

1

1

1

1

1

1

8

 

0

0

0

1

0

1

1

0

0

1

1

1

1

1

1

0

1

9

 

 

                               表1.                     

  1. 端口逻辑功能说明

 

管脚

类型

位宽

功能

A0

input

1

输入数字

A1

input

1

输入数字

A2

input

1

输入数字

A3

input

1

输入数字

Yong0

input

1

提供低电位信号

Referee

input

1

裁判控制信号

Clk

input

1

时钟信号

Clr

input

1

清零信号

Mr

input

1

设置数字信号

Choose

input

1

选择信号

Competor

input

1

选手比赛信号

ch0

output

1

选择修改数字信号

ch1

output

1

选择修改数字信号

ch2

output

1

选择修改数字信号

ch3

output

1

选择修改数字信号

ch4

output

1

选择修改数字信号

ch5

output

1

选择修改数字信号

ch6

output

1

选择修改数字信号

cho0

output

1

选择数码管信号

cho1

output

1

选择数码管信号

cho2

output

1

选择数码管信号

cho3

output

1

选择数码管信号

cho4

output

1

选择数码管信号

cho5

output

1

选择数码管信号

x0

output

1

数码管输出信号

x1

output

1

数码管输出信号

x2

output

1

数码管输出信号

x3

output

1

数码管输出信号

x4

output

1

数码管输出信号

x5

output

1

数码管输出信号

x6

output

1

数码管输出信号

x7

output

1

数码管输出信号

x8

output

1

数码管输出信号

x9

output

1

数码管输出信号

x10

output

1

数码管输出信号

x11

output

1

数码管输出信号

x12

output

1

数码管输出信号

x13

output

1

数码管输出信号

lose1

output

1

选手失败信号

lose2

output

1

选手失败信号

 

  1. 仿真结果

总方针结果:

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第5张图片

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第6张图片 

象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告_第7张图片 

 

6、管脚绑定列表

端口名称

输入输出方向

管脚号

A0

input

R1

A1

input

N4

A2

input

M4

A3

input

R2

Yong0

input

V1

Referee

input

P2

Clk

input

P17

Clr

input

R17

Mr

input

R11

Choose

input

P4

Competor

input

P5

ch0

output

G3

ch1

output

G4

ch2

output

F6

ch3

output

J3

ch4

output

H4

ch5

output

J4

ch6

output

K2

cho0

output

C1

cho1

output

C2

cho2

output

G2

cho3

output

E1

cho4

output

F1

cho5

output

G1

x0

output

B4

x1

output

A4

x2

output

A3

x3

output

B1

x4

output

A1

x5

output

B3

x6

output

B2

x7

output

D4

x8

output

E3

x9

output

D3

x10

output

F4

x11

output

F3

x12

output

E2

x13

output

D2

lose1

output

K1

lose2

output

H6

 

系统设计与实现:

接通电源后,主持人通过控制开关设置计数器的初值,即倒计时累计初始值。然后比赛开始,如果甲先走,则乙方按下按钮,甲方的计时器开始倒计时,甲方走完一步之后,甲按下按钮,甲方计时器停止倒计时,乙方计时器开始倒计时,依此进行电子倒计时;相反如果乙方先走,则过程基本是相同的。当甲乙双方其中一个计时器倒计时到零后,对应的灯开始报警,则对应的灯报警的那一方就被判定为输。当需要再次使用时,主持人通过开关重新对计数器置数,然后再开始比赛。

通过主持人开关对控制个位、十位、百位的计数器进行置数,控制个位的计数器置数端都接低电平,控制十位的置数端低三位接低电平,高位接高电平,控制百位的计数器最低位接高电平,高三位接低电平。这样经过译码显示电路之后显示出来的分别就是“0”、“8”、“1”。图中x3、x2、x1、x0接译码部分的输入端。译码器的输出同时接报警电路。

译码器将计数器输出的8421bcd码转换成七段数码管中显示的相应的数字。

6个数码管构成了甲乙两人的电子裁判计时器,比赛开始,对计数器置数,使得两人计数初值为180秒,然后其中一个按下按键,己方的计时器停止计数,对方的计时器开始倒计时,当有人计时器记到0时,蜂鸣器报警。通过简单的数字逻辑电路,完成了我们需要的电子裁判计时器功能。

附加功能说明:

  1. 增加裁判控制端,当裁判宣布开始比赛时即对应输入为高电位时,计时器才能开始计时,当裁判端输入为低电位时,计时器停止工作。
  2. 任意设置比赛时间为0-999秒。
  3. 为模拟真实比赛情况,每次选手按下按钮完成下棋时,自己的倒计时时间会增加三秒。

实验过程中遇到的问题及解决方法与思路:

问题1:减法计数器输出为乱码。

原因:未彻底学会减法计数器的工作原理。

解决方法:学习相应原理,重新设计。

 

问题2:数码管显示数字相同。

原因:未理解数码管的结构。

解决方法:了解数码管结构,设计对应的数据选择器使数码管显示不同的数字。

 

问题3:时钟端开始工作后,数码管全亮。

原因:时钟过快。

解决方法:设计分频器,放缓输入的时钟。

 

问题4:设置数字的时候无法选择相应的数位。

原因:在设计减法计数器是未考虑修改数字的情况。

解决方法:重新设计,增加选择信号。

 

问题5:设计完成后输入管脚过多,开发板上没有足够的输入端口。

原因:未对设计过的逻辑关系进行简化。

解决方法:简化设计的逻辑关系,合并功能相同的管脚。

成员小组分工说明:

孙英玮:编写程序,调试开发板

郭茁宁:设计电路,撰写报告

分析总结、收获和体会:

优点:

本逻辑电路设计符合题目要求,根据象棋快棋赛的规则,实现“红黑双方对弈时间累计均为三分钟,超时判负”的象棋快棋赛电子裁判计时器的设计,并有切合实际的额外附加设计(裁判功能),具有创新元素和实用价值。

创新之处:

用开关实现二进制计数器读入,自由设定时间,增加裁判介入控制功能,使电路可控性增强。

不足之处:

报警电路表现形式不够显著,功能不够丰富,电路精简型有待提高。

需要改进的地方:

电路逻辑化简和整体打包,计时器输入方便性。

收获与学习体会:

通过本次实验,学会了搭实用的数字逻辑电路的方法,掌握了Vivado等仿真软件的使用,了解了几种计数器芯片的功能和使用方法。本次实验虽说没有尽善尽美,但是基本完成了要求实现的功能,作为初学者,通过本次实验还是收获非常大的。

报告完成日期:2019.5.28

 

你可能感兴趣的:(课程作业,数电)