Está en la página 1de 21

CENTRO ESCOLAR INSA BACHILLERATO TCNICO INDUSTRIAL OPCIN ELECTRNICA

INFORME DEL PIC 16F84A

ING. JOSE FRANCISCO ANDALUZ GUZMAN

GRUPO #4

INTEGRANTES:

JOS LUIS OSORIO MORN JAIME ANDRS ALEMN ZALDVAR ABRAHAM JOS LVAREZ GARCA

INTRODUCCIN

NDICE

o o

Caractersticas del PIC16F84A Disposicin y descripcin de patillas Disposicin de patillas Descripcin de patillas Arquitectura interna Memoria de programa Memoria de datos El direccionamiento Direccionamiento Direccionamiento Direccionamiento Direccionamiento

o o o o

Inmediato Directo bit a bit Indirecto

o o

Memoria de datos EEPROM Uso de la EEPROM Lectura de la memoria EEPROM Escritura de la memoria EEPROM Verificacin de la escritura Rutinas EEPROM Puertos de E/S Puerto A Puerto B Configuracin de los puertos de Entrada/Salida Lmite de corriente para los puertos Temporizador/Contador TMR0 El Prescaler Encapsulado y marcado del PIC16F84A

OBJETIVOS

Caractersticas del PIC16F84A


En esta parte estudiaremos la estructura del PIC16F84A con el fin de entender mejor su funcionamiento. Empezaremos con una relacin de sus principales caractersticas: Repertorio de 35 Instrucciones. Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos. Memoria de programa Flash de 1 K x 14 bits. Memoria RAM dividida en 2 reas: 22 registros de propsito especfico (SFR) y 68 de propsito general (GPR) como memoria de datos. 15 registros de funciones especiales. Memoria de datos RAM de 68 bytes (68 registros de proposito general). Memoria de datos EEPROM de 64 bytes. Contador de programa de 13 bit (lo que en teora permitira direccionar 4 KB de memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada). Modos de direccionamiento directo, indirecto y relativo. ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio cdigo de instruccin. 4 fuentes de interrupciones: A travs del pin RB0/INT. Desbordamiento del temporizador TMR0. Interrupcin por cambio de estado de los pins 4:7 del Puerto B. Completada la escritura de la memoria EEPROM.

1.000.000 de ciclos de borrado/escritura de la memoria EEPROM. 40 aos de retencin de la memoria EEPROM. 13 pins de E/S con control individual de direccin. PortA de 5 bits <RA0:RA4>. PortB de 8 bits <RB0:RB7>. Contador/Temporizador TMR0 de 8 bits con divisor programable. Proteccin de cdigo. Modo de bajo consumo SLEEP. Puede operar bajo 4 modos diferentes de oscilador. Programacin en serie a travs de dos pins. Tecnologa de baja potencia y alta velocidad CMOS Flash/EEPROM.

Disposicin y descripcin de patillas


Disposicin de patillas
Disposicin de patillas para encapsulado DIL 18:

Descripcin de patillas
Nombre OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 Vss Vdd N 16 15 4 17 18 1 2 3 6 7 8 9 10 11 12 13 5 14 Tipo I O I/P I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O P P Descripcin Entrada del oscilador a cristal/Entrada de la fuente de reloj externa Salida del oscilador a cristal. En el modo RC, es una salida con una frecuencia de OSC1 Reset/Entrada del voltaje de programacin. Puerto A bidireccional, bit 0 Puerto A bidireccional, bit 1 Puerto A bidireccional, bit 2 Puerto A bidireccional, bit 3 Tambin se utiliza para la entra de reloj para el TMR0 Puerto B bidireccional, bit 0 Puede seleccionarse para entrada de interrupcin externa Puerto B bidireccional, bit 1 Puerto B bidireccional, bit 2 Puerto B bidireccional, bit 3 Puerto B bidireccional, bit 4 Interrupcin por cambio de estado Puerto B bidireccional, bit 5 Interrupcin por cambio de estado Puerto B bidireccional, bit 6 Interrupcin por cambio de estado Puerto B bidireccional, bit 7 Interrupcin por cambio de estado Tierra de referencia Alimentacin

