??? 04/04/07 22:18 Read: times |
#136632 - answer Responding to: ???'s previous message |
My circuit is configured so that I can use a parallel port to directly access any 16-bit address that the microprocessor can address. 1 control pin enables the high-address latch (A8 to A15) and 1 control pin enables the low-address latch that is shared with the microcontroller (A0 to A7). ALE is overridden, and the processor is stuck in reset (intentionally) when programming takes place.
1 control pin determines whether programming takes place, or not. I call it "master reset". If this pin is not active, then no programming takes place, and the parallel port is effectively "disconnected". Although I have no status ports in use, the way I verify that everything works is that I send the code in programming mode, and then watch the CPU go to work. What I noticed is that in order to successfully program a byte into the eeprom, I had to write a byte to it (bit set low) for 100 or so microseconds, and then I set the bit high, but it must remain high for at least 1/2 a second. Once again, timing can control alot. my design does not involve tying PSEN and RD together with an AND gate, because I think the system won't work due to excessive track lengths. I also use single-sided boards, and the more parts I add, the longer the wire lengths (most likely). |
Topic | Author | Date |
My board works! | 01/01/70 00:00 | |
You may eventually find ... | 01/01/70 00:00 | |
answer | 01/01/70 00:00 | |
How'd you do it? | 01/01/70 00:00 | |
i knew it | 01/01/70 00:00 | |
Are you sure you aren\'t looking in the wrong place | 01/01/70 00:00 | |
. | 01/01/70 00:00 | |
Be sure to adhere to standard syntax | 01/01/70 00:00 | |
free assembler | 01/01/70 00:00 | |
10 lines of code to transfer a string![]() | 01/01/70 00:00 | |
Congrats! | 01/01/70 00:00 |