Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Flash(F)
ó RAM
ROM(CR)
GPR (68x8)
RP0
Memoria de programa
(1Kx14bits) y Pila (8x13bits)
El PIC16x84 sólo tiene implementadas
las primeras 1024 posiciones de las 8K
posibles del mapa de memoria
WRITE Port
Bus_DATOS
Bus_DATOS
Una línea de salida mantienen sus valores entre escrituras consecutivas. La línea se
actualiza al final del correspondiente ciclo de instrucción.
Cuando actúa como entrada, su valor se lee al inicio del ciclo de instrucción: con el
flanco ascendente del segundo pulso de reloj (Q2), debiendo mantenerse constante
cierto tiempo antes y después de este flanco.
Control de los puertos de E/S
Cada línea de los puertos A y B puede configurarse individualmente como entrada o
como salida, con los correspondientes bits de los registros TRISA y TRISB.
Inicialmente, o tras un reset, están configuradas como entradas.
Además, mediante bits específicos de los registros OPTION e INTCON se configura la
funcionalidad de ciertas líneas de los puertos A y de B que están multiplexadas para varios usos.
EJEMPLO en ensamblador: configuración de las dos líneas menos
significativas de A como entradas, y el resto como salidas:
bsf 0x03, 5 ; bit RP0 de STATUS a 1: se apunta al banco 1
movlw 0x03 ; valor en W para configuración del puerto
movwf 0x05 ; escritura en registro de configuración TRISA
Circuito completo
TIMER0+WDT:
El perro guardián (WDT) en el 16X84:
La actuación del WDT puede estar siempre bloqueada fijando el bit WDTE=0
en la palabra de configuración del PIC (al grabarlo). Si no está bloqueado,
debe ser reiniciado a intervalos de tiempo inferiores al de desbordamiento
(las instrucciones CLRWDT y SLEEP reinician el WDT y el divisor de
frecuencia o post-scaler).