Arquitectura interna
Las altas prestaciones de los microcontroladores PIC derivan de las caractersticas de su arquitectura. Estn basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos,

lo que hace que sean ms rpidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman. Otra caracterstica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayora se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.

Posee una ALU (Unidad Aritmtico Lgica) de 8 bits capaz de realizar operaciones de desplazamientos, lgicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.

Dependiendo de la instruccin ejecutada, la ALU puede afectar a los bits de Acarreo , Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).

La memoria del programa comienza en la posicin 0000h y termina en la posicin 03FFh. Esto es 1Kbyte, es decir, 1024 bytes (2 10). El vector de reset se encuentra en la posicin 0000h y el de interrupcin en la 0004h. Debido a que el PIC16F84A tiene un contador de programa de 13 bit puede direccionar un espacio de memoria de 8K x 14, sin embargo slo el primer 1K x 14 (0000h-03FFh) est implementado fsicamente.

Existen varias versiones de memoria de programa para los PIC16f84A: Versin Flash. Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Versin OTP . ("One Time Programmable") "Programable una sola vez". Slo se puede grabar una vez por el usuario sin la posibilidad de borrar lo que se graba. Versin QTP. Es el propio fabricante el que se encarga de grabar el cdigo en todos los chips que configuran pedidos medianos y grandes.

Versin SQTP. El fabricante solo graba unas pocas posiciones de cdigo para labores de identificacin, nmero de serie, palabra clave, checksum, etc.

Memoria de datos
Est organizada en dos pginas o bancos de registro, banco 0 y banco 1. Para cambiar de pgina se utiliza un bit del registro STATUS (RP0). Cada banco se divide a su vez en dos reas: RFS (Registros de Funciones Especiales) RGP (Registros de Propsito General)

En la figura siguiente nos podemos hacer una idea de cmo estn distribuidos:

La primera es la de RFS (Registros de Funciones Especiales) que controlan el funcionamiento del dispositivo. Estos se emplean para el control del funcionamiento de la CPU y de los perifricos. El segundo rea (68 bytes SRAM) es la de RGP (Registros de Propsito General), y puede accederse a ellos tanto directa como indirectamente haciendo uso del registro FSR. Banco 0: Este banco est formado por 80 bytes, desde la posicin 00 hasta la 4Fh (de la 0 a la 79). El rea RFS consta de 12 registros que sern utilizados por funciones especiales del microcontrolador. Comienza en la direccin 00h y termina en la 0Bh, es decir, de la 0 a la 11. El rea RGP consta de 68 registros de memoria RAM que sern utilizados para almacenar datos temporales requeridos por los programas.

Banco 1: Este banco tiene las mismas dimensiones que el anterior, pero su uso es menor, ya que no tiene banco para registros de propsito general. Solamente tiene una seccin de registros especiales que van de la posicin 80h a la 8Bh ( de la 128 a la 139)

La memoria RAM as como algunos registros especiales son los mismos en los dos bancos del mapa de memoria del PIC. La anchura de los bytes en la memoria es de 8 bis.

El direccionamiento
Para el PIC solamente existen 4 modos de direccionamiento, entre los cuales, tres de ellos ya fueron vistos de manera intuitiva cuando vimos las instrucciones. Los modos de direccionamiento tratan sobre la forma de mover los datos de unas posiciones de memoria a otras. Direccionamiento Direccionamiento Direccionamiento Direccionamiento Inmediato Directo bit a bit Indirecto

Memoria de datos EEPROM


