Cartas para Examen - 3er Parcial Flashcards
¿Qué es el Temporizador o Timer?
Es el elemento encargado de determinar los intervalos
concretos de tiempo que, dicho sea de paso, es una de las labores más habituales de los programas de control de dispositivos.
¿Qué hace el Contador?
Cuenta los impulsos que se producen en el exterior del sistema.
¿Cómo actúa el temporizador/contador TMR0?
•Como Contador: incrementando un valor el registro por los impulsos que se aplican a la patita RA4/T0CKI. Al llegar este contador a 0xff se desborda y comienza de nuevo en 0x00, activando este evento un señalizador (bandera) y/o provocando una interrupción. Se aclara que la patita RA4/T0CKI solo puede actuar de una sola forma, ya sea como Contador o como el cuarto puerto de la puerta A; si se requiere el Contador, entonces el microcontrolador pierde una patita de E/S.
•Como Temporizador – incrementando un valor en el registro TMR0 por cada ciclo de instrucción (PC –
Contador del Programa) hasta que se desborda. Al llegar este contador a 0xff se desborda y comienza de nuevo en
0x00, activando este evento un señalizador (bandera) y/o provocando una interrupción.
¿Qué es el Registro Option y cuál es su misión?
Su misión principal es gobernar el TMR0 y al divisor de frecuencia (el divisor de frecuencia aumenta o disminuye la duración de los impulsos de reloj que incrementan los contadores y temporizadores, mediante un multiplicador, es decir estos pueden “desbordarse” en diferentes momentos, diferentes al
PC - contador del programa (Temporizador) o señales de sincronía externa (Contador).
Características del “PERRO GUARDIÁN”
(WDT – WATCH DOG TIMER)
Es OTRO Temporizador interno de 8 bits que origina un reset cada vez que se desborda.
* Su uso es opcional y puede bloquearse para que no
funcione programando el bit WDTE en la Palabra de Configuración.
* Por ser un Temporizador, este se incrementa con cada ciclo de instrucción (PC – Contador de Programa).
Para evitar que se desborde el Perro Guardián es necesario refrescar este contador mediante los comandos CLRWDT y SLEEP.
¿Que son los Registros de Función
Especial SFR?
Los SFR son todos aquellos registros encargados de
manejar el estado y el control del microcontrolador.
Tipos de Registros de Función
Especial SFR
EL REGISTRO PC:
* Program Counter - Es un registro de 8 bits, cuya misión es llevar la cuenta de la línea del programa que está en ejecución, en determinado momento. Nos dice en que línea vamos.
EL REGISTRO W:
* Work (Trabajo) - Es un registro de 8 bits, cuya misión es servir de repositorio donde se coloca por lo menos un
operando de una operación lógica o aritmética y puede servir para almacenar respuestas antes de enviarlas a memoria o a un actuador (PORT). Es una especie de Aduana por donde deben pasar los operandos y las
respuestas de cualquier instrucción u operación lógica o aritmética que se ejecute.
LAS PUERTAS DE E/S
Los PIC 16X8X tienen dos puertas de E/S
* Puerta A 5 puertos en RA0 al RA4 (uno
de ellos tiene doble función no concurrente RA4/T0CKI
- Puerta B 8 puertos en RB0 al RB7 (uno
de ellos tiene doble función no concurrente RB0/INT
LOS REGISTROS TRIS
EL REGISTRO TRISA
* Su misión es asignar la función (entrada o salida) de cada
puerto de la Puerta A
RA0 → RA4 – Designación de cada puerto de entrada o
salida
1 – Se asigna como puerto de entrada (conexión de
sensores)
0 – Se asigna como puerto de salida (conexión de
actuadores)
EL REGISTRO TRISB
* Su misión es asignar la función (entrada o salida) de cada
puerto de la Puerta B
RB0 → RB7 – Designación de cada puerto de entrada o
salida
1 – Se asigna como puerto de entrada (conexión de
sensores)
0 – Se asigna como puerto de salida (conexión de
actuadores)
LOS REGISTROS PORT
EL REGISTRO PORTA
* Su misión es indicar el estado de cada puerto de la
Puerta A
RA0 → RA4 – Designación de cada puerto de entrada o
salida
1 – hay un estado alto (ON) en ese puerto (recibe un
1 de sensores o envía un 1 a actuadores)
0 – hay un estado bajo (OFF) en ese puerto (recibe
un 0 de sensores o envía un 0 a actuadores)
EL REGISTRO PORTB
* Su misión es indicar el estado de cada puerto de la Puerta B
RB0 → RB7 – Designación de cada puerto de entrada o
salida
1 – hay un estado alto (ON) en ese puerto (recibe un
1 de sensores o envía un 1 a actuadores)
0 – hay un estado bajo (OFF) en ese puerto (recibe
un 0 de sensores o envía un 0 a actuadores)
¿Que significa la palabra de configuración?
Configuración:
* Es una posición de memoria reservada accesible únicamente durante el proceso de grabación. Es una especie de BIOS del microcontrolador.
Tipos de configuraciones de memoria reservada o BIOS del Microcontrolador
FOSC0 FOSC1 – Tipo de reloj de sincronía asignado
0 –> 0 - Oscilador LP
0 –> 1 - Oscilador XT
1 –> 0 - Oscilador HS
1 –> 1 - Oscilador RC
WDTE – Activación de Perro Guardián
1 – activado
0 – desactivado
PWRTE# – Activación de temporizador de “Power-up”. Este
temporizador retrasa 72 ms la puesta en marcha o reset que se produce
al energizar al microcontrolador, para garantizar que la alimentación
eléctrica sea estable – eliminando los primeros 72 ms de transientes.
1 – desactivado
0 – activado
CP – Code Protection – bits de protección de la memoria de código.
1 – no protegida
0 – protegida. El programa no se puede copiar. Evita copias.
Evita que la EEPROM de datos sea accedida. Si se
modifica algún bit 0 a 1, se borra completamente la
EEPROM
LA PALABRA DE IDENTIFICACIÓN
Otra posición reservada de memoria, accesible únicamente durante el proceso de grabación, donde se
almacenan valores tales como números de serie, códigos de identificación, números secuenciales, números aleatorios, fechas, nombres, etc.
- Son números que hacen a ese microcontrolador único e
identificable.
LA MEMORIA DE DATOS EEPROM
Los PIC 16X8X tienen 64 bytes de memoria EEPROM
donde se almacenan datos y variables que interesan no
se pierdan al desconectar la la alimentación eléctrica del
microcontrolador.
* Soportan 1,000,000 de ciclos de borrado y escritura y es
capaz de guardar información sin alterarla por más de 40
años.
* No esta mapeada en la zona de memoria donde están los
registros GPR, sino que están en la zona de los SFR.
Utiliza 4 registros
LA MEMORIA DE DATOS EEPROM
EEDATA - Registro donde se depositan los datos que se
leen o se escriben.
* EEADR - Registro donde se carga la dirección a acceder
a la EEPROM de datos. Va desde 0x00 hasta 0x7f
* EECON1 – Registro que contienen las misiones de
control de la EEPROM
* EECON2 – No está implementado físicamente. Siempre
está en “0”. Durante el proceso de escritura se carga
con 0x55 y 0xAA alternativamente como función de
seguridad
LA MEMORIA DE DATOS EEPROM
LA MEMORIA DE DATOS EEPROM
* Es muy importante supervisar el ciclo de escritura de
información en la EEPROM ya que esta tiene una
duración típica de 10 ms, que resulta ser demasiado larga
en comparación a la velocidad del procesador (1 a 10
MIPS). Por eso existen varios bits en EECON1 que
supervisan la correcta y completa terminación del ciclo de
escritura
EL REGISTRO EECON1
Registro que contienen las misiones de control de la
EEPROM
RD – Lectura (READ)
Se pone en 1 cuando se ejecuta un ciclo de lectura y
luego pasa a 0 automáticamente
WR – Escritura (WRITE)
Se pone en 1 cuando se ejecuta un ciclo de escritura
y luego pasa a 0 automáticamente
EL REGISTRO EECON1
WREN – Permiso de Escritura (Write Enable)
1 – Permite escritura en la EEPROM
0 - Prohíbe escritura en la EEPROM
WRERR – Señalizador de error en la escritura (Write Error)
1 – La operación de escritura ha concluido prematuramente
0 - La operación de escritura ha concluido correctamente
EEIF – Señalizador de final de operación de escritura en EEPROM
(EEPROM Interrupt Flag)
1 – Indica que la operación de escritura ha concluido con éxito.
Hay que ponerlo en 0 manualmente, por programa
0 - Indica que la operación de escritura no ha concluido con
éxito
INTERRUPCIONES
Existen dos tipos de desviaciones del flujo de
un programa:
* Síncronas – originadas por una instrucción y se ejecutan
en un momento conocido en el programa. Ejemplos son
CALL, GOSUB, etc.
* Asíncronas – Se ejecutan por diversos sucesos que no se
hayan supervisadas por instrucciones. Las hay:
– Externas – Provocadas por un cambio de nivel en alguna patita
del microcontrolador. Ejemplo – alguien oprimió un botón…
– Internas – provocadas por el desbordamiento de un contador o de
un temporizador.