streetkid的个人空间 https://www.eechina.com/space-uid-94172.html [收藏] [复制] [RSS]

博客

浅谈动态扫描数码管“消抖”、“消影”问题

已有 965 次阅读2013-8-29 19:40 |个人分类:单片计小计| 数码管动太扫描

最近工作的需要,又涉及到了数码管的动态扫描问题。在此把其中需要注意的地方记录一下,总结一下,也和爱好电子朋友们分享一下,由其是当代的大学生们,及那些刚刚踏入这一领域的新手们。虽然简单,但也值的注意。以下所述为无锁存,三极管驱动的共阳四位一体的数码管。

问题1:动态扫描时,有抖动。

对这个问题,相信很多人会说,有抖动那就说明你扫描的太慢了呗,增加扫描的频率不就可以了吗?那此时,请问一下自己,扫描的频率是多少才合适呢?在网上看到一些“大牛”谈到不能低于每秒24次的频率,对于4位数码管来说,也就是10.4ms/位。按照这个频率我试了一下,发现显示有抖动,没办法,可能是程序上有些臃肿吧(有高手的话,还请指点下),只好再往高调些。想到以前那种大头显示器的,显示频率为65Hz以上,对于4位数码管来说,可以折算成3.4ms/位。当然人家显示器比数码管复杂多了,这个拿这儿来肯定是嫌快了,10.4ms/位的咱做不到,5ms/位的咱还做不到吗?经过试验5ms/位的显示效果还是相当不错的,不管是从数码管的亮度还是抖动方面来说,都是没问题的。而5ms的中断对大多数程序来说也是有足够空间的,一般也不会出现什么中断冲突的情况。

问题2:动态扫描时,不显示的段有暗红。

对于这个问题,很多人会说,你扫描的太快了呗,不知道有余辉啊,不知道人有眼睛有视觉暂留效应啊?其实不然,这里关键的一点在于“消影”,这一点对于大学生来说,可能会很陌生,因为教科书上根本不会提,大部分资料上也不写,只是在程序中有这样的代码。所谓的“消影”,其实就是要你在显示下一位前,把上一位关断。因为单片机的IO口,在高低电平转换时,是需要时间的。而我们要做的,就是避开这一边沿时间。

 

说完技术上的,也写点自己的感想。其实对于大多数的学生来说,大家都做过数码管的动态扫描程序。大家可能是因为,当时实验环境中有寄存器,也可能是对自己没有太高的要求,出结果就行,因而忽略了很多的细节问题。像在扫描频率的这个问题,大家在学校时,可能都会选择1ms的中断来进行扫描,因为大部分书上都是用的这个扫描的频率。但当时的环境是,你程序单—,不会出什么问题。而在实际应用当中,不会是只有一个数码管的动态扫描程序的,你会有很多的其它函数,会有不只一个的中断。这时,你的问题就会来了。所以说,除了特殊情况外,定时器中断时,初值越小越好,中断服务程序越短越好,这样就不太会影响到其它程序的执行,定时误差也会减小。而像在“消影”这方面的问题上,很多学生们就更加的不注意了。因为没有实践过的老师他不讲,教科书上也没有,资料上也很少提。要看资料的话最好看那种,工程师编写的,像郭天祥,周立功等。最后希望大学生们,能多看不同的书,多做实验不要小视任何的细节问题。而且对程序对硬件来说,也没有小问题,因为这些小问题都是不定时的炸弹。

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部