本文主要是介绍【数字系统】LED动态显示模块设计:数据输入/动态显示/按键信号转换 Quartus II 环境/Verilog HDL语言/编程+仿真+开发板/FPGA/CPLD/EDA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、 实验目的
1. 学习理解LED动态显示的工作原理
2. 进一步掌握Verilog HDL层次化的设计方法。
3. 掌握Verilog HDL行为级描述与结构化描述方法。
4. 显示数值的数据输入模块、数据动态显示模块、信息可调整的动态显示顶层模块的设计与仿真。
二、 实验过程步骤
1、设计模块1:显示数值的数据输入display_decode
a.模块功能要求
八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管;另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管。
以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。电平信号按照dp,g,e…a的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表如下图。
b.实验步骤
(1)利用wizard新建项目,所选器件为MAX II 系列型号为EPM1270T144C5N的器件。
(2)新建Verilog文件,名称与模块名一致,保存为display_decode.v。程序内容如下:
module display_decode(bd,y);
input [3:0]bd;
output [7:0]y;reg [7:0]y;always@(bd)
case(bd)4'b0000: y=8'b00111111;4'b0001: y=8'b00000110;4'b0010: y=8'b01011011;4'b0011: y=8'b01001111;4'b0100: y=8'b01100110;4'b0101: y=8'b01101101;4'b0110: y=8'b01111101;4'b0111: y=8'b00000111;4'b1000: y=8'b01111111;4'b1001: y=8'b01101111;default:y=8'b00000000;
endcaseendmodule
(3)将display_decode.v设为顶层实
这篇关于【数字系统】LED动态显示模块设计:数据输入/动态显示/按键信号转换 Quartus II 环境/Verilog HDL语言/编程+仿真+开发板/FPGA/CPLD/EDA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!