Botões e Jumpers podem compartilhar as I/Os usando uma outra I/O para selecionar qual delas está sendo lida. Tanto botões e jumpers são ligados a um resistor pull-down compartilhado. Dessa forma eles lerão 0 a não ser que um botão seja pressionado ou um jumper conectado. Cada entrada (GP3/2/0) compartilha um jumper e um botão. Para ler os ajustes do jumper, ajuste GP4 como saída alta e cada jumper conectado será lido como 1 na sua porta I/O ou 0 se não for conectado. Com a saída GP4 baixa, um botão pressionado será lido como 1 na sua porta I/O e 0 de outra forma. A figura 1 mostra o circuito usado para esta aplicação.


Quando GP4 = 1 e nenhum botão pressionado, será lido o ajuste ID.
Quando gP4 = 0, as chaves serão lidas.