大作业:计时器设计

实验报告

内容一

使用 Protues 和 Basys3 实验板实现具有分、秒计时的计数器,计数结果要求在 7 段数码管(7SEG-MPX4-CC-BLUE)上显示,并检查结果。

原理

用四片 74LS90 拼成两个 60 进制计数器分别表示分和秒,使用异步接法。扫描电路部分使用「扫描位置决定扫描内容」,使用 4 片选择器来选择 74LS48 中的 BCD 码,并用 74LS138 滚动扫描。

用 Proteus 设计电路,并运行仿真

这里写图片描述 这里写图片描述

如图,结合上面的仿真时间,可发现在一分钟时后两位清零而分计数加一,符合预期。

用 Vivado 设计电路,并烧录到 Basys3 实验板上

这里写图片描述

端口映射

这里写图片描述

烧录到 Basys3 实验板上

这里写图片描述

如图,这是在运行一段时间之后得到的结果,数码管上显示「1247」,即 12 分 47 秒。

内容二

在 Protues 设计上给计时器添加调整当前时间功能,即添加分/秒计数循环加一(ADJ)按键。

这里写图片描述

如图,加入循环加一是很容易的,只需要在分和秒个位的计数器的时钟频率异或上一个按钮即可。运行效果如图,可以看到显示的时间远大于模拟运行的时间。

内容三

如图,电路其余部分的设计与分、秒部分类似。这里为了简化设计及走线美观,四个数码管共用了同一个扫描电路。此外,小时和日之间的两位固定显示「0」. 这里写图片描述

思考与总结

这次大作业看起来比较复杂,事实上很多部分都是相同的(比如扫描显示电路),明白局部原理之后很快就可以得到整个电路的大致构思,这也为得到一张简洁的电路图提供了规划与方便。