在7段数码管上显示自己的最后三位学号数字Verilog代码Vivado仿真

名称:在7段数码管上显示自己的最后三位学号数字Verilog代码Vivado仿真(文末获取)

软件:Vivado

语言:Verilog

代码功能:

在7段数码管上显示自己的最后三位学号数字

1.实验任务

要求将自己的最后三位学号数字在数码管上显示2、实验现象与结果

应能看见自己学号稳定的在数码管上显示,并用手机拍摄记录下来。3、实验报告

(1)简单陈述在数码管上显示数字的原理。

(2)画出编写 Verilog程序的功能框图。

(3)说明改变扫描频率的软件方法,及对显示的影响。

(4)附上 Verilog实验源程序,并对关键或重要的程序语句给出简要的注释和说明。

(5)将显示的学号截图附上。

(6)如果调试过程遇到了问题,应将问题截图,并给出解决问题的办法和对应的截图

1. 学号显示

工程文件

程序文件

程序编译

Testbench

仿真图

部分代码展示:

`timescale 1ns / 1ps
//显示学号后三位122
module display_num(
input clk,//时钟
output reg [3:0] bit_select,  //数码管位控制信号
output reg [7:0] lednum_select//数码管段控制信号
);
reg[15:0]counter='d0;
always@(posedge clk)
begin
    counter<=counter+16'd1;//扫描频率控制计数器
end
reg [3:0] display_data=4'd0;
always@(posedge clk)
begin//counter[5:4]表示扫描频率,若值越大,频率越低,最大可以设置为counter[15:14]
case(counter[5:4])//学号122
2'd1:display_data<=4'd1;//学号1  
2'd2:display_data<=4'd2;//学号2
2'd3:display_data<=4'd2;//学号2
      default:;
endcase
end
always@(posedge clk)
begin//counter[5:4]表示扫描频率,若值越大,频率越低,最大可以设置为counter[15:14]
    case(counter[5:4])//数码管位控制信号低电平有效
        2'd1: bit_select<=4'b1011;//显示第1个数码管
        2'd2: bit_select<=4'b1101;//显示第2个数码管
        2'd3: bit_select<=4'b1110;//显示第3个数码管
        default:bit_select<=4'b1111;//不显示
    endcase
case(display_data)//数码管段控制信号低电平有效
0 : lednum_select= 8'hc0; //显示0
1 : lednum_select= 8'hf9; //显示1
2 : lednum_select= 8'ha4; //显示2
3 : lednum_select= 8'hb0; //显示3
4 : lednum_select= 8'h99; //显示4
5 : lednum_select= 8'h92; //显示5
6 : lednum_select= 8'h82; //显示6
7 : lednum_select= 8'hf8; //显示7
8 : lednum_select= 8'h80; //显示8
9 : lednum_select= 8'h90; //显示9
endcase
end
endmodule
源代码

 扫描文章末尾的公众号二维码

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值