七段数码显示译码器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一七段数码显示译码器设计

一、实验目的:

1.完成七段数码显示译码器的设计,学习组合电路设计;

2.学习多层次设计方法。

3.锻炼使用Verilog HDL 语言编程的能力。

二、实验原理:

1.七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。

2.七段码输入与输出的原理与真值表关系。

a)输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的

“0”到“F”。

b)输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。一般规

定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。本实验使用的七段数码为共阴极,其电路图如

图1所示。

图1 共阴数码管及其电路

c)输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,

表2-1 七段字符显示真值表

数码A3 A2 A1 A0 A B C D E F G 对应码(h)

0 0 0 0 0 1 1 1 1 1 1 0 7E

1 0 0 0 1 0 1 1 0 0 0 0 30

2 0 0 1 0 1 1 0 1 1 0 1 6D

3 0 0 1 1 1 1 1 1 0 0 1 79

4 0 1 0 0 0 1 1 0 0 1 1 33

5 0 1 0 1 1 0 1 1 0 1 1 5B

6 0 1 1 0 1 0 1 1 1 1 1 5F

7 0 1 1 1 1 1 1 0 0 0 0 70

8 1 0 0 0 1 1 1 1 1 1 1 7F

9 1 0 0 1 1 1 1 1 0 1 1 7B

A 1 0 1 0 1 1 1 0 1 1 1 77

上,需要进行引脚分配。

一、实验步骤:

(1) 创建工程文件

(2) 创建原理图设计文档

(3) 利用ESC绘制电路图进行功能设计

(4) 执行综合

(5) 设计测试平台文件

(6) 执行功能仿真

(7) 执行实现、添加约束文件

(8) 执行时序仿真

(9) 生产位流文件,配置目标芯片

Verilog HDL程序:

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////////

// Company:

// Engineer:

//

// Create Date: 18:47:07 03/10/2013

// Design Name:

// Module Name: ssss

// Project Name:

// Target Devices:

// Tool versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////////

module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg );

input a, b, c, d, en;

output reg sega, segb, segc, segd,sege,segf,segg;

reg [1:7] segs;

always @(a or b or c or d or en) begin

if (en)

case ({d, c, b, a})

0:segs = 7'b1111110; //0

1:segs = 7'b0110000;

2:segs = 7'b1101101;

3:segs = 7'b1111001;

4:segs = 7'b0110011;

5:segs = 7'b1011011;

6:segs = 7'b0011111;

7:segs = 7'b1110000;

8:segs = 7'b1111111;

9:segs = 7'b1110011; //9

10:segs = 7'b1110111;//10

11:segs = 7'b0011111;

12:segs = 7'b1001110;

13:segs = 7'b0111101;

4:segs = 7'b10011111;

15:segs = 7'b1000111;15

default segs = 7'bx;

endcase

else

segs = 7'b0;

{sega, segb, segc, segd,sege,segf,segg} = segs; end

Endmodule

实验过程中得到的图片:

实验体会:

本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之

相关文档
最新文档