====== I/O on the 8051 ======
The 8051 has 4 GPIO 8-bit ports.
===== Output =====
To write an output to a port, just move some data to that port's register.
mov P1, A ; Output the contents of the accumulator on port 1.
Individual bits of ports can also be set or cleared.
clr P1.0 ; Output high on the 0th pin of port 1.
setb P1.0 ; Output low on the 0th pin of port 1.
===== Input =====
**Before reading from an input pin, the pin MUST be set to high in order to prevent a short circuit.**
After setting the pins to high, the inputs can be read by reading the port's register.
mov P1, #0FFh ; Set all pins of port 1 to high.
mov A, P1 ; Move the input data on port 1 to the accumulator.