| ??? 02/10/01 12:39 Read: times |
#9175 - Address decoding for AT89C52 |
Dear experts, I'm using a AT89C52 micrcontroller and I wanted to interface another 32K Bytes of Eprom (27C256). As the controller itself has 8K flash in it. When I tied the EA pin to Vcc and it will fetch instructions from the flash. As the first 8K of program memory (0000h - 1FFFh) is inside the controller. Anything that's 2000h and above is external. So my Eprom memory range will be between (2000h - 9FFFh). The problem is that, when the controller wanted to continue fetch instructions from 2000h and above, A15 = 0, A14 = 0, A13 = 1 and A12 = 0. Because of A13 which is not zero and thus not pointing to the very first location of the Eprom. Thus some space (8K) is lost. Inorder not to lose that 8K of space in the Eprom, I have to do some address decoding to point to 0000h of the Eprom when the controller issue address of 2000h and so on. However, the problem with this method, it incurred alot of logic gates like AND, NOT, OR and etc. A14 (Eprom) = A15*/A13 + A14*A13 A13 (Eprom) = /A13 * (A14 + A15) A12 (Eprom) = A12 * (A15 + /A15) CS (Eprom) = A15*A14 + A15*A13 + A15*A14*/A13 *** / mean NOT and * means AND *** I felt that my method is pretty primitive. I'm wondering any of you has faced this problem and solve it in a much more elegant way ? Thanks a million inadvance ! Best Regards Andy |
| Topic | Author | Date |
| Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
| RE: Peter | 01/01/70 00:00 | |
| RE: Address decoding for AT89C52 | 01/01/70 00:00 | |
RE: George, Andy | 01/01/70 00:00 |



