Professional Documents
Culture Documents
El microcontrolador PIC16F8X
Introduccin EEPROM
Caractersticas generales Caractersticas especiales de la CPU.
PIC16F8x. Palabra de configuracin.
Caractersticas generales. Seleccin del oscilador.
Encapsulado. Interrupciones.
Arquitectura bsica. WatchDog
El reloj y el ciclo de instruccin. SLEEP
Organizacin de la memoria. Proteccin de cdigo
El Banco de registros de propsito Localizaciones de ID
especial Programacin serial
STATUS Repertorio de instrucciones.
OPTIONS
INTCON
PC (program counter) (PCL, PCLATH)
La pila
Modos de direccionamiento.
Puertos
Timer/Counter
1
INTRODUCCIN
2
Introduccin (II)
Gamas
Los microcontroladores PIC se distribuyen en familias
Microchip offers four families of 8-bit RISC MCUs :
PIC12CXXX 8-pin,
Aqu la caracterstica principal parece ser el reducido tamao del chip
3
Introduccin (III)
4
MICROCONTROLADORES DE GAMA MEDIA PIC16F8X
Caractersticas generales
PIC16F8X
5
PIC16F8X Encapsulado
6
ARQUITECTURA BSICA
7
Arquitectura bsica (y II)
8
EL RELOJ Y EL CICLO DE INSTRUCCIN
10
ORGANIZACIN DE LA MEMORIA (II)
Memoria de programa
11
ORGANIZACIN DE LA MEMORIA(y III)
Se organiza en bancos.
En PIC16F8x: 2 bancos.
Cada banco admite hasta 128 bytes.
En PIC16F8x: 79 bytes.
Registros:
SFR
Banco 0: RP0=0 0x00 -> 0x0B
Banco 1: RP0=1 0x00 -> 0x0B
GPR
Banco 0: 0x0C -> 0x4F (68 bytes)
Banco 1: Mapeado completamente en el banco 0
12
REGISTROS DE FUNCIONES ESPECIALES (SFR)
13
REGISTRO DE ESTADO
14
Registro de opciones
15
Registro de control de interrupciones
16
EL CONTADOR DE PROGRAMA: PCL Y PCLATH
17
La Pila
COMENTARIO:
La pila solo tiene 8 niveles. Almacenar un noveno dato implica sustituir el primer dato
almacenado por el nuevo.
91; 10 2...
18
MODOS DE DIRECCIONAMIENTO DE LOS DATOS
En este modo, hay que mantener controlado el bit RP0. Observar que en la direccin
especificada en el cdigo slo aparecen los 7 bits menos significativos.(d es una indicacin
de dnde se almacena el resultado)
19
Modos de direccionamiento (II)
Nota: Observar que en este modo en FSR se especifican los 8 bits de la direccin, donde el bit 7 est
indicando el banco de memoria.
20
Direccionamiento directo/indirecto
21
PUERTOS DE ENTRADA-SALIDA (I):
Para configurar cada lnea como entrada o salida se modifica su bit correspondiente
en el registro TRIS del puerto asociado: TRIS A, TRIS B (85h y 86h en RAM)
1 lnea configurada como entrada
0 lnea configurada como salida
22
Puertos de entrada-salida (II)
Puerto A
23
Puertos de entrada-salida (III)
Puerto B
24
Puertos de entrada-salida (IV)
Consideraciones de programacin.
25
Timer/counter (I)
26
Timer/Counter(II)
27
Timer/Counter(III)
Modo Timer
Para seleccionar el modo Timer hay que limpiar el bit TOCS del registro de opciones.
En este modo se incrementa TMR0 en cada ciclo de instruccin.
Si TMR0 es escrito, se inhibe el incremento en los dos siguientes ciclos
28
Timer/Counter (IV)
Modo Contador
Para activar este modo hay que activar el bit TOCS del registro de opciones.
En este modo, TMR0 se incremente con cada flanco de la seal que llega por RA4/TOCKI.
Esta seal debe cumplir algunos requerimientos si se quiere asegurar su buen
funcionamiento: mnima duracin de semiperiodo 2 TOSC
29
Timer/Counter (V)
Prescaler
El prescaler es un divisor de frecuencia programable. (Registro de opciones)
Comparte funcin con el WatchDog.
En modo counter, su funcin es dividir la frecuencia de la seal de entrada, el resultado de
lo cual ser el estmulo del contador. (El contador se incrementa en flancos de reloj de la
seal dividida)
Cuando se usa prescaler los requerimientos de la seal de entrada varan: 4TOSC/divisin.
30
EEPROM (I)
Una escritura sigue un proceso de borrado del datos anterior e implantacin del
nuevo dato.
La EEPROM no est mapeada en RAM, por lo que todos los accesos se deben
realizar de forma indirecta
31
EEPROM (II)
EECON1
32
EEPROM (III)
Lecturas:
Cargar en EEADR la direccin.
Activar RD en EECON1
En el siguiente ciclo (accesible a la siguiente instruccin) se encuentra el dato en EEDATA.
Escrituras:
Cargar en EEADR la direccin.
Cargar en EEDATA el dato.
Habilitar WREN en EECON1
Deshabilitar interrupciones.
Seguir la siguiente secuencia estrictamente para cada byte:
Escribir 55h en EECON2
Escribir AAh en EECON2
Activar WR en EECON1
Deshabilitar WREN.
Habilitar interrupciones.
Esperar. (La escritura se habr realizado cuando WR vuelva a cero y EEIF se active.)
33
CARACTERSTICAS ESPECIALES DE LA CPU
PALABRA DE CONFIGURACIN
CIRCUITO OSCILADOR
RESET
Power-on Reset (POR)
Power-up Timer (PWRT)
Oscillator Start-up Timer
INTERRUPCIONES
PERRO GUARDIN O WATCHDOG (WDT)
BAJO CONSUMO O SLEEP
CDIGO DE PROTECCIN
POSICIONES DE IDENTIFICACIN O ID LOCATIONS
PROGRAMACIN EN CIRCUITO
34
PALABRA DE CONFIGURACIN
35
CIRCUITO OSCILADOR
36
CIRCUITO DE RESET
37
DIAGRAMAS DE TIEMPO DEL RESET (I)
38
DIAGRAMAS DE TIEMPO DEL RESET (II)
39
INTERRUPCIONES
40
DIAGRAMA DE TIEMPOS:
INTERRUPCIN RB0/INT
41
SALVADO DEL CONTEXTO DURANTE LAS INTERRUPCIONES
42
EL PERRO GUARDIN (WATCHDOG)
43
SLEEP
Nota: cuando las interrupciones estn deshabilitadas, pero el flag de habilitacin de cualquier fuente de
interrupcin est activo y el bit de interrupcin tambin est activo antes de la llamada a SLEEP, este se
comporta como un NOP
44
ARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES
45
REPERTORIO DE INSTRUCCIONES
46