Está en la página 1de 10

APNDICE

Gua rpida del PIC12F508

INTRODUCCIN
Cuando se est desarrollando un diseo tanto del hardware como del software conviene tener a mano las principales caractersticas del microcontrolador que se emplea. La gua rpida proporciona un resumen de la informacin ms importante del dispositivo y facilita, entre otras cosas, el nmero que corresponde a una patita, el bit especfico de un registro, los sealizadores a los que afecta una instruccin, etc. A continuacin, se presentan las caractersticas relevantes del PIC12F508.

CARACTERSTICAS GENERALES
En la tabla de la Figura A.1 se muestran las caractersticas representativas de PIC12F508.
PIC12F508 Memoria Reloj Perifricos Prestaciones De programa tipo FLASH De datos tipo RAM Frecuencia mx de funcionamiento Temporizador Despertar de sleep por cambio en una patita Patitas E/S Patita de entrada Resistencias pull-up internas Programacin serie en circuito Repertorio de instrucciones Tamao de los datos Encapsulados Coste Volumen Consumo 512 12 25 8 4 MHz TMR0 de 8 bits S 5 1 S S 33 de 12 bits 8 bits PDIP, SOIC y MSOP (8 patitas) Muy bajo (<0,5 ) Muy bajo (<mosca) Muy bajo (<350 A/2 V/4 MHz)

Ventajas

Figura A.1. Tabla que recoge las caractersticas fundamentales del PIC12F508.

MICROCONTROLADORES PIC. DISEO PRCTICO DE APLICACIONES

Otras caractersticas complementarias son las siguientes:


Oscilador interno de precisin de 4 MHz. Proteccin del cdigo del programa ante lecturas. Todas las instrucciones se ejecutan en un ciclo de instruccin (4 Tosc) menos las de salto, que duran el doble. Pila de dos niveles. Grabacin de la memoria FLASHen serie (ICSP) con recursos para la depuracin en circuito (ICD). Perro Guardin con oscilador RC integrado. Temporizador de 8 bits.

DIAGRAMA DE CONEXIONES
El diagrama de conexionado de las patitas del PIC12F508, que coincide con el del PIC12F509, se muestra en la Figura A.2. La tabla de la Figura A.3 muestra la misin de cada una de las patitas del PIC12F508/509.

Figura A.2. Diagrama de conexiones del PIC12F508 y del PIC12F509.

GUA RPIDA DEL PIC12 F508 Nombre GP0/ICSPDAT Funcin GPO Entrada TTL Salida CMOS Descripcin

Lnea de E/S bidireccional. Puede programarse con resistencia pull-up interna y salida del modo sleep por cambio de estado. Lnea de datos serie en la programacin de la memoria FLASH mediante ICSP. Lnea de E/S bidireccional. Puede programarse con resistencia pull-up interna y salida del modo sleep por cambio de estado. Lnea de reloj en la programacin ICSP. Lnea de E/S bidireccional. Puede programarse con resistencia pull-up interna y salida del modo sleep por cambio de estado. Entrada de reset. Cuando se configura como MCLR#, genera reset por nivel 0 y siempre dispone de resistencia pull-up. La tensin en esta patita no debe ser superior a VDD durante el funcionamiento normal del dispositivo, de lo contrario entra en el modo de programacin. Entrada de tensin VPP en el modo de grabacin (12,8 V).

ICSPDAT GP1/ICSPCLK GP1

ST TTL

CMOS CMOS

ICSPCLK GP3/MCLR#/VPP GP3

ST TTL

CMOS

MCLR#

ST

VPP GP4/OSC2 GP4 OSC2 GP5/OSC1/CLKIN GP5 OSC1 CLKIN VDD GND VDD GND

HV TTL CMOS XTAL TTL XTAL ST P P CMOS

Lnea de E/S bidireccional. Conexin de salida con el cristal o resonador en los modos de oscilador XT y LP. Lnea de E/S bidireccional. Conexin de entrada con el cristal del oscilador. Entrada de reloj externo de trabajo Entrada del positivo de alimentacin. Entrada de la tierra de alimentacin.

Figura A.3. Descripcin de las funciones de las patitas del PIC12F508/509.

MICROCONTROLADORES PIC. DISEO PRCTICO DE APLICACIONES

ARQUITECTURA INTERNA
En la Figura A.4 se ofrece el esquema de la arquitectura interna del PIC12F508.

Figura A.4. Arquitectura interna del PIC12F508.

