0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA设计之共阳极的数码管的电路图

454398 来源:博客园 作者:夏日时光 2020-09-23 13:58 次阅读

数码管是一种常见的用于显示的电子器件,根据数码管大致可以分为共阴极和共阳极两种,下图所示的是一个共阳极的数码管的电路图(摘自金沙滩工作室的 51 开发板电路图),我的 AX301 开发板与这张图的情况类似,几乎所有的教科书上都会讲到数码管的原理,这里我就不再详述了。

由于多个数码管的段选信号(下图中的 DB0~DB7)是共用的,想要显示多个数字需要用到动态扫描,动态扫描电路需要使用时钟。冒然的使用时钟会使得初学者不知所措,所以在这篇基础的组合逻辑电路中只点亮单个数码管,这样就不必涉及到时钟了。时钟、时序逻辑这些概念则会留到后面的章节中介绍。

由上图可知,所有的引脚都是低电平有效的,如果想要在上图中的 DS6 上显示 8,需要把 LEDS5、DB7 ~ DB10 都置为低电平。

这次我们的实验目的是在数码管上显示一个 8,在查看自己开发板的电路图后得知,需要将 FPGA 的输出管脚 SEL0、DIG0~DIG6 设为低电平(DIG7 为小数点 DP),需要注意的是 SEL0 控制的是最右边的数码管。

我的开发板电路图(摘自 黑金AX301 提供的 PDF 文件):

FPGA设计之共阳极的数码管的电路图

根据上面的总结,新建名为 seg 的工程,为了使我们的代码有一定的通用性,这里用到了参数声明。

数码管显示模块 seg_display 接受输入信号 num 的值,并转化编码用于显示。

顶层模块 seg(必须和工程同名),在顶层模块中调用了 seg_display 显示模块,并且告诉 seg_display 模块需要在 SEL0 上显示 8,这段代码如下:

由于工程需要用到的管脚较多,如果手动分配可能会出现错误,这里介绍使用 tcl 脚本来分配管脚的方法。

如图新建一个 TCL 文件:

板子附带的资料有一个厂家写好名为 ax301.tcl 的管脚分配文件,粘贴以下内容并保存为 ax301.tcl。

可以看到,tcl 文件在第 2 行定义了芯片家族,第 3 行定义芯片型号,第 4 行设置不用的管脚为三态……

Quartus 主窗口下点击 Tools,找到以下选项:

运行 tcl 文件。

最后编译整个工程,编译结束后查看管脚分配窗口,可以看到所有的管脚都自动分配成功了。

最后下载 sof 文件到您的板子上,看到您期待的数字了吗?(*^__^*) ,此外如需显示其他的数字,只需要修改 seg.v 中 num 的值即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593127
  • 电子器件
    +关注

    关注

    2

    文章

    532

    浏览量

    31876
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89946
  • 开发板
    +关注

    关注

    25

    文章

    4426

    浏览量

    93940
收藏 人收藏

    评论

    相关推荐

    【基于Lattice MXO2的小脚丫FPGA核心板】03数码管显示控制

    数码管可以用于显示数字信息,一个七段数码管分别由a、b、c、d、e、f、g控制位和表示小数点的dp位段组成。实际是由8个LED灯组成的,控制每个LED的点亮或熄灭实现数字显示。通常数码管分别为
    发表于 02-29 09:01

    【每周一练】盘古1K开发板 练习三:动态数码管显示实验

    段数分为七段数码管和八段数码管, 八段数码管比七段数码管多一个发光二极单元( 多一个小数点显示); 按发光二极
    发表于 12-09 15:09

    【资料】阴极,阳极数码管学习笔记

    *附件:在阴极数码管中.docx
    发表于 11-07 00:02

    数码管及工作原理解析

    显示:8段:7段数码管+一个小数点;米字段。 点阵显示:5x8,8x8点阵。 LED数码管 这是一个数码管内部电路原理,a到h每个数字代
    发表于 11-06 23:12

    LED显示器静态显示(数码管

    数码管阴极、阳极阴极:数码管公共端接地,高电平(”1“)驱动发光,要求驱动功率较大。
    发表于 11-06 20:49

    数码管笔记

    1.共阴极/共阳极数码管的内部组成结构2..共阴极/共阳极数码管的驱动电路3.数码管显示的字符/
    发表于 11-06 17:18 2次下载

    51单片机数码管驱动

    1.阳极/阴极数码管内部组成结构 2.设计阴/数码
    发表于 11-06 11:06

    LED数码管学习笔记

    1.阐述阴极/阳极数码管内部结构: 2.设计阴极/
    发表于 11-05 18:37

    单片机-数码管驱动学习笔记

    地线GND上,当某一字段发光二极阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 5. 简单阳极
    发表于 11-04 23:53

    阳极数码管和共阴极数码管的区别

    阳极数码管和共阴极数码管的区别 数码管是由许多发光二极管(LED)组成的,它们通常用于显示数字或字母,广泛应用于计算器、表格、电子时钟、测量仪器等领域。
    的头像 发表于 09-26 16:38 8874次阅读

    紫光同创FPGA入门指导:数码管静态显示——紫光盘古系列22K开发套件实验教程(三)

    数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极单元(多一个小数
    发表于 08-23 18:02

    紫光同创FPGA入门指导:数码管静态显示——紫光盘古系列22K开发套件实验教程

    ,八段数码管比七段数码管多一个发光二极 单元(多一个小数点显示);按发光二极单元连接方式分为阳极
    发表于 08-03 16:50

    基于FPGA数码管静态显示

    设计一个8位数码管静态显示:采用共阳极(低电平点亮)8段数码管,控制八位数码管让其以00000000、11111111、22222222一直到FFFFFFFF循环显示。每个字符显示0.
    的头像 发表于 07-28 10:03 1730次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>数码管</b>静态显示

    从零开始学习紫光同创FPGA——PGL22G开发板数码管动态显示(五)

    对于多位数码管一般采用动态驱动方式使数码管显示数字。为了更好的理解数码管动态驱动,我们首先了解下市面上常见的多位数码管的内部连接。以两位数码管
    发表于 06-19 16:08

    从零开始学习紫光同创FPGA——PGL22G开发板数码管静态显示(四)

    是发光二极。能显示4个数码管叫四位数码管数码管按段数分为七段数码管和八段数码管,八段
    发表于 06-15 18:48