pic Jul. 2016 | Page 55

Ejecute el programa en modo simulación y observe detalladamente como funciona. Recuerde que con la misma dirección de registro referenciamos al puerto y a su tris; todo depende del valor del 5º bit del registro STATUS, que cambia el banco de datos. Con el goto final nos aseguramos que la rutina se ejecute constantemente, atendiendo a las posibles nuevas entradas. Observe mediante el simulador la imposibilidad de cambiar el valor del PORTA, intentando alterar el valor de su dirección de memoria, puesto que es una entrada y depende sólo de valores eléctricos. En cambio sobre PORTB (salida) sí podremos. Observe también como trisa no queda con el valor 0xff, tal y como sería aparentemente lógico, sino con el 0x1f, ya que los pins que quedan a 0 no están implementados (el puerto A sólo tiene 5 entradas). Por último observe la diferencia entre el valor del inspector (el watch) en mayúsculas (TRISA) y el minúsculas (trisa). En mayúsculas TRISA referencia siempre a la dirección de registro 0x05, y variará según el banco al que apunte ESTADO, puesto que ha sido definida como variable. Se la puede modificar por programa. En minúsculas trisa es una variable interna que referencia al banco 1 (dirección 0x85) y no referenciable por programa, De hecho es la única manera de 53