如果这篇博客帮助到你,可以请我喝一杯咖啡~
CC BY 4.0 (除特别声明或转载文章外)
实验报告
内容一
使用 Protues 和 Basys3 实验板实现具有分、秒计时的计数器,计数结果要求在 7 段数码管(7SEG-MPX4-CC-BLUE)上显示,并检查结果。
原理
用四片 74LS90 拼成两个 60 进制计数器分别表示分和秒,使用异步接法。扫描电路部分使用「扫描位置决定扫描内容」,使用 4 片选择器来选择 74LS48 中的 BCD 码,并用 74LS138 滚动扫描。
用 Proteus 设计电路,并运行仿真
如图,结合上面的仿真时间,可发现在一分钟时后两位清零而分计数加一,符合预期。
用 Vivado 设计电路,并烧录到 Basys3 实验板上
端口映射
烧录到 Basys3 实验板上
如图,这是在运行一段时间之后得到的结果,数码管上显示「1247」,即 12 分 47 秒。
内容二
在 Protues 设计上给计时器添加调整当前时间功能,即添加分/秒计数循环加一(ADJ)按键。
如图,加入循环加一是很容易的,只需要在分和秒个位的计数器的时钟频率异或上一个按钮即可。运行效果如图,可以看到显示的时间远大于模拟运行的时间。
内容三
如图,电路其余部分的设计与分、秒部分类似。这里为了简化设计及走线美观,四个数码管共用了同一个扫描电路。此外,小时和日之间的两位固定显示「0」.
思考与总结
这次大作业看起来比较复杂,事实上很多部分都是相同的(比如扫描显示电路),明白局部原理之后很快就可以得到整个电路的大致构思,这也为得到一张简洁的电路图提供了规划与方便。