| ??? 10/23/07 17:56 Read: times |
#146094 - ... Responding to: ???'s previous message |
Richard Erlacher said:
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. Yes, I know that. 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? Have the programmer write data to an invalid address? and by invalid address, I mean where one bit of the address is tied to the Read line of the LCD, and it is set to active high. Please take another look at the schematic. lol, I looked at it like 50,000 times. I don't need to look again. 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. I know exactly how that section works, but that doesn't exactly apply to my issue. 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. So, What you just said is that these devices are not very user friendly. For all we know, someone could have the 8052 SBC fully assembled with an LCD (maybe bought from here on this site), and decided to write a program that outputs all highs on the data line to every single address in turn. I see that a data fight will happen at least at 16,384 addresses, just because one bit is tied to RW on the LCD. 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. yes! It's up to you, the programmer, to see to it that you don't cause such things to happen. Nothing like pressuring the programmer. Now that last comment is thoroughly ambiguous. How will a pullup resistor (that's one with one side tied to Vcc) help? Which device? Ok, my bad. I used the wrong term. The best way for me to describe this is to connect the data lines of the LCD to the data lines of the micro through 10K (or higher) resistors, so that if by chance, a data fight goes on, the resistor could suck up some of the power, making the negative effects of collision weaker. ... and by the way ... this circuit has been in wide circulation and usage for over a decade, with no serious faults reported. The reason why there may be no reported faults is because no one specifically makes the address line connected to RW on the LCD high, and writes data to the LCD at the same time. You must, however, understand how it works before you can expect to use it successfully. I agree. also, one must understand the possible disadvantages that rise within the circuit and deal with them before using it. Note that the R/w line is tied to an address, which limits the choices you have as to how to address the LCD. I understand. Russell earns points from me for good answer, because he immediately discovered my issue. |
| 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 |



