0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > FPGA学习:led数码管控制灯灭设计实验

FPGA学习:led数码管控制灯灭设计实验

来源: 中电网
2020-12-02
类别:技术信息
eye 23
文章创建人 拍明

原标题:FPGA学习:led数码管控制灯灭设计实验

  1 基础理论部分

  led 数码管是由多个发光二极管封装在一起组合的“8”字型的器件,引线内部已经完成,如下图 10.1 所示,图 10.2 为实物图。

图 10.1 数码管内部结构

  那么我们想要控制数码管的亮灭,其实也就是控制发光二极管的亮灭,分别用高低电平去控制。对于数码管来说,读者若是学过单片机及其他 MCU 的话,其实都知道数码管的控制有两个信号是比较重要的,一个是段选信号,一个是位选信号,位选信号是针对有多个数码管时,需要控制哪一个数码管发亮,段选就是控制数码管显示什么数字。

  那么在购买数码管的时候,往往买回来时上面没有标注各引脚信息。这时不要慌,首先你购买时要分清共阳极还是共阴极数码管,共阳极和共阴极数码管电路示意图如图 10.2 所示。然后可以利用万用表打到“二极管”档位,然后万用表正极接触数码管一个引脚,负极去挨个触碰其他引脚,直到数码管发亮时,可以记录对应的引脚信息即可。

图 10.2 数码管共阳和共阴极电路图

  1.1 静态显示

  1.2 动态显示

  动态驱动是将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制。

  2 Verilog 代码实现部分

  现在要实现数码管的静态显示功能,从 0 加到 f,时间间隔为 1s。封装接口为

2.1 smg_control 模块

  上述是整个模块的声明,并且调用了 smg_param.v 的文件,用于数码管解码参数的设置,关于 include 的用法可以参考其他语法书籍。

  两个计数器,一个用于实现时钟计数 1s,一个用于数码管编解码计数控制。

  上述是实现数码管解码部分,注意 smg_param.v 中参数调用的方法。

  2.2 smg_param 模块

3 Modelsim 仿真部分

  仿真程序很简单,只需添加时钟和复位信号即可。测试的脚本文件如图 10.3 所示,因测试时将计数改到 50,所以周期是 1000ns。

图 10.3 测试脚本文件



责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: led数码管

相关资讯