雅乐网

计算机技术、学习成长

计算机 » 组成原理 » Basys2开发板七段译码显示器使用

Basys2开发板七段译码显示器使用

由于课程设计中用到七段译码显示器的使用,下面雅乐网将部分资料整理如下:

basys2开发板提供4个七段译码显示器(对应的FPGA引脚分别表示:AN0-AN3对应选中那一个显示器、L14~N13对应要显示的值);

1

F12 J12 M13和K14分别对应控制哪个显示器显示与否,而L14到N13 也就是CA到CG以及DP控制8个段显示,8个段指的是每个数字7画加上小数点

scrn20140921160817

而我们可以用这8个位对应 来形成数字的显示效果

scrn20140921160824

比如数字1 显然CB和CC为显示状态 其余6个位不显示状态。

首先写一个模块实现数字到这种图形的转化

 动态扫描

由于四个显示数字的地方使用同一个8位来控制,所以如果四个位同时显示,一定是显示同一个数字。那么怎么实现四个数字显示不同的数字的效果呢?答案就是动态扫描。

数码显示板上一共有8 个数码管,如果按照传统的数码管驱动方式(静态扫描方式),则需要8 个七段译码器进行驱动,这样既浪费资源,有时电路工作也不可靠。所以现在最常见的数码管驱动电路已经不用上述的静态扫描方式了,而是采用动态扫描显示的方式,这种方式只需一个译码器就可以实现电路正常、可靠的工作,这样大大节省资源。

动态数码扫描显示方式是利用了人眼的视觉暂留效应,把八个数码管按一定顺序(从左至右或从右至左)进行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个的点亮,然而,当点亮频率足够大时,我们看到的不再是一个一个的点亮,而是全部同时显示(点亮),与传统方式得到的视觉效果完全一样。因此我们只要给数码管这样一个扫描频率,那么就可以实现两个以上的数码管同时点亮。而这个频率我们可以通过一个计数器来产生,只要计数频率足够大,就可以实现我们的要求。事实上,因为数码管点亮不是瞬间就可以的,它也需要一定的时间,该时间与数码管的选择有关系。为了折中这一对矛盾,实验中一般可将计数频率选择在100Hz左右肯定可以满足上述两个要求。

频率不能太大!如果太大显示效果是4个数字在4个屏幕上同时显示,都乱套了!效果如下

scrn20141206192220

不要用basys板子默认的时钟,分几次频再用,雅乐网用的是分了9次

实现代码如下 d_num1到d_num4分别为要显示的4个数字。d1_wx和d1_out分别绑定位选和8段。

引脚绑定代码如下

 

如果文章对你有帮助,欢迎点赞或打赏(金额不限)。你的打赏将全部用于支付网站服务器费用和提高网站文章质量,谢谢支持。

版权声明:

本文由 原创,商业转载请联系作者获得授权。
非商业转载请注明作者 雅乐网 ,并附带本文链接:
http://www.yalewoo.com/basys2_qiduanyimaqi.html

上一篇:

下一篇:

文章《Basys2开发板七段译码显示器使用》共有5条评论:

  1. we

    我按照你的程序试了试,出错了,编译没通过

  2. 请问数码管中间冒号UCF是什么?

我要评论

验证码*: 9 + 4 =