Isso de mudar para saída,acionar depois entrada é uma ótima ideia.
Em outro programa que eu fiz tinha que usar interrupção para fazer a varredura dos displays 7 segmentos, e o que eu fiz, dentro dessa interrupção eu passava todo o port para entrada, lia ele e passava para uma variável int depois para saida novamente, então eu lia os bits para saber qual botão foi acionado, deu tudo certo sem problemas de interferência, mas ae houve a necessidade de colocar um controlador de temperatura para atuar sobre um contator para ligar a resistência, e ai de vez em quando o contator ligava acionava o botão de inicio, como se ele tivesse sido pressionado.
Depois esse projeto ficou parado, agora estou querendo fazer uma placa já com controlador de temperatura e toda a lógica da máquina.
Mas ae entra outra dificuldade, o controle tem que ser PID, andei estudando o algoritmo dele mas é que tem que ajustar, alguma dica?