FPAG学习笔记:BCD码驱动2位数码管(动态扫描)

本文记录了使用Verilog在Nexys 3开发板上设计BCD码驱动的2位数码管动态扫描过程。通过Verilog源码展示了如何实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、用Verilog 在Nexys 3开发板上设计并实现BCD码驱动2位数码管,数码管采用动态扫描方式显示。

2、Verilog源码如下所示:

`timescale 1ns / 1ps               // 定义时间单位和事件单位、时间精度
module seg2_7(              
    input [7:0] x,                 // 每个4位开关输入一个BCD码,分别对应2个数码管的十进制数字
    output reg[6:0] y,             // 8段数码管,不带dp位置,则一共7段,分别为a,b,c,d,e,f,g
    output reg[3:0] digit_en,      // 定义位选控制寄存器,直接驱动位选,总线宽度设置为4
    input clk                      // 2位数码管公用7位数据线,由于要扫描刷新各个数码管,因此需要用时钟定时,
    );                             // clkdiv分频,保证扫描周期5ms-10ms
reg[19:0] clkdiv;                  // 定义分频器
reg[3:0] digit;                    // 定义显示寄存器,位宽为4
wire s;                            // 标志信号,标志当前扫描数码管位
// 引出标志定时信号线

assign s=clkdiv[19];               // 标志信号连接到clkdiv[19],2^19*(1/100M)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值