1、在FPGA开发板上实现数码管动态显示的案例介绍
数码管动态显示原理
在开展本章实验之前,我们需要先了解一下数码管动态显示的原理。在之前的实验三和四中,曾介绍过数码管的显示原理和静态显示的方法。
由于多位数码管的段选信号是连接在一起的,即数码管是共享段码的,那么所有点亮的数码管在同一时刻只能显示相同的图案。这看似大大局限了数码管的显示效果,但其实也有办法让多位的数码管在人眼看来能“同时”显示不同的图案,以获得更多样性的显示效果。其实现方法就是利用人眼的视觉暂留效应,轮流点亮数码管,并且在各位数码管点亮的期间给出对应的段码,只要进行这一过程的速度控制得当,人眼就来不及观察到各个数码管依次点亮,而是能看到多位数码管稳定地显示各自的图案。
在上个链接的文章,即介绍模块化设计的文章中,有一个实例是利用拨码开关手动地控制数码管的位选。而在实现数码管动态显示时,这个轮流选通的过程其实也是类似的,不过该过程需要电路能“自动”完成,且对位选通的时间间隔有一定要求,这一时间间隔既不能过长,否则人眼观察时有闪烁感,也不能过短,否则观察时数码管亮度会比较低。对于这篇文章中演示时使用的FPGA开发板来说,板载数码管共有四位,可以将数码管位选通的时间间隔设置为1ms。
实例一将分享一个基本的数码管动态显示案例。其实现目标是通过开发板上的两组拨码开关SW3-SW0、SW7-SW4分别控制四位数码管(高两位和低两位显示内容一致)进行十六进制显示。根据数码管动态显示的原理和模块化设计的思想,该实例的电路框图设想如下:
原作者:语雀
更多回帖