一、设计目的
FPGA驱动七段数码管实现十六进制计数显示。
二、设计原理
七段数码管分共阳极与共阴极两种。共阳极数码管其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极数码管则与之相反,它是将发光二极管的阴极短接后作为公共阴极,当驱动信号为高电平、公共阴极接低电平时,才能发光。
上图为共阳极数码管和共阴极数码管的内部结构图
用七段数码管除了可以显示0~9的阿拉伯数字外,还可以显示一些英语字母。下表是常见的字母与7段显示关系(共阴极数码管)。
段 字母 |
a |
b |
c |
d |
e |
f |
g |
A |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
B |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
C |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
D |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
E |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
F |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
H |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
三、设计内容
编写一个0~F轮换显示的电路(注意:选用实验箱中的共阳数码管DP1A,FPGA上P25引脚连接50MHz时钟。实验时为了便于观察,要将50MHz时钟经过分频得到1Hz时钟)。LED、时钟与FPGA的引脚连接如下表所示。
芯片引脚 |
开发平台模块 |
AE13 |
HEX 1A |
AF13 |
HEX 1B |
AD12 |
HEX 1C |
AE12 |
HEX 1D |
AA12 |
HEX 1E |
Y12 |
HEX 1F |
V11 |
HEX 1G |
P25 |
Clk(50MHz) |
四、设计结果
1、七段数码管源程序:
module div(clk,smg);
input clk;
output [6:0]smg;
reg [25:0] counter;
reg [6:0]smg;
reg [4:0]count;
always @(posedge clk)
begin
if(counter==50000000) counter <= 0;
else counter <= counter+1;
end
always @(posedge clk)
begin
if(count==17)
count<=0;
else if(counter==50000000) count<=count+1;
end
always @(posedge clk)
begin
if(count==1) smg<=7'b0000001;
else if(count==2) smg<=7'b1001111;
else if(count==3) smg<=7'b0010010;
else if(count==4) smg<=7'b0000110;
else if(count==5) smg<=7'b1001100;
else if(count==6) smg<=7'b0100100;
else if(count==7) smg<=7'b0100000;
else if(count==8)smg<=7'b0001111;
else if(count==9)smg<=7'b0000000;
else if(count==10)smg<=7'b0000100;
else if(count==11)smg<=7'b0001000;
else if(count==12)smg<=7'b1100000;
else if(count==13)smg<=7'b0110001;
else if(count==14)smg<=7'b1000010;
else if(count==15)smg<=7'b0110000;
else if(count==16)smg<=7'b0111000;
else smg<=7'b1111111;
end
endmodule
2、仿真波形图:
上图为6分频仿真数码管七段各位的结果。
上图为50M分频结果,由于仿真时钟波形不够显示50000000次时钟波形,所以数码管输出结果未显示出。
3、管脚约束:
4、下载到试验箱上的结果:
上图为数码管从0~F轮换显示的结果,每隔一秒变换显示一次,同时也说明了时钟50MHz被成功分频为1Hz。
五、注意文章来源:https://www.toymoban.com/news/detail-464767.html
约束管脚时将数码管高低位(a-g)约束反会导致编码错乱。文章来源地址https://www.toymoban.com/news/detail-464767.html
到了这里,关于FPGA设计开发(基础课题):七段数码管设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!