As a hobby project, I recently modified the behavior of my microwave oven to remove a minor annoyance from my life, and that required installing an Arduino circuit to detect when the cooking countdown reached one second, and then pressing the Stop button, so not letting it terminate normally. The main difficulty was figuring out how the oven firmware was driving the display. The answer was something I haven't seen before, and which to my mind offers no advantage. So I'm wondering what I've missed.
Not counting the colon in the middle, there are four common anode lines and seven segment lines, so it's just a normal 7-digit LED display. The driving algorithm drives the four CA lines in succession, but it does that twice to do a full refresh. The first time, it displays only the A, B , C and D segments. On the second round it does the E, F, and G segments, plus the colon. Each CA line is on for 1ms.
I'm trying to understand why the Magic Chef engineer would have done it that way, but I can't come up with a reason that's better than simply multiplexing by digit, as God intended us to do. Or possibly multiplexing by segment, as I've been known to do when God wasn't looking.
So in regular multiplexing by digit, each segment is turned on 1/4 of the time. As my oven does it, each segment is on 1/8 of the time. My understanding has been that the brightness of a segment to the human eye is a function of the average current driving it. If that's true, then the current through an oven segment has to be twice as much when lit as in the normal by-digit method. So both the average current and the maximum current are the same to achieve the same brightness.
So why bother to do it that way? In addition to the brightness and current issues, there's also the issue of flicker. But again, the oven method would seem to offer no benefit.
Well, since some engineering effort must have been required to come up with the oven method, I have to assume there is some benefit, and I'm just not thinking about it right. Can someone explain it? I mean, if this is a better method, I'd like to use it in the future.