Entrada digital com problema

Olá pessoal, estou com o seguinte problema, estou fazendo um programa básico, que lê as portas digitais, e se alguma estiver com sinal, ele manda certa informação para a porta serial do PC, o problema é que quando uso a entrada digital 13, ele funciona certinho, porém, ao utilizar das outras portas, parece que quando dou um sinal, a porta continua precionada por um tempo, ou seja, quando aperto o botão da porta 13, só é enviado uma vez a informação, porém, ao precionar o botão da entrada 8 por exemplo, ele manda 5 ou 6 sinais até parar.

se alguém souber como ajudar, obrigado

Isso que você está tendo é o bouncing, ou vários sinais indesejados, de uma procurada por "unboucing", há várias soluções para isso.
De isso não ocorrer com frequência no pino 13, é que ele está ligado ao um DIODO, que no fim das contas, faz um unboucing para vc.

Deu certo, muito obrigado, na verdade achei alguns códigos, porém não funcionaram, ai foi só utilizar um led em cada botão, o polo positivo do led, liguei no botão, e o polo negativo liguei em um terra, obrigado.

Acho q se você usar os códigos de unbouncing, você não precisará de leds, a menos que você queira o feedback do botão, mas a solução dos leds não é 100% confiável.

o ideal é ler as entradas de x em x tempo e se durante dois ciclos, por exemplo, o sinal se mantiver mudado, asumir que já estabilizou.