GPIO (General Purpose Input Output) pins on a microprocessor can be configured as either inputs or outputs and can be enabled or disabled. As inputs, the pins can be read to determine high or low voltage levels, and as outputs, the pins can be written to drive high or low voltages. GPIO pins can also be configured to trigger interrupts on certain voltage changes to help trigger program responses. The functionality of GPIO pins is controlled through various registers that determine pin directions, read pin states, set output states, and configure interrupt behavior.