Esta memoria est basada en tecnologa EEPROM, y tiene una longitud de 8 bits, del mismo modo que la memoria de datos. Su tamao es de 64 bytes y est situada en un bloque distinto y aislado de la de datos. Los 64 bytes EEPROM de Memoria de Datos no forman parte del espacio normal direccionable, y slo es accesible en lectura y escritura a travs de dos registros,

para los datos el EEDATA que se encuentra en la posicin 0008h del banco de registros RAM y para las direcciones el EEADR en la 0009h. Para definir el modo de funcionamiento de esta memoria se emplean dos registros especiales, el EECON1 en la direccin 0088h y el EECON2 en 0089h. Registros que se utilizan con la EEPROM: Registro Registro Registro Registro EEDATA (08h): Registro de Datos, lectura/escritura 8 bits EEADR (09h): Registro de Direccin, de 0h a 3Fh, 64 bytes EECON1 (88h): Registro de Control 1 EECON2 (89h): Registro de Control 2 (no es un registro fsico)

Esta memoria no emplea ningn recurso externo de alimentacin. Puede grabarse desde un programador de PIC al igual que el cdigo de programa. La lectura de una posicin de la memoria se obtiene en el registro EEDATA en el prximo ciclo de reloj, si bien podra tardar algo ms. La escritura es mucho ms lenta, tardndose del orden de unos 8 ms. Esta se controla mediante un temporizador interno. Resumen de caractersticas: Memoria de datos de 64 bytes. Lectura rpida de un byte (en el tiempo de uno o varios ciclos de instruccin). Escritura de un byte en unos 8 ms. Se genera una interrupcin cuando se completa la escritura de la memoria. 1.000.000 de ciclos de borrado/escritura. 40 aos de retencin de datos. Tecnologa de baja potencia y alta velocidad CMOS.

Cuando el dispositivo est protegido por cdigo, la CPU puede continuar leyendo y escribiendo en la memoria EEPROM, pero el programador del dispositivo ya no puede acceder esta memoria.

Uso de la EEPROM
A continuacin veremos a fondo cuales son los procesos ms usuales de escritura y de lectura en la EEPROM.

Lectura de la memoria EEPROM


Para leer de la memoria EEPROM han de seguirse los siguientes pasos: Escritura de la direccin que hay que leer en el registro EEADR. Poner a 1 el bit RD del registro EECON, para habilitar la lectura. Lectura del dato ledo y espera a que termine la operacin. El dato est disponible en el registro EEDATA.

Veamos dos ejemplos prctico. El primero (LECTURA1) presupone que el dato en EEDATA estar disponible rpidamente, y el segundo (LECTURA2) espera hasta confirmarlo: LECTURA1 BCF MOVLW MOVWF BSF BSF BCF MOVF STATUS,RP0 MEM1 EEADR STATUS,RP0 EECON1,RD STATUS,RP0 EEDATA,W ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Selecciona banco 0 Direccin a leer de la EEPROM Selecciona banco 1 Activar lectura Selecciona banco 0 W se carga con el valor ledo en eeprom Selecciona banco 0 Direccin a leer de la EEPROM Selecciona banco 1 Activar lectura Espera final de lectura a que baje la bandera Selecciona banco 0 W se carga con el valor ledo en eeprom

LECTURA2

ESPERA

BCF MOVLW MOVWF BSF BSF BTFSC GOTO BCF MOVF

STATUS,RP0 MEM1 EEADR STATUS,RP0 EECON1,RD EECON1,RD ESPERA STATUS,RP0 EEDATA,W

Escritura de la memoria EEPROM


El proceso de escritura es an ms complejo ya que deberemos hacer todo lo anterior y adems escribir un cdigo especial de proteccin. Estos pasos los vemos en las siguientes lneas: Poner a 1 (si no lo estaba) el bit WREN del registro EECON1 para habilitar la operacin de escritura. Cargar en EEADR la direccin de la posicin a escribir. Cargar en el registro EEDATA el valor a grabar. Ejecutar la siguiente secuencia que inicia la escritura de cada byte y adems sirve de proteccin frente a errores eventuales. Esta secuencia siempre es la misma y ha de ejecutarse siempre. MOVLW MOVWF MOVWF MOVWF BSF 55H EECON2 AAH EECON2 EECON1,WR