MEMORIA DE PROGRAMA
El PIC12F508 tiene implementado en FLASH una memoria de programa de 512 palabras de 12 bits cada una. El direccionamiento de la instruccin en curso corre a cargo del PC, que est asociado a una Pila con dos niveles (Fig. A.5). Conviene recordar que cuando se produce un reset en el PIC12F508, se ejecuta la instruccin de la ltima posicin (01FF h) de la memoria que viene grabada de fbrica con un valor XX (movlw 0xXX), que hay que cargar en el registro de calibracin (OSCCAL) para asegurar la frecuencia de funcionamiento del oscilador interno de 4 MHz.

GUA RPIDA DEL PIC12 F508

Figura A.5. Estructura de la memoria de programa del PIC12F508. Los modelos PIC12F509 y PIC16F505 tienen el doble de capacidad.

MEMORIA DE DATOS
Es de tipo RAM y ocupa treinta y dos posiciones o registros de 8 bits de longitud cada uno, desde la direccin 00 h a la 1F h. Los siete primeros registros son los especficos (SFR) y los veinticinco restantes los de propsito general (GPR) (Fig. A.6.

Figura A.6. Estructura de la memoria de datos RAM del PIC12F508.

MICROCONTROLADORES PIC. DISEO PRCTICO DE APLICACIONES

REGISTROS ESPECFICOS DE CONTROL STATUS: Registro de Estado


Contiene los bits sealizadores que informan aspectos del estado del procesador cuando se ejecuta una instruccin (Fig. A.7).

Figura A.7. Estructura interna del Registro de Estado (STATUS).

GPWUF: Es un bit de STATUS que cuando vale 1 indica que se ha producido un reset por cambio de estado en una patita de entrada. PA0: Bit que selecciona una pgina de 512 posiciones de la memoria de programa. PD#: Se activa y se pone a 0 cuando el procesador entra en modo de bajo consumo tras ejecutar una instruccin SEP. TO#: Se activa y se pone a 0 cuando se desborda el WDT y se produce reset. Z: Se pone a 1 cuando el resultado de la instrucin ejecutada es 0. DC: Acarreo/llevada en el cuarto bit del resultado. C: Acarreo/llevada en el octavo bit del resultado.

OSCCAL: Registro de calibracin del oscilador interno


En este registro hay que cargar el valor XX, que viene grabado de fbrica, en la ltima posicin de la memoria de programa (movlw 0xXX) que se ejecuta en el reset.

Figura A.8. Estructura del registro de calibracin en el que se guarda el valor XX, que viene grabado de fbrica, en la ltima posicin de la memoria de programa.

Los 6 bits de menos peso de este registro se corresponden con el valor que tienen las lneas de E/S GP5-GP0, respectivamente.

Figura A.9. En el PIC12F508, el registro GPIO o PORTB contiene 6 bits vlidos que se relacionan con las seis lneas de E/S.

GUA RPIDA DEL PIC12 F508

OPTION: Registro del control de TMR0


El TMR0 es un contador ascendente de 8 bits que evoluciona con los impulsos de reloj que recibe y que se desborda al pasar del valor 1111 1111 al 0000 0000. Contiene un predivisor de frecuencia o preescaler que lo comparte con el WDT (Fig. A.10).

Figura A.10. Estructura interna del TMR0.

Figura A.11. Distribucin de los bits del registro OPTION.

PS2, PS1, PS0: Eligen el rango de divisin de los impulsos de reloj del predivisor. PSA: Asigna el predivisor de frecuencia al TMR0 (0) o al WDT (1). T0SE: Selecciona el flanco en que se produce el contaje: 1, descendente. y 0, ascendente. T0CS: Si vale 0, los impulsos proceden del oscilador interno (Fosc/4), y si vale 1, se introducen desde el exterior por la patita GP2/T0CKI. GPPU#: Si vale 0, el procesador despierta del modo de reposo cuando cambia de estado una de las lneas de entrada GP0, GP1 o GP3. GPWU#: Cuando vale 1, las lneas GP0, GP1 y GP3, si son entrada, disponen de una resistencia pull-up.

PALABRA DE CONFIGURACIN
Es una posicin de la memoria de programa que slo es accesible al grabar el microcontrolador (Fig. A.12).

Figura A.12. Distribucin de los 5 bits vlidos de la palabra de configuracin.

MICROCONTROLADORES PIC. DISEO PRCTICO DE APLICACIONES

MCLRE: Control de la funcin de la patita GP3/MCLR#. Si vale 1, acta como MCLR#, y si vale 0, como GP3. CP#: Proteccin de cdigo. Cuando vale 0, hay proteccin del cdigo ante lectura. WDTE: Si vale 1 el WDT funciona, y si vale 0, no. FOSC<1:0>: Seleccin del tipo de oscilador. 11: EXTRC (externo); 10: INTRC (interno) 01: XT, y 00: LP.

REPERTORIO DE INSTRUCCIONES
En la Figura A.13 se presentan los nemnicos y las principales caractersticas de las treinta y tres instrucciones de los PIC de la gama bsica, entre los que se encuentra el PIC12F508.
INSTRUCCIONES ORIENTADAS AL MANEJO DE BYTES Nemnico operandos ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ IORWF MOVF NOP RLF RRF SUBWF SWAPF Descripcin Ciclos 1 1 1 1 1 1 1o2 1 1o2 1 1 1 1 1 1 1 1 Formato 12 bits MSb LSb 0001 11df ffff 0001 01df ffff 0000 011f ffff 0000 0100 0000 0010 01df ffff 0000 11df ffff 0010 11df ffff 0010 10df ffff 0011 11df ffff 0001 00df ffff 0010 00df ffff 0000 001f ffff 0000 0000 0000 0011 01df ffff 0011 00df ffff 0000 10df ffff 0011 10df ffff Bits afectados Notas STATUS C, DC, Z Z Z Z Z Z Ninguno Z Ninguno Z Z Ninguno Ninguno C C C, DC, Z Ninguno 2, 4 2, 4 1, 2, 4 2, 4 2, 4 2, 4 2, 4 2, 4 2, 4 2, 4 1, 4 1, 2, 4 2, 4 4

f,d Suma W y f f,d Operacin lgica AND de W y f f Establece f a ceros Establece W a ceros

f,d Complementa f f,d Decrementa f f,d Decrementa f y salta si cero f,d Incrementa f f,d Incrementa f y salta si cero f,d Operacin lgica OR de Wyf f,d Mueve f a d Mueve W a f No operar

MOVFW f

f,d Rotar a izquierda a travs del acarreo f,d Rotar a derecha a travs del acarreo f,d Resta W de f f,d Intercambia f y d

GUA RPIDA DEL PIC12 F508

XORWF

f,d Operacin lgica OR exclusiva de W y f

0001 10df ffff

2,4

INSTRUCCIONES ORIENTADAS A MANEJO DE BITS Nemnico operandos BCF BSF BTFSC BTFSS Descripcin Ciclos 1 1 1o2 1o2 Formato 12 bits MSb LSb 0100 bbbf ffff 0101 bbbf ffff 0110 bbbf ffff 0111 bbbf ffff Bits afectados Notas STATUS Ninguno Ninguno Ninguno Ninguno 2, 4 2, 4

f,b Borrar el bit b de f f,b Establece a 1 el bit b de f f,b Brinca si el bit b de f es cero f,b Brinca si el bit b de f es uno k k k k k k f k AND entre W y el literal k Llamada a subrutina Refrescar Perro Guardin Salto incondicional Operacin lgica OR con el literal k Mueve el literal a W Carga el registro OPTION Retorno subrutina, devuelve k en W Entra en modo sleep Carga el registro TRIS OR exclusiva con W y el literal k

INSTRUCCIONES DE CONTROL Y DE MANEJO DE LITERALES ANDLW CALL GOTO IORLW MOVLW RETLW SLEEP TRIS XORLW 1 2 1 2 1 1 1 2 1 1 1 1110 kkkk kkkk 1001 kkkk kkkk 0000 0000 0100 101k kkkk kkkk 1101 kkkk kkkk 1100 kkkk kkkk 0000 0000 0010 1000 kkkk kkkk 0000 0000 0011 0000 0000 0fff 1111 kkkk kkkk Z Ninguno TO#, PD# Ninguno Z Ninguno Ninguno Ninguno TO#,PD# Ninguno Z 3 1

CLRWDT

OPTION

Notas: 1. El noveno bit del contador de programa es puesto a 0 por cualquier instruccin que modifique el valor del PC excepto la instruccin GOTO. 2. Cuando un registro de E/S se modifica a si mismo (por ejemplo, MOVF PORTB,1), el valor usado es que est presente en los propios pines. Por ejemplo, si el registro de datos tiene puesto a 1 un pin configurado como entrada y es cambiado a nivel bajo por un dispositivo externo, el dato ser escrito con un 0. 3. La instruccin TRIS f, donde f es igual a 6, provoca que el contenido del registro W sea escrito en los registros tri-estados de la puerta B (PORTB). Un 1 pone el pin en un estado de alta impedancia y deshabilita los buffers de salida. 4. Si esta instruccin es ejecutada en el registro TMR0 (y donde sea aplicable, d=1), el preescaler ser puesto a 0.

Figura A.13. Principales caractersticas de las treinta y tres instrucciones del PIC12F508 de la g gama bsica.

También podría gustarte