数码管从0到9

这次因为要在板子上跑,所以我们这次要给它分频。因为我的板子型号是50M的晶振,所以我把它分到了1HZ的频率。然后,在用case语句将它译码。重点:分频最主要要将各个时间与频率的关系搞清楚。1MHZ=1000000HZ 1s=1000ms=1_000_000us=1_000_000_000ns T=1/f
注意:有的板子要选择数码管,所以要加上一个信号来连接数码管的引脚。
源码:

module led_show(
input clk,
input rst,
output seg,
output [7:0] seg_sel_0
);
reg [7:0]seg_sel_1;
reg  [24:0]seg_sel;
always@(posedge clk)
begin
 if(~rst)
   seg_sel<=0;
 else if(seg_sel==25'd50_000_000-1)
   seg_sel<=0;
  else
    seg_sel<=seg_sel+1;
end

reg [3:0]cnt;
always@(posedge clk)
begin
if(~rst)
   cnt<=0;
else if(seg_sel==25'd50_000_000-1)
begin
     if(cnt==9)
      cnt<=0;
   else
      cnt<=cnt+1;   
end
end


always@(*)
begin
  case(cnt)
   4'b0000: seg_sel_1=8'b1100_0000;
   4'b0001: seg_sel_1=8'b1111_1001;
   4'b0010: seg_sel_1=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值