Bueno como dije antes hoy no es mi dia. Por fin lo solucione todo, lo de la distorsion, como ya indique antes y lo de definir nombre para cada pin de un puerto.
Lo del puerto no entiendo que estaba haciendo mal, pero finalmente lo puse como ponia remi04 en su ultimo comentario, pero cambiando el 0X83 por 0X81, que es la direccion del puerto b y todo anda bien.
Gracias a los dos por vuestra ayuda.
Saludos.