【verilog】用七段数码管显示二进制编码的十进制数

这篇具有很好参考价值的文章主要介绍了【verilog】用七段数码管显示二进制编码的十进制数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验目的

用七段数码管显示0~9,输入为四个信号,这四位二进制数表示十进制的0~9

实验原理与内容

【verilog】用七段数码管显示二进制编码的十进制数

图1 逻辑电路与七段显示器

【verilog】用七段数码管显示二进制编码的十进制数

图2 真值表

  • 根据卡诺图,得出a~g的逻辑表达式:
a=~X2~X0+X1+X2X0+X3

b=~X2+~X1~X0+X1X0

c=~X1+X2+X0

d=~X2~X0+X1~X0+~X2X1+X3+X2X0~X1

e=~X2~X0+X1~X0

f=~X1~X0+X3+X2~X1+X2~X0

g=~X2X1+X2~X1+X2~X0+X3

硬件描述语言:

module exp2(X3,X2,X1,X0,a,b,c,d,e,f,g);

 input X3,X2,X1,X0;

 output a,b,c,d,e,f,g;

 assign a=(~X2&~X0)|X1|(X2&X0)|X3;

 assign b=(~X2)|(~X1&~X0)|(X1&X0);

 assign c=~X1|X2|X0;

 assign d=(~X2&~X0)|(X1&~X0)|(~X2&X1)|X3|(X2&X0&~X1);

 assign e=(~X2&~X0)|(X1&~X0);

 assign f=(~X1&~X0)|X3|(X2&~X1)|(X2&~X0);

 assign g=(~X2&X1)|(X2&~X1)|(X2&~X0)|X3;

endmodule

实验过程

【verilog】用七段数码管显示二进制编码的十进制数

图4 代码编译成功

【verilog】用七段数码管显示二进制编码的十进制数

图5 电路图

【verilog】用七段数码管显示二进制编码的十进制数

图6 仿真波形

表1 端口管脚分配表

端口

使用模块信号

对应FPGA管脚

功能说明

X3

拨动开关K1

Pin_W6

控制输入的四个信号的高低电平

X2

拨动开关K2

Pin_Y4

X1

拨动开关K3

Pin_U7

X0

拨动开关K4

Pin_V3

a

Hseg_D0

Pin_AB9

7-segment displays a

b

Hseg_D1

Pin_AA8

7-segment displays b

c

Hseg_D2

Pin_AA7

7-segment displays c

d

Hseg_D3

Pin_AA4

7-segment displays d

e

Hseg_D4

Pin_AB5

7-segment displays e

f

Hseg_D5

Pin_AB8

7-segment displays f

g

Hseg_D6

Pin_AB7

7-segment displays g

【verilog】用七段数码管显示二进制编码的十进制数

图7 管脚分配完成窗口文章来源地址https://www.toymoban.com/news/detail-424603.html

实验体会及改进建议

  1. 在求a~g的逻辑表达式时要细心认真,防止出错、花费大量时间来改正
  2. 这次实验让我对verilog语言在内的quartus软件更加熟练了,再次体会到它的强大和魅力
  3. 确认所求a~g的逻辑表达式是否为最简,电路成本是否最低,如果不是,怎么改进

到了这里,关于【verilog】用七段数码管显示二进制编码的十进制数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python turtle绘图——七段数码管显示数字和字母

    七段数码管由7条线组成,以下图所标识的画图顺序为准进行程序设计。   首先导入turtle库并将其重命名为t。 定义函数drawGap()用于绘制间隙,通过将画笔抬起,并向前移动5个单位,来实现间隙的绘制。 定义函数drawLine(draw)用于绘制线段,通过判断参数 draw 的布尔值,决定是

    2024年02月06日
    浏览(42)
  • 仿真软件proteus构建七段数码管显示数字0-9实验

        七段数码管显示原理研究在前一篇博客中已经阐述过,就是利用7个数码管构建一个“8”字形,然后利用数字的形状特点,依次点亮某一些段,就可以显示数字了。     七段数码管显示数字还是二极管发光原理的利用。     这里依旧采用proteus构建硬件工程,单片机类型

    2024年02月11日
    浏览(37)
  • verilog实现数码管静态显示

    六个数码管同时间隔0.5s显示0-f。要求:使用一个顶层模块,调用计时器模块和数码管静态显示模块。 本文介绍了数码管显示原理,数码管驱动方式等等,并通过代码实现了数码管静态显示

    2024年02月16日
    浏览(28)
  • verilog学习笔记- 15)动态数码管显示实验

    目录 简介: 实验任务: 硬件设计: 程序设计: 下载验证: 由于一般的静态驱动操作虽然方便,但占用的 I/0 口较多,例如要驱动6 位 8 段数码管,以静态驱动方式让数码管各个位显示不同的数值,如“123456”,需要占用6 × 8 = 48个I/O 口,虽然对于 FPGA 这种 I/O 口较多的芯片

    2024年02月07日
    浏览(34)
  • FPGA 驱动数码管动态显示(Verilog&Vivado)

    应用实例: (1)使用串口发送实现ACX720开发板时钟显示 本章将实现 FPGA 驱动数码管动态显示并提取出实现的电路结构,从电路结构入手编写代码,仿真对设计进行验证。最终板级调试时使用 Virtual Input/Output(VIO,虚拟输入/输出端口工具),输入需要显示的数据,数码管则显

    2023年04月12日
    浏览(43)
  • 数码管动态显示Verilog实现(参考小梅哥教程)(视觉暂留)

    一个数码管有八个引脚,控制八段二极管的亮灭,用以显示需要的数字。 当有N个数码管时,一个一个控制的话需要N x 8 个引脚,消耗资源较多。 因此可以利用动态显示的方案通过人眼的视觉暂留特性达到静态显示的效果(动态显示周期20ms),只需N+8个引脚。节省了大量资源

    2024年02月04日
    浏览(32)
  • 任意进制计数器12进制计数数码管显示verilog代码

    名称:任意进制计数器12进制计数数码管显示verilog代码 软件:VIVADO 语言:Verilog 代码功能: 设计一个12进制计数器,计数值00-11需要在数码管上显示, 时钟脉冲通过按键开关设计。 电路的输入信号en进行清零。 本代码可以修改为任意进制计数器,即修改计数控制模块的红框

    2024年02月04日
    浏览(42)
  • 数码管移位循环显示数字verilog代码ego1开发板

    名称:数码管移位循环显示数字verilog代码ego1开发板 软件:VIVADO 语言:Verilog 代码功能: 采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789.... 电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。 FPGA代码Verilog/VHDL代码资源下载

    2024年02月03日
    浏览(30)
  • FPGA设计开发(基础课题):七段数码管设计

    一、设计目的 FPGA驱动七段数码管实现十六进制计数显示。 二、设计原理 七段数码管分共阳极与共阴极两种。共阳极数码管其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极数码管则与之相反,它是将发光二极管的阴极短接后作为公共阴

    2024年02月07日
    浏览(37)
  • python小程序之七段数码管的绘制

    今天我们学习了七段数码管的绘制,通过一个程序学习了数字用七段数码的绘制。首先我们看下图的绘制,我们先理解下各个数字由几步线条组成。  然后回到我们的程序,先给大家看看我们的程序图,因为小编录屏很模糊,但是运行的时候它是一笔一笔的绘制出来的,结果

    2024年02月02日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包