一、 实验目的
1. 通过实验观察,发现 Basys3 的四个七段数码管中的各个发光二极管码段的性能对实验方案的约束。
2. 利用实验一中的经验,判断刷新周期(四个数码管循环点亮一次的时间叫做刷新周期)取值下限。
3. 学会使用触发器分频。
4. 意识到人眼局限性也是可以利用的。
5. (进阶要求)使用编码器和/或数据选择器等器件,合理改造电路,减少实验测试时刷写Basys3 的次数。
二、 实验仪器设备
软件:Multisim 14.1 Education Edition
软件:Xilinx ISE
硬件:Digilent Basys 3
三、 实验设计过程
基本要求:
以 16 位拨码开关作为输入(4 组 BCD 码),4 位数码管为输出,四个七段式数码管为输出,设计电路使得输入的四个七段式数码管能同时独立地显示正确的字型。
步骤如下:
1. 用 1 个时钟信号驱动触发器,使得“触发器输出 + CLK 输入”这 2 位二进制数按照…00→01→10→11→00→…的规律变化。使用 Multisim 14.1 Education Edition 仿真验证即可。
2. 将这两位接入到实验三的实验电路中的 BTNL 和 BTNR。
3. 将板载 100MHz(10ns)的 CLK 作为时钟源,观察显示效果。
4. 使用触发器实现分频,降低时钟频率,直至显示效果令人满意即无闪烁或者拖影。
设计过程:
根据之前“点亮一个数码管”和“点亮四个数码管”的电路图补充完成前两个电路图。电路图连接如下:
第一个电路图:
第二个电路图:
接下来,要使输入的s0,s1按照…00→01→10→11→00→…的规律变化,我采用两个JK触发器对信号进行处理,步骤如下:
JK触发器链接如下图:
然后通过T触发器实现分频并不断进行测试,电路图连接如下:
在此过程中需要多次刷写Basys,如上图进行了15次二分频后是能正常显示的,显示结果如下图:
(图片见实验报告)
进阶要求:
在不同刷新周期下,观察显示效果,给出刷新周期的合理范围,设法避免多次刷写 Basys3。尝试设计电路,利用 BTN 按键,一次刷写 Basys3 就可以同时测试多个分频倍数,以减少等待时间。大致判断刷新周期的合理范围。
设计步骤:
在基本要求实现不断二分频的基础上,采用八转三编码器和八选一数据选择器实现一次刷写Basys3就能同时测试多个分频次数。将D0置0,此时对应的是100MHz,分别将BTNU、BTNL、BTNC、BTNR、BTND连接D1,D2,D3,D4,D5,依次对应的是5、10、15、20、24次二分频。
电路图连接如下:
实验结果见视频。从中可以看出在10次二分频------15次二分频的范围内是可以正常显示的。
四、思考题
本实验已经完全解决显示问题 ,请同学们思考该如何按照要求自动的改变显示内容?
答:可以将输入端SW0--SW15分别连接递增或递减计数器(或其他可以自动改变输入的器件),以实现自动改变地显示内容。
电路源文件及实验报告下载链接:
https://download.youkuaiyun.com/download/qq_53706636/85478389