当前位置: > 投稿>正文

数码管的实战环节,基于黑金开发板的数码管控制实验

04-02 互联网 未知 投稿

关于【数码管的实战环节】,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

1、数码管的实战环节:基于黑金开发板的数码管控制实验,自己做个秒表很简单!

数码管的实战环节,基于黑金开发板的数码管控制实验

顶层文件为tikck_tock,因此后面我需要新建一个tick_tock.v文件作为顶层文件进行编程。工程建好后,下一步要做的就是搭建数字电路了。

确定工作时钟

数字电路当中,第一需要确认的是工作时钟,因为数字电路就是靠时钟节拍才能动起来的。根据之前的介绍,我目前使用的黑金开发板的外部晶振是52MHz的,这也是整块开发板唯一的时钟源头。但是,考虑到我们当前的设计没有必要工作在52MHz这么高的频率下,因此我首先会创建一个PLL的IP核,让它输出12MHz的频率作为工作时钟。如果大家不清楚如何建立IP核,可以参考我的上一篇文章。

数码管的实战环节,基于黑金开发板的数码管控制实验

如上图所示就是我创建的PLL 核,我们只需要在顶层文件中调用其.v文件就能使用。

调用IP核点亮数码管

做秒表的第一步,首先要点亮数码管。如下图所示是我在顶层文件里的编程。先是定义顶层module为tick_tock,然后再信号列表中定义输入信号为osc_52m和rst_。其中osc_52m是外部晶振,作为PLL的时钟源,rst_为复位信号,连接外部的一个机械按键。输出信号为com和seg,对应6位8段数码管。

数码管的实战环节,基于黑金开发板的数码管控制实验

由上图可以看到,我已经利用PLL 核产生了一个12MHz的时钟信号,后面的逻辑电路就用这个作为时钟。接下来就要尝试把6位数码管点亮,6位数码管的COM口是独立的,而SEG口是共用的,因此我们只能使用动态扫描的方式驱动。下面先看看数码管的硬件电路连接关系:

数码管的实战环节,基于黑金开发板的数码管控制实验

由上图可见,6个FPGA过来的com口是各经过一个电阻连接到三极管上,然后再利用三极管连接到数码管对应的引脚上。而seg口只有8个,经过电阻后直接连接到数码管对应的PIN。

下面RTL中的com对应这里的SEL0~SEL5,seg对应DIG0~DIG7.

数码管的实战环节,基于黑金开发板的数码管控制实验

由于工作时钟是PLL输出的12MHz,因此这里设置了一个counter,从0数到11999为一个周期就切换到点亮下一个com口,也就是每个com点亮1ms就切到下一个com.由于这里是先尝试点亮数码管,所以seg口恒定输出显示0对应的数值。实际开发板上也是6位数码管都是显示数字“0”:

数码管的实战环节,基于黑金开发板的数码管控制实验

实现秒表计时功能

上面的步骤已经达到了点亮6位数码管的效果,接下来继续实现秒表计数功能。下面是我编写好实现秒表功能的RTL代码:

数码管的实战环节,基于黑金开发板的数码管控制实验

数码管的实战环节,基于黑金开发板的数码管控制实验

上面的RTL是完整的实现数码管扫描并实现秒表功能代码,总体思路如下:先用计数器定时计算1ms,然后再用另外一个计数器计数定时1s。每个com口点亮1ms,轮流点亮。同时,seg口要根据每个com口点亮时,实时切换对应的数值,以此达到共用seg口又可以使得每个数码管显示不同数值的目的。

2、数码管的实战环节,数码管使用方法详解

数码管我们并不陌生,它是一种常用的显示器件,在生活中也经常见,比如说电子万年历,洗衣机的数显等。

数码管的实战环节,基于黑金开发板的数码管控制实验

  1. 什么是数码管

数码管是由多个发光二极管组成的一种显示器件,按字段多少可以分为七段管、八段管、米字管等;按工作方式分又可分为共阳数码管和共阴数码管;按位数分又可分为1位、2位、3位、4位等;按颜色分还有红色、绿色、蓝色等,按大小还可分为0.28寸、0.30寸、0.36寸等。

数码管的实战环节,基于黑金开发板的数码管控制实验

2. 数码管字段划分

以八段管为例介绍其字段,八段管如下图所示。

数码管的实战环节,基于黑金开发板的数码管控制实验

这样来理解的话,要点亮一个数码管是不是很容易?数码管该怎么点亮,答案就是给高低电平,高低电平怎么给,这就涉及到数码管是共阳的还是共阴的。

3. 数码管工作原理详解

数码管的共阳工作方式和共阴工作方式对初学者而言可能不太好理解,为了加强理解下面把数码管简化,如下图所示:

数码管的实战环节,基于黑金开发板的数码管控制实验

上图中的DP就是前边图中的h,也就是小数点,图中的数字是数码管的引脚, 这里主要看字母。从图中可以看出数码管其实就是多个发光二极管的集合体。

共阴数码管:将发光二极管的阴极共同连接在一起;

共阳数码管:将发光二极管的阳极共同连接在一起;

对共阳数码管而言,如果要显示“7”字,公共端给高电平,a,b,c给低电平,d,e,f,g,h给高电平就可以了。

数码管的实战环节,基于黑金开发板的数码管控制实验

将数码管的字段表做成表格,如下所示。

数码管的实战环节,基于黑金开发板的数码管控制实验

从表格中可以看出,要共阳数码管显示“7”,只要给数码管0xF8就可以了。共阴数码管正好相反,如下:

数码管的实战环节,基于黑金开发板的数码管控制实验

数码管的实战环节,基于黑金开发板的数码管控制实验

从表格中可以看出,要共阴数码管显示“7”,只要给数码管0x07就可以了,和共阳管正好互补。

在程序中怎样控制呢?既然知道了数码管的点亮方式,那就可以将要显示的数字做成数组字段。共阳、共阴数码管0-9的字段为:

数码管的实战环节,基于黑金开发板的数码管控制实验

对1位数码管而言,只要将数码管的公共端有效(共阳公共端:给高电平,共阴公共端:给低电平),然后送出表中的数据即可。数码管的静态扫描方式和动态扫描方式等到以后再说了。

注:本文只是对基础内容进行了简单的描述,希望对初学者起到一定的借鉴作用,如果是大神还请斧正。

本文关键词:数码管讲解,数码管相关知识,数码管的介绍与特点,数码管的知识,数码管基础知识。这就是关于《数码管的实战环节,基于黑金开发板的数码管控制实验》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。

猜你喜欢