本帖最后由 chy520cvv 于 2015-11-5 17:04 编辑
数码管是用于显示0,1,2,⋯ ⋯9数字的显示器件具体应用时,这些数字都是以BCD编码形式表示,通过译码器加到显示管上。目前在数字电路中,最常用的是七段字形显示管,也有带小数点的八段数码管。表示字形的每一段相当一个发光管。
所有二极管的内部连接有两种:阳极连接在一起称共阳形,阴极连在一起,称为共阴形。
FPGA与数码管连接示意图,以共阴数码管为例:
若为共阳极数码管,则将阳极连接至VCC,其余管脚通过限流电阻连接至FPGA管脚。
对于数码管显示只是一个译码电路的过程,主要代码如下:
- always@(*)begin
- case(data)
- 4'h0:a_to_g_dp_reg <= 8'b000_0001_1;
- 4'h1:a_to_g_dp_reg <= 8'b100_1111_1;
- 4'h2:a_to_g_dp_reg <= 8'b001_0010_1;
- 4'h3:a_to_g_dp_reg <= 8'b000_0110_1;
- 4'h4:a_to_g_dp_reg <= 8'b100_1100_1;
- 4'h5:a_to_g_dp_reg <= 8'b010_0100_1;
- 4'h6:a_to_g_dp_reg <= 8'b010_0000_1;
- 4'h7:a_to_g_dp_reg <= 8'b000_1111_1;
- 4'h8:a_to_g_dp_reg <= 8'b000_0000_1;
- 4'h9:a_to_g_dp_reg <= 8'b000_0100_1;
- 4'ha:a_to_g_dp_reg <= 8'b000_1000_1;
- 4'hb:a_to_g_dp_reg <= 8'b110_0000_1;
- 4'hc:a_to_g_dp_reg <= 8'b011_0001_1;
- 4'hd:a_to_g_dp_reg <= 8'b100_0010_1;
- 4'he:a_to_g_dp_reg <= 8'b011_0000_1;
- 4'hf:a_to_g_dp_reg <= 8'b011_1000_1;
- endcase
- end
复制代码本实例所演示的是带数码管功能检测的循环计数器,即首先检测数码管各段码能否正常显示,然后从0x0到0xF循环计数。
|