数码管动态扫描Verilog

该博客内容涉及动态扫描技术在数码管显示中的应用。通过模块SEG实现了对数码管的控制,利用CLK_50M时钟信号和RST_N复位信号,动态更新SEG_DATA和SEG_EN,以实现数码管的逐段点亮,达到节省硬件资源的效果。

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

  1. 数码管进阶
  • 动态扫描

module SEG
(
   CLK_50M,RST_N,
   SEG_DATA,SEG_EN
); 
 
input CLK_50M;
input  RST_N;

output reg 	[5:0] SEG_EN;
output reg 	[7:0] SEG_DATA;

reg 			[15:0] time_cnt;
reg 			[15:0] time_cnt_n;

reg 			[2:0] led_cnt;
reg 			[2:0] led_cnt_n;


parameter SET_TIME_10MS=16'd50_000;

always@(posedge CLK_50M or negedge RST_N)
begin
   if(!RST_N)
   	time_cnt<=16'h0;
   else
   	time_cnt<=time_cnt_n;
end

always@(*)
begin
   if(time_cnt==SET_TIME_10MS)
   	time_cnt_n=16'h0;
   else
   	time_cnt_n=time_cnt+16'h1;
end

always@(posedge CLK_50M or negedge RST_N)
begin
   if(!RST_N)
   	led_cnt<=3'h0;
   else
   	led_cnt<=led_cnt_n;
end
always@(*)
begin
   if(time_cnt==SET_TIME_10MS)
   	led_cnt_n=led_cnt+1'h1;
   else
   	led_cnt_n=led_cnt;
end


always@(*)
begin
   case(led_cnt)
   	3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值