-
数码管的操作规范,首先,由于单片机是按顺序执行的(一次一条指令),所以在变化段要选择重影,对应的选位引脚没有变化,导致在很短的时间内某个位上出现两个数字(微观)的重叠。
这个问题在点阵屏中也会遇到,如何规避这个问题,其实很简单,我们可以建立数码管的操作规范。
规格:对于某次刷新(在点阵屏中,是行或列刷新),我们遵循以下顺序。
1. 关闭显示屏。
2.更改段落内容。
3. 打开显示屏。
例如,在您的示例中,在您的案例中,当选择位 = 0xff 时,显示是关闭的,而当相应的位打开时,显示是打开的(即,该位向下移动到下一个位)。
祝你好运,这种方法基本上可以解决任何情况下的重影问题,有时可能需要添加步骤4,延迟。
-
在更改显示内容之前,足以使选择无效。
-
更改显示时,足以使选择无效。
-
呵呵,这是个好问题。 这可以通过每次输入数据,然后打开数码管坐位,然后在稍作延迟后关闭所有坐位来完成。 每个显示器都是这样的,绝对没问题。
-
我没有看到你展示程序,所以我只能描述它。
选择每个位后,该位以 1 5ms 的延迟点亮,然后关闭位选择。 共阴极,延迟(3); p2=0x00;将位置控制设置为 P2
-
每次发送段选择数据后,在发送位选择数据之前需要添加一句“p0=0xff; 这种说法是“灭绝”。
写一个片段:dula=1;
p0=table[1];
dula=0;
p0=0xff;在发送数据之前关闭所有显示器wela=1;
p0=0xfe;
wela=0;
delayms(10);
到共阳极数码管)。
-
可以使用芯片74HC245,还有一些带消隐引脚的数字芯片,可以在线查看。
-
你可以清除数据,也可以清除位置,你看到差事。
-
方法如下:
每次发送段选择数据后,在发送位选择数据之前需要添加一句“p0=0xff; 这种说法是“灭绝”。
写一个片段:dula=1;
p0=table[1];
dula=0;
p0=0xff;在发送数据之前关闭所有显示器wela=1;
p0=0xfe;
wela=0;
delayms(10);
到共阳极数码管)。
-
可以将段计算机增加 1,第 11 个是 0x00 或 0xff,即不显示任何内容。
然后像这样显示之前的判断:返回。
if(answer: bai==0) bai=10;
对于十位数 if((bai==0)&&shi==0))shi=10;
-
这两个程序都将失败。 向郭大夏学习的少,那是商人,不是设计师。
他的程序,在更新选择之前,没有关闭选择,新的选择数据将显示在旧的选择上,然后消失。
你的程序,同样的方式。
另外,如果你知道如何计时器,你就不需要使用这个delay()函数,如果你养成了延迟的习惯,它很快就会成为你的缺陷。
-
通常使用循环显示方式,如果点阵低电平处于活动状态,则所有输入都设置为0xff
-
汗! 你们都知道动态需要去可视化,那么你为什么不考虑一下为什么动态需要去可视化呢?
动态湮灭是因为:这次显示的数据会短暂地出现在之前的数码管中。 从长远来看,以前的数码管上会有阴影。 需要运动功能减退(通过关闭位置选择或段选择)。
静态数码管,一般为一个。 没有数码管这样的东西。 如果是多位静态数码管,那么它们都是锁存的,数据互不影响。
也没有出现在前一位数字中的数据。 所以没有必要进行麻醉。
-
静态显示和动态显示的区别在于硬件电路。
如果你了解电路,你就会明白消隐问题。
我和你一样,我也在学单片机编程,首先要学C基础,我现在也在学C,看**学携带,我现在看夏老师的,感觉还不错,最吸引我的就是能听懂我在说什么,而且不累赘,简明扼要,才是关键所在。以前看过郝斌的《金文什么的》,康辉的也读过一点,觉得太深奥了,哪些是重点听不出来,分不清哪些是用的,什么没用,像我这样的初学者已经失去了学习的信心。
单片机是指单片机。 简单地说,它是一种集成了计算机所有功能的电路芯片。 方法:建议使用 Keil 的 C 语言和简单的 congreusance。 >>>More