Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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


List of 21 messages in thread
TopicAuthorDate
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      

Back to Subject List