微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 八段数码管计数verilog代码求助

八段数码管计数verilog代码求助

时间:10-02 整理:3721RD 点击:
看了一下原理图,发现我的板子接通共阳极片选。然后我想实现3位同时点亮,然后每次只倒计数个位数,满10再给十位数加1,可是怎么看也做不到给个位数重新赋值而不影响十位和百位啊。
好像他们字段都是用的一根线,改变一个字也肯定改变了其他点亮的位。貌似让个十百一起同步计数还好控制。
求大神帮助。算法给我讲讲即可。

逐位点亮或逐段点亮



   麻烦大神详细说一下。

就是扫描,这东西我测试过,扫描的时间随意了,但是改变时间不能太低,大约几MS吧,只是能看见飞快的变化,如果再低,那真就乱了,如果几十ms扫面就能清晰的看见了,根据你的情况貌似是一次扫面三个管,你一个一个一个扫描



   能不能定格显示 。比如04 ?怎么实现?

用频率扫描八段显示器的点亮口,形成视觉误差,感觉三个灯同时点亮,利用分频器,出来FPGA的10Mhz的频率就可以。



   意思是一个模块例化三次,频率快点?一个模块能实现不?

你是3位8段数码管吗,那就是总共由24个seg咯
每个时间段T内只驱动1个seg,用8*T的时间驱动1位数码管,用24*T的时间将3位共24个seg轮流驱动一遍。驱动某个seg是亮或灭就取决于要显示的数据。
控制T的时间长短,保证不出现闪烁,因为T过大会导致刷新率变低,人眼能感觉到24个段是不同时亮的。
在不闪烁的前提下,你还可以把时间段T再分成多个小段t,控制每个seg被驱动的时间占比t/T,还可以控制亮度。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top