??? 03/28/11 14:55 Read: times |
#181655 - First of all Responding to: ???'s previous message |
First of all you did not tell about which actual chip part number you are trying to simulate. A proper simulator will mimic the behavior of each specific chip type that it supports.
There are then the variations on a theme of how 8051 port pins work.There are those parts that support only the originally defined by Intel quasi-bidirectional type of I/O pins. On the other hand many modern derivatives support an additional mode for the I/O pins that provides for push-pull outputs and for true Hi-Z type pins. That said lets talk a bit about the original type of pin design. This is the quasi-bidirectional type GPIO pin. This type operates in an way that INPUT is always input reading the current pin state. Output, if set to a "1" removes drive from the pin so that the ports internal pullup (and possible external parallel pullup [which is required for ports that are open drain only]) can take care of making the port pin high. In this state external logic can pull the port pin high and low and so it is possible to use this as also an "input" mode. On the output side of things if the pin is set to a "0" then the MCU pin driver will pull the port pin low. In this low state it is normally not possible to use the port pin for input because external logic cannot pull the pin high. If you are using (or simulating) a part that has the pin types with added functionality they you really need to carefully read the data sheet to understand how the port pin controls work. Michael Karas |
Topic | Author | Date |
problem with simulator? | 01/01/70 00:00 | |
First of all | 01/01/70 00:00 | |
normally? | 01/01/70 00:00 | |
RE: "normally" | 01/01/70 00:00 | |
just saw it | 01/01/70 00:00 | |
Erik | 01/01/70 00:00 | |
"bible time" | 01/01/70 00:00 | |
Thanks but.... | 01/01/70 00:00 | |
all the same | 01/01/70 00:00 | |
Learning requires study | 01/01/70 00:00 | |
a small correction | 01/01/70 00:00 | |
Thankyou | 01/01/70 00:00 | |
the chips listed .... | 01/01/70 00:00 | |
bit/byte addressing | 01/01/70 00:00 | |
"unknown label" | 01/01/70 00:00 | |
Use code tags | 01/01/70 00:00 | |
relative addressing | 01/01/70 00:00 | |
the Assembler tells you. | 01/01/70 00:00 | |
How would I find out if the labels are undefined? | 01/01/70 00:00 | |
nope | 01/01/70 00:00 | |
horribly wrong | 01/01/70 00:00 |