完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是关于数码管动态扫描,扫描部分。
|
|
相关推荐
4个回答
|
|
二楼回答的很有精准!我稍微整理了一下。
第一部分和第二部分是完全不同的。 针对问题1: 1)为什么一直显示的是8呢? 必有原因! 根据你的码管译码,可以得出是低电平驱动数码管段。第一部分综合出来还是有一定的优先级别的,复位优先级最高,其次显示,最后计数。 关键就是在这个优先级别上了,注意显示和计数的顺序,是显示的级别高于计数的级别!!!!可能你已经看出来了,当cnt[15]为1以后,显示部分不断的再重复,而计数部分却停止了!! disp_dat 在50MHz的信号下,反复加1,数码管译码段从0-F一直进行,这一个周期只需要20*16 = 320nS,人眼根本反应不过来,这些个状态显示瞬间的执行过来,效果就是灯全部亮了,所以看到的就是一个8字。还可以透露一点的是,cnt=16'h8000,也就是刚好cnt[15]=1时,状态再也执行不下去了,不信? 用逻辑分析仪测试一下吧...呵呵 2)第二个的逻辑设计的是对的,但是速度太快了!拿纸拿笔,我们算算最低位的那个转换速度,算最长的周期吧,cnt1的位宽是20, 也就是计满2的20次方个时钟周期,就开始下一个轮回,50M晶振,周期是20ns,按照 总时间 = 个数*时钟周期时间 的公式计算,折算成秒为单位,这个过程大家都会,计算器按按就出来了,我的结果是0.02097152,约等于0.02s,也就是一个周期的时间太短了,前面的几个数勉强看得清楚,十位就是0.02s的十倍,百位就是0.02s的百倍,个数位上变化速度太快了,跟第一部分一样,所有状态瞬间执行过去看起来就是一个8字,跟第一部分相比,它执行的速度慢下来了许多,各个状态停留的时间还算比较“长”,所以最后一个码管显示的特别亮,这是有道理的。 针对问题2: 仔细分析了问题1的来源,问题2还是一个时钟速度太快的问题。不改之前,else if( cnt1==16‘h7fff) disp_dat <= disp_dat + 4'b1; 这个周期是 cnt1从第一个16'h7fff到下一个16'h7fff,时长约0.02s,但是改为else if( cnt1[15]) disp_dat <= disp_dat + 4'b1;后,表示的是cnt1[15]为1到下一个cnt1[15]为1的周期,这个周期可就大大缩短了,一起算算,计数就是2倍的0x8000,也就是2的16次方个,周期按 总时间=计数个数 * 时钟频率, 结果为65536 * 20ns ,折算成秒的单位,大约为0.0013秒,整个周期不到2个微秒,变化速度太快了,这时候数码管应该全部显示的都是8,看起来乱乱的。 ============================================= 两个问题分析完了,第一个是设计上的问题,这个得重新改改,第二个是频率过快的问题,想办法降低下转换频率,试试把位宽加宽,从cnt[15]改成cnt[25],效果会好很多咯,不信? 改改尝试一下吧
最佳答案
评分
|
||
|
||
|
|
|
|
第一个问题:
第一部分和第二部分是完全不同的,cnt[15]和cnt=16'h7fff是不一样的,cnt[15]等于1可以有很多种可能,但cnt==7fff一次循环只会出现一次OK? 第二个问题: 换过来以后你的cnt1的计数方式发生了变化,第一部门计数cnt1在cnt1XXX_XXXX_XXXX_XXXX是不进行计数的,一直处于保持的,儿第二部分cnt1是自由计数的,完全不受控,区别就在这儿! 评分
|
||||
|
||||
o_sel_r会产生latch!cnt[15]等于1 的时候低位可以是任何数哦,很多种可能,导致你两次的分频系数不一样!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1539 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1077 浏览 0 评论
2619 浏览 1 评论
2306 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2578 浏览 0 评论
2037 浏览 55 评论
6038 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 10:11 , Processed in 0.559506 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号