Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Los bits de cada puerto se configuran mediante los bits correspondientes de un registro
de control asociado que recibe el nombre de TRIS. En realidad cada puerto soporta dos
registros:
1. El registro de datos, al que se denomina Puerto A o B (PortA o PortB).
2º El registro de control TRISA o TRISB, con el que se programa el sentido (Entrada o
Salida) de las líneas de cada puerto.
Los Puertos A y B se corresponden con las posiciones 5 y 6 del área de datos. Cada uno
de sus bits puede programarse como una línea de Entrada o de Salida, según se ponga
un 1 ó un 0 en el bit del registro de control TRIS correspondiente.
Un 1 en el bit “x” del registro TRISA pone en alta impedancia (Entrada) la línea
asociada “x” del Puerto A. Si en el bit “x” de TRISA hubiese un 0, el contenido del
biestable de datos correspondiente del Puerto A pasaría a la patita de E/S externa.
Cualquier línea puede funcionar como Entrada o como Salida. Sin embargo, si actúa
como Entrada, la información que se introduce desde el exterior no se memoriza o
graba, pasa simplemente por un dispositivo triestado por lo cual el valor de dicha
información debe mantenerse hasta que sea leída. La lectura se realiza en “tiempo real”.
Cuando una patita de E/S funciona como salida, el bit que proviene del bus de datos se
guarda en el biestable del dato con lo cual la información que ofrece esta patita
permanece invariable hasta que se reescriba otro bit.
Para configurar la patita como Entrada, hay que cargar un 1 en el biestable de control de
E/S mientras que hay que cargar un 0 si se desea que sea Salida.
Cada línea de E/S de los puertos se programa de forma independiente y puede ser
Entrada o Salida. Cuando se produce un reset, todos los bits de los registros TRIS pasan
a tener el valor 1 y todas las líneas de E/S actúan como Entrada por evidentes motivos
de seguridad para evitar daños irreparables.
Los puertos que contienen entradas y salidas necesitan una atención especial al escribir
el programa. Instrucciones como bsf y bcf comienzan leyendo el valor del puerto y
cargándolo en el registro W; allí ejecutan la puesta a 1 ó a 0 del bit seleccionado y,
luego, depositan el registro W en el puerto. También hay que tener en cuenta las
modificaciones que se produzcan en las patitas que son entrada y pasan a salida, pues
pueden estar presentes datos antiguos en el registro de salida del puerto al ser
memorizados.
Hay que prestar mucha atención a las operaciones que, tras una lectura de un puerto.
Sigue una escritura de la misma. Se debe dejar pasar un tiempo determinado para que se
estabilice el voltaje de las patitas. Insertando entre la lectura y la escritura una
instrucción NOP o cualquier otra que no implique a los puertos, se eliminan estos
errores potenciales.