数码管移位循环显示数字verilog代码ego1开发板

这篇具有很好参考价值的文章主要介绍了数码管移位循环显示数字verilog代码ego1开发板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:数码管移位循环显示数字verilog代码ego1开发板

软件:VIVADO

语言:Verilog

代码功能:

采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789....

电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

代码下载:数码管移位循环显示数字verilog代码ego1开发板名称:数码管移位循环显示数字verilog代码ego1开发板(代码在文末下载)软件:VIVADO语言:Verilog代码功能:采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789....电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com本代码已在ehttp://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=312

1. 工程文件

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

2. 程序文件

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

3. 程序编译

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

4. RTL图

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

5. 管脚分配

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

6. Testbench

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

7. 仿真图

整体仿真图

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

按键消抖模块

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

显示模块

用vivado 8个数码管全部具有显示和写入双模式 利用ego1上的8个数码管滚动显示9位,fpga开发,ego1,数字移位显示,vivado,数码管,verilog

部分代码展示:文章来源地址https://www.toymoban.com/news/detail-768829.html

module Numeric_Display(
input clk,//标准时钟,100MHz
input reset,//复位信号,低有效 
input SW_en,//使能
input shift_key_p,//移位
output reg [7:0] segment_strobe_1,
output reg [3:0] bit_strobe_1,  //高电平点亮,高电平选通
output reg [7:0] segment_strobe_2,
output reg [3:0] bit_strobe_2//高电平点亮,高电平选通
);
reg [39:0] data_in;//输入8位数据
   always @(posedge clk or negedge reset)  
   if(reset==0)
         data_in<=40'h0123456789;
   else if(SW_en==1)begin//使能
      if (shift_key_p)//按下移位
         data_in<={data_in[35:0],data_in[39:36]};//移位
   end
   reg [15:0] counter=16'd0;   
   always @(posedge clk)     
      begin
         if (counter == 16'hffff)
            counter <= 16'h0000;
         else
            counter <= counter + 1;//计数
      end
      
reg [3:0] display_data_1; 
reg [3:0] display_data_2; 
//数码管1位选控制
   always @(posedge clk)
      case (counter[15:14])
         2'd0 : begin
            display_data_1 <= data_in[31:28];
            bit_strobe_1 <=4'b1000;
            end
         2'd1 :begin
            display_data_1 <= data_in[27:24];
            bit_strobe_1 <=4'b0100;
            end
         2'd2 :begin
            display_data_1 <= data_in[23:20];
            bit_strobe_1 <=4'b0010;       
            end
         2'd3 :begin
            display_data_1 <= data_in[19:16];
            bit_strobe_1 <=4'b0001;            
            end
      endcase

到了这里,关于数码管移位循环显示数字verilog代码ego1开发板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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)
  • FPGA课程设计——数字电子时钟VERILOG(基于正点原子新起点开发板,支持8位或6位共阳极数码管显示时分秒毫秒,可校时,可设闹钟,闹钟开关,led指示)

    2019   级    电子科学与技术   专业FPGA课程设计 报   告 2022  年 5 月 20 日 多功能数字电子钟的设计 摘要 电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,使用EDA技术设计的结果既可以用FPGA / CPLD来实施验证,也可以直接做成专用集成电路(ASIC)。

    2024年02月03日
    浏览(34)
  • 矩阵键盘控制数码管显示数字

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 编程实现功能要求:开机黑屏;按下任意按键后,数码管上显示该键的键号(0~F);若没有新键按下,维持前次按键结果。 代码如下(示例): 使用 proteus8.13 本次实验不是特别难,我所做的也只是一种方法而

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

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

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

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

    2024年02月04日
    浏览(32)
  • 【51单片机-数码管】:用51单片机写一个八个数码管中选用任意相邻两个数码管,用来循环显示0-99之间的数据,数据显示间隔为0.5s

             用普中51单片机写一个八个数码管中选用任意相邻两个数码管,用来循环显示0-99之间的数据,数据显示间隔为0.5s。         随机数码管 00-99  循环0.5s  显示。        数码管是一种数字显示器件,它由多个发光二极管(LED)组成,可以显示数字、字母、符号等

    2024年02月07日
    浏览(38)
  • 利用单片机余晖依次显示,同时显示 数码管的数字

    #include reg51.h //Êý×é±íʾ Êý×Ö0-9   16½øÖÆ unsigned char arr[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; sbit q1 = P2^0; sbit q2 = P2^1; sbit q3 = P2^2; sbit q4 = P2^3; //ʱ¼ä³¤ ÒÀ´ÎÏÔʾ1234 void delay() {     int i;     for(i = 1; i 20000; i++){} } //ʱ¼ä¶Ì ͬʱÏÔʾ1234 void delay_

    2024年04月26日
    浏览(25)
  • Vivado 实现4个7位数码管显示数字

    目前只是实现了4位分别显示0~9的功能的7位数码管,后期有添加内容还会有删改。 就不用提数码管的原理了(像什么共阳极,共阴极之类的),我会把每一步都解析标注出来。 首先是实现4个数码管显示相同数字。 由于没有具体选择4个数码管的哪一个所以4个都会显示同样的

    2024年02月13日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包