; Escribe 55h en EECON2 ; Escribe AAh en EECON2 ; Coloca a 1 el bit de escritura

Esta ltima instruccin inicia el proceso de escritura. Cuando se termina, el bit EEIF est a 1 y, si ha sido habilitada la interrupcin de EEPROM haciendo uso del bit EEIE del registro INTCON, esta interrupcin se genera. Mediante software es necesario poner a cero el bit EEIF.

Veamos un ejemplo de escritura tpico que no utiliza interrupciones:

ESCRITURA

; Establecer EEADR y EEDATA MOVLW DIRMEN1 MOVWF EEADR ; Escribe la direccin en EEADR MOVLW DATO1 MOVWF EEDATA ; Se escribe el dato en EEDATA BSF STATUS,RP0 ; Selecciona el banco 1 BSF EECON1,WREN ; Permiso de escritura activado ;Comienzo de la secuencia de escritura MOVLW 0x55 MOVWF EECON2 ; Se escribe el dato 55 h en MOVLW MOVWF BSF BCF 0xAA EECON2 EECON1,WR EECON1,WREN BTFSC GOTO BCF ; Se escribe AA h en EECON2 ; Comienza la escritura ; Permiso de escritura ; Espera a que termine la

EECON2

desactivado ESPERA escritura

EECON1,WR

ESPERA STATUS,R0

; Selecciona el banco 0

La escritura de cada byte no se iniciar si la secuencia de introducir 55 y AA en EECON2, y activar el bit WR no se sigue exactamente. Considerndo lo anterior, es recomendable que durante la secuencia de inicio de escritura se deshabiliten las interrupciones, con el fin de evitar errores no deseados y habilitarlas posteriormente si van a ser utilizadas. Adicionalmente, el bit WREN de EECON1 debe ser activado para habilitar la escritura. Para evitar errores, tambin es recomendable que el bitWREN est desactivado durante todo el programa excepto en el momento de la escritura. Debemos tener en cuenta que este bit no se pone a cero automticamente mediante hardware. Una vez iniciado el ciclo de escritura, si ponemos a cero WREN, esto no afectar a el ciclo de escritura iniciado. En este caso el bit WR estar inhibido y no se podr poner a uno. Despus del ciclo, el bit WR es puesto a cero por hardware y el EEIF es puesto a uno (si EEIE lo est). Si EEIE, est habilitado, EEIF debe ser puesto a cero por software.

Veamos un ejemplo de escritura tpico que utiliza interrupciones:

ESCRITURA

BCF STATUS,RP0 ; Selecciona el banco 0 ; Establecer EEADR y EEDATA MOVLW MEN1 MOVWF EEADR ; Escribe la direccin en EEADR MOVLW DATO1 MOVWF EEDATA ; Se escribe el dato en EEDATA BSF STATUS,RP0 ; Selecciona el banco 1

BSF EECON1,WREN ; Permiso de escritura activado BCF INTCON, GIE ; Desabilita interrupciones. ;Comienzo de la secuencia de escritura MOVLW 0x55 MOVWF EECON2 ; Se escribe el dato 55 h en EECON2 MOVLW 0xAA MOVWF EECON2 BSF EECON1,WR BSF INTCON,GIE BCF EECON1,WREN desactivado BCF STATUS,R0 ; Selecciona el banco 0 ; ; ; ; Se escribe AA h en EECON2 Comienza la escritura Habilita las interrupciones. Permiso de escritura

