??? 06/29/05 19:21 Read: times |
#96227 - Port 2 in memory access Responding to: ???'s previous message |
Jan Waclawek said:
Sasha Jevtic said:
But it is also possible to do MOVX with 8-bit indirect addressing (e.g., MOVX A,@R0). In this case, during the external memory access, port 2 is left in whatever state it was prior to the external memory access. If you require a particular value on port 2 (for a high address byte) when using this type of addressing, you must manually set port 2 prior to the move. True, true, but one more subtlety: while at the 16-bit external memory addressing (MOVC, MOVX @DPTR, program fetch) the whole PORT2 is output strong - both 0s and 1s; when doing the MOVX @Ri (8-bit addressing), PORT2 remains as usual, i.e. esentially open collector with the weak pullups. Jan Waclawek Most definitely. But, this all happens over the course of at least two instructions, so there's a significant amount of time for the pullup to do its job. That said, the use of a supplementary pullup on port 2 might not be a bad idea, especially if the system has a lot of external devices connected to port 2, serviing to further load the port and increase the rise time of the passive pullup. --Sasha Jevtic |
Topic | Author | Date |
function of 8051 pins | 01/01/70 00:00 | |
double functions | 01/01/70 00:00 | |
a requirement | 01/01/70 00:00 | |
Yeah... and it's really big too! :) | 01/01/70 00:00 | |
port0 | 01/01/70 00:00 | |
thanks | 01/01/70 00:00 | |
do not SHOUT | 01/01/70 00:00 | |
A couple more little things | 01/01/70 00:00 | |
PORT2 during MOVX @Ri | 01/01/70 00:00 | |
which should'nt be a problem | 01/01/70 00:00 | |
Same thought, almost same time | 01/01/70 00:00 | |
Port 2 in memory access | 01/01/70 00:00 | |
double function of SBUF | 01/01/70 00:00 | |
thank you jan waclawek![]() | 01/01/70 00:00 |