实验4 七段数码管译码电路

一 实验要求

1实验目的及实验内容要求

1.1 实验目的

1.设计并实现一个7段数码管控制接口,要求:在输入四位数据为0~15时,数码管显示0~F;

2.进一步熟悉VIVADO环境中电路的设计仿真及综合实现方法;

3.熟悉下载方法及实验系统调试方法。1.2 实验内容

1.VIVADO 环境下源程序的编写、编译

2.模拟仿真

3.程序下载

1.3实验要求

1. 在VIVADO 环境下完成输入四位数据为0~15时,数码管显示0~F的设计仿真;

2.完成配置程序的下载,并在EGo1开发板上对程序进行最终验证。

二 实验内容及过程

1 实验设计及分

图1 数码管原理图

在数码管上显示数字就是将相应的段位点亮组成要显示的数字,共阴数码管的码值表如下所示,‘1’代表相应的管脚输出高电平,点亮相应段位,‘0’代表相应的管脚输出低电平,不点亮相应段位。

图2 共阴数码管对应的码值表

(1)编译文件:

module shiyansi(
    input wire[3:0] x,
    output wire an,
    output reg[6:0] a_to_g
    );
    assign an=1;
    always @(*)
    case(x)
    0:a_to_g=7'b1111110;
    1:a_to_g=7'b0110000;
    2:a_to_g=7'b1101101;
    3:a_to_g=7'b1111001;
    4:a_to_g=7'b0110011;
    5:a_to_g=7'b1011011;
    6:a_to_g=7'b1011111;
    7:a_to_g=7'b1110000;
    8:a_to_g=7'b1111111;
    9:a_to_g=7'b1111111;
    'hA:a_to_g=7'b1110111;
    'hB:a_to_g=7'b0011111;
    'hC:a_to_g=7'b1001110;
    'hD:a_to_g=7'b0111101;
    'hE:a_to_g=7'b1001111;
    'hF:a_to_g=7'b1000111;
    default:a_to_g=7'b1111110;
    endcase
endmodule

(2)仿真文件:

`timescale 1ns / 1ps
module test;
reg[3:0]x;
wire an;
wire[6:0]a_to_g;
shiyansi uut(x,an,a_to_g);
initial begin
     x=0000;
 end
  always #10 x=x+1;
endmodule

(3)约束文件:

set_property PACKAGE_PIN P5 [get_ports x[3]]
set_property IOSTANDARD LVCMOS33 [get_ports x[3]]
set_property PACKAGE_PIN P4 [get_ports x[2]]
set_property IOSTANDARD LVCMOS33 [get_ports x[2]]
set_property PACKAGE_PIN P3 [get_ports x[1]]
set_property IOSTANDARD LVCMOS33 [get_ports x[1]]
set_property PACKAGE_PIN P2 [get_ports x[0]]
set_property IOSTANDARD LVCMOS33 [get_ports x[0]]
set_property PACKAGE_PIN G6 [get_ports an]
set_property IOSTANDARD LVCMOS33 [get_ports an]
set_property PACKAGE_PIN D4 [get_ports a_to_g[6]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[6]]
set_property PACKAGE_PIN E3 [get_ports a_to_g[5]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[5]]
set_property PACKAGE_PIN D3 [get_ports a_to_g[4]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[4]]
set_property PACKAGE_PIN F4 [get_ports a_to_g[3]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[3]]
set_property PACKAGE_PIN F3 [get_ports a_to_g[2]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[2]]
set_property PACKAGE_PIN E2 [get_ports a_to_g[1]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[1]]
set_property PACKAGE_PIN D2 [get_ports a_to_g[0]]
set_property IOSTANDARD LVCMOS33 [get_ports a_to_g[0]]

1.仿真波形

分析: 根据数码管的显示原理,需要将显示的数字转换成相关的二进制码,转化的条件如下:

输入0000,输出1111110,对应显示0

输入0001,输出0110000,对应显示1

输入0010,输出1101101,对应显示2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值