Verificacin de la escritura
Dependiendo de la aplicacin, la experiencia en programacin dice que los datos escritos en la EEPROM deben ser verificados comparndolos con el dato que se acaba de escribir. Esto debe usarse en aplicaciones en las que un bit de la EEPROM sufre ciclos de lectura/escritura hasta rozar el lmite de las especificaciones. Generalmente el fallo de escritura en un bit de la EEPROM ser un bit que se escribe como un 0 lgico pero devuelve un 1 debido a la prdida de ese bit. La siguiente porcin de cdigo es un ejemplo de verificacin del dato escrito: BCF MOVF BSF BSF en BCF STATUS,RP0 ; EEDATA, y cambiamos a banco 0 ; A continuacin se comprueba que los datos en W en EEDATA son los mismos SUBWF EEDATA,W ; Restamos ambos valores BTFSS STATUS,Z ; Si la operacin es cero, son iguales GOTO ERR_ESCRIT ; Si no son iguales, saltamos a ERR_ESCRIT ..... ; Si son iguales, seguimos con el programa STATUS,RP0 EEDATA,W STATUS,RP0 EECON1,RD ; ; ; ; Nos situamos en el banco 0 Debemos estar en el banco 0 Cambiamos al banco 1 Leemos el dato que se guarda

Rutinas EEPROM
A continuacin se presentan dos rutinas para escribir y leer en la EEPROM: ;************************************************************** ; EEPROM_W: ; Graba un byte en la EEPROM de datos. La direccin ser la contenida ; en EEADR y el dato se le supone previamente introducido en EEDATA ; EEPROM_W bsf STATUS,RP0 ;Selecciona banco 1 bsf EECON1,WREN ;Permiso de escritura

movlw b'01010101' ;Secuencia de escritura movwf EECON2 movlw b'10101010' movwf EECON2 bsf EECON1,WR ;Orden de escritura bcf EECON1,WREN ;Desconecta permiso de escritura ESPERA btfss EECON1,EEIF ;Comprobar bandera de fin de escritura goto ESPERA bcf EECON1,EEIF ;Reponer flag de fin de escritura bcf STATUS,RP0 ;Seleccin banco 0 return ; ;************************************************************** ; EEPROM_R: ; Lee un byte de la EEPROM. Se supone al registro EEADR cargado ; con la direccin a leer. En EEDATA aparecer el dato ledo. ; EEPROM_R bsf STATUS,RP0 ;Seleccin de banco 1 bsf EECON1,RD ;Orden de lectura bcf STATUS,RP0 ;Seleccin de banco 0 return ;**************************************************************

Puertos de E/S
El PIC16F84 dispone de dos puertos digitales de E/S paralelos de uso general denominados Puerto A y Puerto B.

Puerto A
El puerto A dispone de 5 lneas de la RA0 a la RA4, en la que hay que distinguir la A4 o T0CKI (Timer 0 Clock Input) que est compartida con la entrada para el Timer 0 (TMR0) a travs de un trigger Schmitt y que cuando se configura como salida es de drenador abierto, por lo que debe colocarse una resistencia de polarizacin.

Diagrama de bloques de RA3:RA0

Diagrama de bloques de RA4

Puerto B
El puerto B dispone de 8 lneas de E/S que van desde la RB0 a la RB7 (la lnea RB0 o INT es compartida con la entrada de interrupcin externa). Adems, las lneas RB4 a RB7 puede programarse una interrupcin por cambio de estado de cualquiera de estas lneas.

Diagrama de bloques de RB7:RB4

Diagrama de bloques de RB3:RB0

Configuracin de los puertos de Entrada/Salida


