完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好。
我有Digilent的Basys2 FPGA板。 我不是VHDL专家,而且我很擅长。 好。 我正在做一个4221到8421的转换器,我想在显示屏上显示4位。 问题是我真的不知道如何显示所有这些。 我有四个位存储在四个不同的变量中,如s1,s2,s3和s4,我已经做了位到7段转换器。 问题是我不知道如何连续使用所有7个段,所以我可以显示如下内容: 0 1 0 1 对于bit到7segment我做了类似的事情: 分段 一个以下为原文 Hello there. I have a Basys2 FPGA Board from Digilent. I'm not a VHDL pro and I'm far for being one. Well. I'm doing a 4221 to 8421 converter and I want to display the 4 bits in the display. The problem is that I really don't know how to display all of them. I have the four bits stored in four different variables like s1, s2, s3 and s4 and I already did the bit to 7 segment converter. The problem is that I don't know how to use all the 7 segments in a row so I can display something like: 0 1 0 1 For bit to 7segment I make something like: an <= "1101"; segmentos <= selector(s4) and "1111111"; an <= "1110"; segments <= selector(s4); This means I'm using the last display and converting the s4 variable so something like "1001111" that will be interpreted in the 7-segment display (where 1 = off, 0 = 1 // common anode display). |
|
相关推荐
2个回答
|
|
你好。
只是读到这一点,我必须使用MUX和时钟。 我真的不知道那哈哈。 有人可以帮我这个吗? 以上来自于谷歌翻译 以下为原文 Hello. Just read that for this I have to use a MUX and a Clock. I really didn't know that lol. Somebody could help me with this? |
|
|
|
如果您发布Basys2板文档的链接,您可能会获得更多帮助。
我试过快速搜索一下 Xilinx网站,只有论坛点击。 如果这是典型的7段多位LED显示屏,则需要对其进行时间复用 数字。 这应该尽可能慢地完成,而不要太慢 你的眼睛眨了眨眼睛。 快速运行多路复用器会导致“重影” 如果它们被使用,那些不应该出现的部分会变暗 其他数字。 如果需要快速运行多路复用器,可以减少重影 通过在切换之前和之后关闭所有段线一段时间 阳极。 我假设你的主板有某种高速时钟进入 FPGA。 这些通常在25到100 MHz范围内。 我们说你 具有50 MHz并希望以60 Hz运行您的4位数显示。 然后你的 阳极选择应在约4 x 60 = 240 Hz时改变。 你需要 一个18位二进制计数器,用于从50 MHz产生此频率。 否则这个过程相当简单。 您需要一个重新循环的移位寄存器 一次选择一个阳极。 检查您的董事会信息,看看是否 阳极线需要高或低才能打开数字。 如果你弄错了 你会看到所有细分在彼此之上。 然后,您只需根据当前驱动的阳极对分段线进行多重处理。 - Gabor 以上来自于谷歌翻译 以下为原文 You might get more help if you post a link to the Basys2 board docs. I tried a quick search of the Xilinx site and only got forum hits. If this is a typical 7-segment multi-digit LED display, you need to time-multiplex the digits. This should be done as slowly as possible without getting so slow that your eyes pick up the flicker. Running the multiplexer too fast can cause "ghosting" where segments that should not come on are glowing dim if they are used on other digits. If you need to run the multiplexer fast, you can reduce the ghosting by turning off all of the segment lines for some time before and after switching the anode. I assume your board has some sort of high-speed clock going into the FPGA. These are usually in the 25 to 100 MHz range. Let's say you have 50 MHz and want to run your 4-digit display at 60 Hz. Then your anode select should change at about 4 x 60 = 240 Hz. You would need an 18-bit binary counter to generate this frequency from 50 MHz. Otherwise the process is fairly simple. You need a re-circulating shift register to select one anode at a time. Check your board information to see whether the anode line needs to be high or low to turn on the digit. If you get it wrong you'll see all of your segments on top of one another. Then you just muliplex the segment lines based on the currently driven anode. -- Gabor |
|
|
|
只有小组成员才能发言,加入小组>>
2370 浏览 7 评论
2786 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2255 浏览 9 评论
3330 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2420 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
743浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
531浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
344浏览 1评论
748浏览 0评论
1949浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 02:23 , Processed in 1.271197 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号