打印

数码管消隐问题

[复制链接]
4580|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yan2626156|  楼主 | 2011-12-28 18:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数码管段选,采用的是164串行移位,位选采用的是138译码。现在的问题是单片机跟164相连的只有SEG_DAT和SEG_CLK两个管教,和138相连的只有COMA、COMB和COMC三个管脚。我现在纠结的是在做动态显示时:我先位选,但是段选是通过移位移进来的,所以高位在移动的过程会影响到低位,造成有拖影。所以我想在做完段选之后再打开位选,但是138就只有8种状态,分别对应8个数码管的位选,所以任何时刻都有一个位选是打开的。怎样才可以消隐呢?(注:硬件电路不能改)

相关帖子

沙发
NE5532| | 2011-12-28 19:05 | 只看该作者
除了提高串并转换传输速度和改硬件之外似乎无解,系统规划时候存在先天漏洞。

使用特权

评论回复
板凳
sohowork| | 2011-12-28 19:42 | 只看该作者
我最近也在做类似的项目,正因为164有你说的麻烦,我用了595,是HCT595,正好还实现了3-5V转换,节省口线,方便排板。如果量少,你设法在单片机上挤出一根输出线,联到138的CS3,这样有可能在某个时间点上138输出全部无效,这个时间点上你传送段信息,然后再释放位选。如果已经大量了,那好像只好报废PCB了。还有你这么喜欢74系列的东西?

使用特权

评论回复
地板
sohowork| | 2011-12-28 19:46 | 只看该作者
刚才才看到另一个问题也是你提的,看来你得重新通盘考虑了,不然也许后面还会有其他问题冒出来。

使用特权

评论回复
5
highgear| | 2011-12-28 21:33 | 只看该作者
这是硬件设计问题,软件无法完全解决。改用 595 吧.

使用特权

评论回复
6
ayb_ice| | 2011-12-29 08:38 | 只看该作者
消隐一般通过控制显示的数据来完成

使用特权

评论回复
7
yan2626156|  楼主 | 2011-12-29 08:46 | 只看该作者
问题是硬件不是我弄的,而且已经大量生产。6楼说的消隐一般是通过控制显示的数据来完成的。你的意思应该不是说发送0x00或者0xFF吧?至于4楼提到的重新通盘考虑,也没这个必要性。因为已经有一个工程师在这个硬件环境下实现了需要的功能,既然他能做的到,我们也要加油啊,使劲地想,呵呵

使用特权

评论回复
8
ayb_ice| | 2011-12-29 09:13 | 只看该作者
本帖最后由 ayb_ice 于 2011-12-29 11:34 编辑
问题是硬件不是我弄的,而且已经大量生产。6楼说的消隐一般是通过控制显示的数据来完成的。你的意思应该不是说发送0x00或者0xFF吧?至于4楼提到的重新通盘考虑,也没这个必要性。因为已经有一个工程师在这个硬件环境 ...
yan2626156 发表于 2011-12-29 08:46

对了,就是正常发送数据,只不过是显示空白罢了
比如
void display(void)
{
     if(falg_500ms){
          led[0] = 0xff;
     }else{
          led[0] = 0x00;
     }
}

使用特权

评论回复
9
weihualong| | 2011-12-29 09:26 | 只看该作者
换位之前先不要急于送有效数据,先送“暗”数据,等换好位后再送有效数据。

使用特权

评论回复
10
yan2626156|  楼主 | 2011-12-29 10:11 | 只看该作者
呵呵,感谢8楼和9楼的意见。不过8楼貌似理解成是并行传输段选了,不过我现在要的是串行。至于9楼提到的,先送“暗”,这个我试过,但是效果不怎么样,在移有效数据的时候,高位依然会影响到低位,这个是无法避免的。托2楼的福,我把MCU主频提了一倍,虽然没有完全消隐,但也得到了很好的显示效果,在此谢谢了,结贴了,新的问题又出现了,大家多多帮忙哈

使用特权

评论回复
11
程序匠人| | 2011-12-29 10:18 | 只看该作者
这个……如果硬件一点都不能改,那你只能是尽量把138通信速度做快点,然后乞求佛祖保佑用户眼神不好。

使用特权

评论回复
12
ayb_ice| | 2011-12-29 10:21 | 只看该作者
呵呵,感谢8楼和9楼的意见。不过8楼貌似理解成是并行传输段选了,不过我现在要的是串行。至于9楼提到的,先送“暗”,这个我试过,但是效果不怎么样,在移有效数据的时候,高位依然会影响到低位,这个是无法避免的。 ...
yan2626156 发表于 2011-12-29 10:11

我那只是示意性的代码

使用特权

评论回复
13
lbc___| | 2011-12-29 13:22 | 只看该作者
多连一根线吧,138有使能端,不使能就都不亮了。。

使用特权

评论回复
14
xjbh001| | 2011-12-29 14:19 | 只看该作者
先消隐,再送数据,延时时间要把握好

使用特权

评论回复
15
mcs8098| | 2011-12-29 17:15 | 只看该作者
学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

72

帖子

1

粉丝