Cualquier lnea puede funcionar como entrada o como salida. Sin embargo, si acta como entrada la informacin que se introduce no se memoriza, por lo que la informacin debe ser mantenida hasta que sea leda. Si la lnea acta como salida, el bit que procede del bus de datos se guarda en la bscula, con lo que la informacin que ofrece esta patita permanece invariable hasta que se reescriba este bit. Los bits de cada puerto se configuran mediante los bits correspondientes de dos registros especiales de control : Registro de Datos denominados PORTA PORTB: Se pueden leer o escribir segn que el puerto correspondiente se utilice como entrada o como salida. Registro de Control denominado TRISA TRISB: En los registros de Control se programa el sentido de funcionamiento de cada una de las lneas de E/S. Colocando un "0" en el correspondiente bit del registro TRISA TRISB, la lnea queda programada como salida mientras que colocando un "1" la lnea queda programada como entrada. Por ejemplo, si ponemos un 0 en el bit 3 del registro TRISA la patilla RA3 ser una salida y si ponemos un 1 en el bit 4 del registro TRISB entonces la patilla RB4 ser una entrada.

Los Puertos A y B (PORTA y PORTB) se corresponden con las posiciones 5 y 6 del rea de datos. Cuando se produce un reset, todos los bits de los registros TRIS pasan a tener el valor 1 y todas las lneas de E/S actan

Lmite de corriente para los puertos


Como anteriormente hemos indicado los puertos A y B del microcontrolador podrn ser programados como entradas o salidas indiferentemente. En el caso de que sean programados como salida y presenten un nivel lgico alto actuaran como "fuente" porque suministran corriente y cuando presenten un nivel lgico bajo actuarn como "sumidero" por que reciben corriente. Disipacin de potencia total de 800 mW. Mxima corriente de salida a VSS 150 mA. Mxima corriente de salida de VDD 100 mA. Si utilizamos todas las lneas del puerto "A" como fuente, no deber exceder de 50 mA toda la corriente que suministre este puerto. Si utilizamos todas las lneas del puerto "A" como sumidero, no deber exceder de 80 mA toda la corriente que suministre este puerto. Si utilizamos todas las lneas del puerto "B" como fuente, no deber exceder de 100 mA toda la corriente que suministre este puerto. Si utilizamos todas las lneas del puerto "B" como sumidero, no deber exceder de 150 mA toda la corriente que suministre este puerto. La mxima corriente que puede suministrar una sla salida como fuente o sumidero es de 25 mA.

De todas maneras hay que tener en cuenta no superar la disipacin de potencia mxima, que se calcula como sigue: Pdis = VDD x (IDD - IOH) + {(VDD-VOH) x IOH} + (VOL x IOL) VOH suele ser VDD-0,7 v y VOL 0,6 v. El consumo de corriente (IDD) es principalmente funcin de la tensin de alimentacin y de la frecuencia. Otros factores, como cambios en E/S, tipo de oscilador, temperatura y otros tienen influencia en el consumo. La IDD para el PIC16F84A-4 est entre 1,8 a 4.5 mA en configuracin de oscilador RC y XT (FOSC=4 MHz, VDD=5,5V), con las patillas como entradas y unidas a positivo.

Temporizador/Contador TMR0
El temporizador/contador TMR0 es un registro de 8 bits, es decir, un particular tipo de registro cuyo contenido es incrementado con una cadencia regular y programable directamente por el hardware del PIC. Como es de 8 bits, el mximo de la cuenta est en 255. El TMR0 tiene las siguientes caractersticas: Temporizador/Contador de 8 bits. Divisor de 8 bits programable por software. Seleccin de reloj interno y externo. Interrupcin por desbordamiento. Seleccin del flanco del reloj externo.

La frecuencia de conteo es directamente proporcional a la frecuencia de reloj aplicada al PIC y puede ser modificada programando adecuadamente algunos bits de configuracin. El modo temporizador se selecciona colocando a 0 el bit T0CS del registro OPTION. En este modo, el Timer0 se incrementa con cada ciclo de instruccin (con el divisor desactivado). El modo contador se selecciona colocando a 1 el bit T0CS del registro OPTION. En este modo, el contador se incrementar con cada flanco de subida o de bajada del pin RA4/T0CKI. El flanco se selecciona con el bit T0SE del registro OPTION. Se generar una interrupcin cuando el registro TMR0 se desborda de FFh a 00h. Este desbordamiento se indicar el el bit T0IF del registro INTCON. En la siguiente figura est representado el esquema de bloques internos del PIC que determinan el funcionamiento del registro TMR0:

