七段数码显示译码器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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语言有了一定的理解与认识,但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之