请教郭天祥书中关于数码管的消影的问题

2019-07-15 20:25发布

请教郭天祥书中关于数码管的消影的问题

程序的一段如下:

void main()
{
        while(1)
        {         dula=1;
                P0=table[1];
                dula=0;
                P0=0xff;   /*消影,避免高速显示时的显示混乱*/
                wela=1;
                P0=0xfe;
                wela=0;
                delayms(500);

                dula=1;
                P0=table[2];
                dula=0;
                P0=0xfd;
                wela=1;
                P0=0xfd;
                wela=0;
                delayms(500);

1.请问这样段选-消影-位选是最好的顺序还是较为良好的编程习惯?
2.我有试过其他的几种排列方式,没有显示混乱的是:段选-消影-位选;位-段-消;消-位-段;
显示混乱的是:位-消-段;段-位-消;消-段-位。这样看来似乎段选前一定要消影,可是郭天祥
书中的这段代码第二段的位选前不是没有消影吗?第一段的位选不会影响到第二段的段选吗?

我不太理解,求大神指点

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zzc永不言弃
1楼-- · 2019-07-16 01:54
 精彩回答 2  元偷偷看……
偷袭未来
2楼-- · 2019-07-16 02:56
zzc永不言弃 发表于 2014-4-8 19:50
消隐的作用是在上一个数据结束后,下一个数据来之前,对数码管进行清零or置1.貌似是第一段完成之后把段选关 ...

我懂了,我试过在dula=1后加delayms(500);之后出现显示混乱。可能因为数据从芯片到端口需要一定时候,数码管响应需要时间,数码管来不及响应IO口就已经更新了,位选后的delayms(500);是为了让数码管响应进入正常工作,和让人识别到灯亮了


虽然已经懂了但谢谢你的雪中送炭啊
依然落叶飘零
3楼-- · 2019-07-16 04:33
真正的不是段选前一定要消隐。而是位选前一定要将段码变成高电平不显示才改变位选。而你这种情况比较特殊。他的段选和位选都是由P0口通过锁存器控制。要锁存器时能端高电平才能改变数据。而且锁存器数据改变也是有一定时间的,因此影响不大。这段代码没有实现理论上的全部消隐。
1522495332
4楼-- · 2019-07-16 07:45
因为位选与段选不能同时改变,所以才需要消隐的。如果能做到两个同时变,那就不需要消隐。
最好的做法是先令位选=0xff,再给出段选,最后令位选=有效值(消-段-位)。这样是没有一点鬼影的。
不是你说的数据传输的延迟和数码管响应的延时。
如果按照我说的出现混乱,那是因为你并不是真正按照我说的去做。
给个示例:
P0=0xff;   /*消影,避免高速显示时的显示混乱*/
wela=1;
wela=0;
P0=table[1];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delayms(500);

P0=0xff;  /*每个前面都要*/
wela=1;
wela=0;
P0=table[2];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delayms(500);

P0=0xff;  /*每个前面都要*/
wela=1;
wela=0;
P0=table[3];
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
delayms(500);

...

不妨按照上面的格式修改一下你的代码看看效果
惜九
5楼-- · 2019-07-16 11:57
动态扫描显示的,如果按照你说的,第二位数码管之前消影的话,就不能同时显示两位数了。扫描频率达到一定数值后,人眼有影像滞后的,不会看到有乱显。你可以把显示放到中断里面,不停调用显示,不消影,无乱显

评分

参与人数 1威望 +10 收起 理由 zhou2sheng + 10 感谢您的参与,您的支持是我们最大的动力.

查看全部评分

sdut225
6楼-- · 2019-07-16 16:04
 精彩回答 2  元偷偷看……

一周热门 更多>