| ??? 10/23/07 00:07 Modified: 10/23/07 00:16 Read: times |
#146028 - It should be ... Responding to: ???'s previous message |
Mike Stegmaier said:
I understand the operation.
The problem I have is with the output of the NOR gate connected to LCD's "E" line. The E line is a positive-going signal. That means that the LCD's I/O channel is active only if there's a valid cycle in progress AND the LCD is selected. It may work just fine, BUT, what would happen if the "E" line was active (set to high), and the RW line of the LCD is set to Read (high), and the WR line of the micro is active low? ... and just how do you suppose that would happen? Please take another look at the schematic. That NOR gate is actually a negative-logic AND, i.e. its output goes high to assert a true 'E' strobe only when both inputs are LOW. One of the inputs is from the active-low-output HC138, which is, itself, enabled by the concurrence of A(15..11) high. That's the topmost 2KB. That region is further subdivided into 8 blocks of 256 bytes by the '138. If you, the programmer, are foolish enough to write somewhere within the same region that the so-decoded LCD occupies, then you get what you deserve. The ONLY condition, aside from some very strange hardware failure, that would cause that to happen, would be a write to that region of external memory space. wouldn't there be a problem? It's up to you, the programmer, to see to it that you don't cause such things to happen. I think so because the data is being output from the 8051 at the same time it is being output from the LCD just because LCD's RW line is set to Read data.
The only way I can see it not as a problem is if the output of one device is fed through pull-up resistors Now that last comment is thoroughly ambiguous. How will a pullup resistor (that's one with one side tied to Vcc) help? Which device? ... and there, aside from the ambiguity in your last comment, you have your explanation! ... and by the way ... this circuit has been in wide circulation and usage for over a decade, with no serious faults reported. I don't like the fact that it still uses the old 8255, but that's a valid choice, regardless of whether one likes it or not. You must, however, understand how it works before you can expect to use it successfully. Note that the R/w line is tied to an address, which limits the choices you have as to how to address the LCD. RE |
| Topic | Author | Date |
| I\'m debating this 8052 circuit... | 01/01/70 00:00 | |
| Do you understand why that was done? | 01/01/70 00:00 | |
| I understand, but my debate is not solved. | 01/01/70 00:00 | |
| Avoid the situation! | 01/01/70 00:00 | |
| It should be ... | 01/01/70 00:00 | |
| ... | 01/01/70 00:00 | |
| startup.a51 will do just that unless modified | 01/01/70 00:00 | |
| What's a "startup.a51" | 01/01/70 00:00 | |
| C startup | 01/01/70 00:00 | |
| and if I use my own code... | 01/01/70 00:00 | |
| If you're smart enough to do that ... | 01/01/70 00:00 | |
| MMIO | 01/01/70 00:00 | |
| yes, at osc/12 it's 1 MHz ... but ... | 01/01/70 00:00 | |
| ... | 01/01/70 00:00 | |
| that's crazy | 01/01/70 00:00 | |
| Why worry? | 01/01/70 00:00 | |
| polls? | 01/01/70 00:00 | |
| If you want it to be high-speed, you won't use LCD | 01/01/70 00:00 | |
| experiment with the obvious | 01/01/70 00:00 | |
| Complexity | 01/01/70 00:00 | |
| I think! | 01/01/70 00:00 | |
| If only that were true ... | 01/01/70 00:00 | |
| Think? | 01/01/70 00:00 | |
| ok | 01/01/70 00:00 | |
| Not a matter of guessing.. | 01/01/70 00:00 | |
careful now! | 01/01/70 00:00 | |
| ASM | 01/01/70 00:00 |



