189 8069 5689

数码管显示电路的VerilogHDL实现是怎样的呢

这篇文章给大家介绍数码管显示电路的Verilog HDL实现是怎样的呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、新晃网络推广、微信小程序、新晃网络营销、新晃企业策划、新晃品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供新晃建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

任何一个7 段码管都有128 种显示模式,而其中的数字0-9 是最为有用也是最常见的。通过控制共阳极(共阴极)数码管的阴极(阳极),可以显示数字0-9,图11-22 给出共阳极和共阴极数码管各自的连接关系。对于多位数码管而言,实际中为了简化电路,常常需要将所有共阴极数码管的阳极接到一起,所有共阳极数码管的阴极接到一起,用多个独立的位选和7 个(或8 个)公共段选控制所有的数码管。

假设位选信号为低有效,当位选有效时,段选为0时对应的二极管段被点亮。则用FPGA控制4位8段数码管分别显示数字1、2、3、4的程序如下:

位选1 为低时(其它位选都为高),第一位数码管被选中,此时的共用段选用于第一位数码管的显示;位选2 为低时(其它位选都为高),第二位数码管被选中,此时的共用段选用于第二位数码管的显示,三、四位数码管的显示依次类推。在一个刷新周期T 内,每位数码管都有1/4T 周期的时间被刷新。为了保证所有4 位数码管的显示不闪烁,一般刷新频率要大于5Hz。在一个周期中,虽然每位数码管会有3/4T 的时间不被点亮,但位选刷新的速度较快,同时由于数码管自身的余辉特性,每位数码管在变暗之前就又会被重新刷新,因此人眼无法感觉到数码管变暗。如果刷新的频率小于一定值(如45Hz),则人眼就会感觉到数码管的闪烁。一般刷新频率在60Hz 到1KHz 之间时,多位数码管显示得比较理想。

module LED_Display(

clk,seg,dq,an

    );

 input clk;

 output [6:0]seg;//phase select:consist of ABCDEFG

 output dq;//little point

 output [3:0]an;//bit select

 reg [15:0]count_for_clk=0;//65536

 reg [6:0]seg_reg;

 reg [3:0]an_reg;

 assign seg=seg_reg;

 assign an=an_reg;

 assign dq=1;

 parameter zero=7'b100_0000,//G=1

  one=7'b111_1001,

  two = 7'b010_0100,

  three= 7'b011_0000,

  four = 7'b001_1001,

  five = 7'b001_0010,

  six = 7'b000_0010,

  seven= 7'b111_1000,

  eight= 7'b000_0000,

  nine = 7'b001_0000;

always @ (posedge clk)//fractional frequency counter

begin

count_for_clk<=count_for_clk+1;

end

always@(posedge clk)

begin

case(count_for_clk[15:14])

0:an_reg<=4'b0111;

1:an_reg<=4'b1011;

2:an_reg<=4'b1101;

3:an_reg<=4'b1110;

endcase

end

always@(posedge clk)

begin

case(count_for_clk[15:14])

0: seg_reg<=one;

1: seg_reg<=two;

2: seg_reg<=three;

3: seg_reg<=four;

endcase

end

endmodule

关于数码管显示电路的Verilog HDL实现是怎样的呢就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网页题目:数码管显示电路的VerilogHDL实现是怎样的呢
网站路径:http://cdxtjz.cn/article/iecceg.html

其他资讯