怎样利用带有4位数码管的FPGA开发板设计一个数字秒表?

返回列表 来源: 发布日期:2020-09-05

数码管在FPGA只玩过一次,简单地说说其原理。
  一,任何设计都要基于原理图。控制数码管的方式有两种:1.每一段对应FPGA的一个IO口,如果要操作的话直接给IO口高低电平就可以了。2.译码器。这种算是比较常见的了。为什么呢?因为这种方式可以大大节约FPGA的引脚。要知道一个FPGA引脚虽多,但是还有其他很多外设需要连接。著名的译码器有74ls138.
  二,就是设计部分。我们知道,1s=1000ms=1000_000us=1000_000_000ns.然后我们在看晶振的频率(一般是50M,我们就当50M来算吧)。50M的clk的周期为20ns(1/50M).那么1s也就需要1000_000_000/20=50_000_000个clk。FPGA里面的计时器实际就是一个计数器。我们需要实现的是1s的时候数码管从0变成1,再过1s的时候从1变成2...现在我们先reg [25:0] cnt, cnt的初始值为0,当计数到49_999_999的时候再让它置0.
  always@(posedge clk_50M)
  if(rst)
  cnt<=0;
  else if(cnt==49_999_999)
  cnt<=0;
  else
  cnt<=cnt+1;
  当cnt==49_999_999的时候代表正好是1s了,这时候就可以把数码管的0,变成1.当下一个cnt=49_999_999数码管的1变成2...
  但是一位数码管只能显示到9,所以,当数码管显示9并且cnt又计数到49_999_999的时候就要把第一个数码管置0,第二个数码管从0变1.其他依此类推。
  既然是4位数码管,最多计数到59分59秒.注意的是:第1 3位数码管是9->0;第2 4位数码管是5->0.当为59分59秒且cnt==49_999_999的时候全部归0.
  标签:数码管线路板

联系我们

  • 电话:15820766688
  • 手机:18877857888
  • QQ:178989139
  • 邮箱: feng61150700@126.com
  • 地址:深圳市宝安区松岗东方大道20号鑫浩顺智造创新园二期B栋北面三楼
  • 广西地址:广西省崇左市扶绥县空港大道标准厂房4号楼

联系我们

膜王(深圳)公司

地址:深圳市宝安区松岗街道东方社区大田洋南六路4号鑫浩顺智造创新园 B栋301
手机:15820766688
手机:18877857888
邮箱:feng61150700@126.com
深圳:0755-29917 109
广西:0771- 7555190
网址: