Professional Documents
Culture Documents
Escuela de Ingeniera
Departamento de Ingeniera Elctrica
Manual de Referencia
del Microcontrolador
PIC16F84A
PIC16F84A
Tabla de Contenidos
1. CARACTERSTICAS GENERALES DEL PIC16F84A............................................................................... 3
2. ORGANIZACIN DE LA MEMORIA DEL PIC16F84A............................................................................ 4
3. REGISTROS ESPECIALES .......................................................................................................................... 5
3.1. REGISTRO STATUS ................................................................................................................................ 5
3.2. REGISTRO OPTION_REG....................................................................................................................... 6
3.3. REGISTRO INTCON ................................................................................................................................ 6
3.4. PUERTOS DE ENTRADA Y SALIDA ............................................................................................................ 7
3.4.1. Configuracin de Puertos: Registros TRISA y TRISB ................................................................... 7
3.4.2. Registros PORTA y PORTB........................................................................................................... 7
4. INSTRUCCIONES MS USADAS .............................................................................................................. 8
4.1. BCF F,B .................................................................................................................................................. 8
4.2. BSF F,B................................................................................................................................................... 8
4.3. BTFSC F,B ............................................................................................................................................. 8
4.4. BTFSS F,B .............................................................................................................................................. 8
4.5. CALL K .................................................................................................................................................. 8
4.6. RETURN ................................................................................................................................................ 8
4.7. RETFIE................................................................................................................................................... 8
4.8. GOTO K.................................................................................................................................................. 8
4.9. MOVLW A ............................................................................................................................................. 8
4.10. MOVWF F ............................................................................................................................................ 8
4.11. ADDLW A............................................................................................................................................ 8
4.12. ADDWF F,D......................................................................................................................................... 9
4.13. SUBLW A............................................................................................................................................. 9
4.14. SUBWF F,D.......................................................................................................................................... 9
4.15. DECFSZ F ............................................................................................................................................ 9
4.16. ADDFSZ F............................................................................................................................................ 9
Pgina 2
PIC16F84A
Pin
RA0, RA1,
RA2, RA3,
RA4/T0CKI
RB0/INT,
RB1, RB2,
RB3, RB4,
RB5, RB6,
RB7
VSS
VDD
_____
MCLR
OSC1/CLKIN
OSC2/CKOUT
Descripcin
Pines correspondientes al Puerto A (PORTA). Pueden ser escritos o ledos (toman
valores 1 0). Cada uno de estos pines debe ser configurado como entrada o salida
mediante el registro TRISA. En particular, el pin RA4/T0CKI puede funcionar como
Entrada/Salida al igual que los otros o como Entrada de un Clock Externo para el
Timer/Contador
Pines correspondientes al Puerto B (PORTB). Pueden ser escritos o ledos (toman
valores 1 0). Cada uno de estos pines debe ser configurado como entrada o salida
mediante el registro TRISB. En particular, el pin RB0/INT puede funcionar como
Entrada/Salida al igual que los otros o como Entrada de Interrupcin Externa.
Tierra del circuito (debe ser conectado a 0 Volts).
Alimentacin positiva del circuito (debe ser conectado a +5 Volts).
Pin de RESET. En estado normal se debe poner en 1 (+5 Volts), y el RESET se activa
conectndolo a 0 Volts.
Entrada del oscilador externo.
Salida del oscilador externo.
Pgina 3
PIC16F84A
Pgina 4
PIC16F84A
Adems de la divisin previamente mencionada, se puede apreciar que los registros
se encuentran separados en dos grupos, BANK0 y BANK1 (Bancos). Para acceder a los
distintos registros se debe seleccionar previamente el Banco correspondiente. Para
hacer esto, utilizaremos el registro STATUS que se detalla a continuacin.
3. Registros Especiales
Todos los registros que usaremos poseen 8 bits. En general, ocuparemos la siguiente
convencin al referirnos a los bits de los registros:
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
No se usan. Mantenerlos en 0.
Bank Select.
1 : Selecciona BANK1.
0 : Selecciona BANK0.
Time-out bit.
No es de uso frecuente. Para obtener informacin sobre ste, consultar el
Datasheet.
Power-down bit.
No es de uso frecuente. Para obtener informacin sobre ste, consultar el
Datasheet.
Zero-bit.
1 : La ltima operacin dio como resultado un cero.
0 : La ltima operacin no dio como resultado un cero.
DC. Digit Carry Borrow.
No es de uso frecuente. Para obtener informacin sobre ste, consultar el
Datasheet.
C. Carry Borrow Bit.
1 : Hubo un carry desde el bit ms significativo.
0 : No hubo un carry desde el bit ms significativo.
Pgina 5
PIC16F84A
3.2. Registro OPTION_REG
A grandes rasgos, este registro contiene los bits necesarios para configurar el
Timer/Contador (Timer0). Se accede a este registro desde el Banco 1. A continuacin
se muestra un cuadro resumen de estos bits.
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bits 2, 1 y
0
Pgina 6
PIC16F84A
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Para poder utilizar los puertos PORTA y PORTB, se deben especificar los pines
que se utilizarn como entradas y salidas. Para ello debemos acceder a los registros
TRISA y TRISB, que se encuentran en el Banco 1. Se debe escribir un 0 para las
salidas y un 1 para las entradas en las posiciones respectivas de cada uno.
3.4.2. Registros PORTA y PORTB
Pgina 7
PIC16F84A
4. Instrucciones ms usadas
A continuacin se presentan las instrucciones ms frecuentemente usadas en los
programas. Se recomienda revisar el datasheet si se requieren ms instrucciones o se
desean ver ms detalles.
4.1. BCF F,B
Escribe un 0 en el bit B del registro F.
4.2. BSF F,B
Escribe un 1 en el bit B del registro F.
4.3. BTFSC F,B
Lee el bit B del registro F. Si B est en 0, se salta la siguiente lnea de cdigo.
Si B est en 1, no hace nada extra y contina ejecutando la siguiente lnea.
4.4. BTFSS F,B
Lee el bit B del registro F. Si B est en 1, se salta la siguiente lnea de cdigo.
Si B est en 0, no hace nada extra y contina ejecutando la siguiente lnea.
4.5. CALL K
Llama a una subrutina(etiqueta) con el nombre K. (requiere un RETURN al final de
la subrutina).
4.6. RETURN
Retorna desde una subrutina.
4.7. RETFIE
Retorna desde una interrupcin.
4.8. GOTO K
El programa salta a la etiqueta con el nombre K. No se debe poner RETURN en este
caso.
4.9. MOVLW A
Se carga el registro W(Working Register) con el contenido del literal A (un nmero
escrito en cualquier formato, ya sea decimal, hexadecimal o binario)
4.10. MOVWF F
Copia el contenido del registro W al registro F
4.11. ADDLW A
Sumar W con un nmero A. El resultado queda en W.
Pgina 8
PIC16F84A
4.12. ADDWF F,D
Sumar W con F.
Esta instruccin suma el contenido de un registro especfico F al contenido del
registro W donde F puede ser un registro cualquiera con un determinado valor. Si D =
1, el resultado se graba en F, si es 0, se graba en W
4.13. SUBLW A
Resta W de A.
Resta el contenido del registro W de un literal A, el resultado queda en W.
4.14. SUBWF F,D
Resta W de F.
Resta el contenido del registro W del registro F. Si D = 1, el resultado se graba en F,
si es 0, se graba en W
4.15. DECFSZ F
Decrementa el registro F en 1, salta la siguiente lnea si el resultado de eso es cero.
4.16. INCFSZ F
Aumenta el registro F en 1, salta la siguiente lnea si el resultado de eso es cero.
(overflow).
Pgina 9