Fosc/4 y T0CKI representan las dos posibles fuentes de seal de reloj, para el contador TMR0. Fosc/4 es una seal generada internamente por el PIC tomada del circuito de reloj y que es igual a la frecuencia del oscilador dividida por cuatro. T0CKI es una seal generada por un posible circuito externo y aplicada al pin T0CKI correspondiente al pin 3 del PIC16F84. Los bloques T0CS y PSA son dos selectores de seal (multiplexores) en cuya salida se presenta una de las dos seales de entrada en funcin del valor de los bits T0CS y PSA del registro OPTION. El bloque PRESCALER o Predivisor es un divisor programable cuyo funcin es dividir la frecuencia de conteo, interna o externa.

El Prescaler
El PRESCALER consiste en un divisor programable de 8 bits a utilizar en el caso de que la frecuencia de conteo enviada al contador TMR0 sea demasiado elevada para nuestros propsitos. Se configura a travs de los bits PS0, PS1 y PS2 del registro OPTION. La frecuencia Fosc/4 es una cuarta parte de la frecuencia de reloj. Utilizando un cristal de 4Mhz tendremos una Fosc/4 igual a 1 MHz, con lo que la cadencia de conteo que se obtiene provoca en TMR0 1 milln de incrementos por segundo (1/1.000.000 seg. =1MHz), que para muchas aplicaciones podra resultar demasiado elevada. Con el uso del PRESCALER podemos dividir la frecuencia Fosc/4 configurando oportunamente los bits PS0, PS1 y PS2 del registro OPTION segn la siguiente tabla:

PS2 0 0 0 0 1 1 1 1

PS1 0 0 1 1 0 0 1 1

PS0 0 1 0 1 0 1 0 1

DIVISOR 2 4 8 16 32 64 128 256

FRECUENCIA DE SALIDA PREESCALER (Hz.) 500.000 250.000 125.000 62.500 31.250 15.625 7.812,5 3.906,25

Encapsulado y marcado del PIC16F84A


El PIC16F84A puede presentarse en varios encapsulados: Encapsulado PDIP tipo DIL ("Dual In Line" Doble En Lnea) de 18 patillas, es el encapsulado tradicional, grande y manejable. Encapsulado SOIC de 18 patillas y SSOP de 20 patillas, para montaje superficial SMD, una tecnologa de mayor integracin que ocupa muy poco espacio, pero con un proceso de soldadura ms difcil.

Marcado del encapsulado: XXX... -XX X /XX XXX : Informacin especfica del producto: XXX... : Dispositivo (PIC16F84A,PIC16LF84A PIC16F84AT,PIC16LF84AT): F: Rango de VDD estndar LF: Rango de VDD extendido, a 200KHz T: Suministrados en carrete de cinta (slo SOIC y SSOP) -XX : Rango de frecuencia -04 = 4 MHz -20 = 20 MHz X : Rango de temperatura: Nada = 0oC a +70oC I = -40oC a +85oC /XX : Tipo de encapsulado: P = PDIP SO = SOIC SS = SSOP XXX : Patrn: y

Nada = OTP y PIC sin ventana Cdigo = Cdigo especifico QTP, SQTP y ROM

YY :Ao WW :Semana NNN :Cdigo alfanumrico para rastreo Ejemplos: PIC16F84A-04/P = Temp. comercial., PDIP, 4 MHz, VDD normal. PIC16LF84A-04I/SO = Temp. industrial, SOIC, 200 kHz, VDD extendida. PIC16F84A-20I/P 301= Temp. industrial, PDIP, 20 MHz, VDD normal, QTP n 301.

También podría gustarte