PIC
PIC
PIC 16F87X
Procesador de arquitectura RISC avanzada
Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en
un ciclo de instruccin menos las de salto que tardan 2.
Frecuencia de 20 Mhz
Hasta 8K palabras de 14 bits para la memoria de cdigo, tipo flash.
Hasta 368 bytes de memoria de datos RAM
Hasta 256 bytes de memoria de datos EEPROM
Hasta 14 fuentes de interrupcin internas y externas
Pila con 8 niveles
Modos de direccionamiento directo, indirecto y relativo
Perro guardin (WDT)
Cdigo de proteccin programable
Modo Sleep de bajo consumo
Programacin serie en circuito con 2 patitas
Voltaje de alimentacin comprendido entre 2 y 5.5 voltios
Bajo consumo (menos de 2 mA a 5 V y 5 Mhz)
PIC 16F87X
Casi todos los fabricantes de microprocesadores lo son
tambin de microcontroladores, en el mercado existen
una serie de marcas bastante conocidas y reconocidas
como es el caso de Microchip, Motorola, Hitachi, ATMEL
etc. se ha seleccionado a Microchip y en particular la
serie 16F87X, debido a la abundante informacin y
herramientas de diseo existente en el mercado (tanto
local como internacional). Tambin salta a la vista el
hecho que es sencillo en el manejo y contiene un
promedio elevado en sus parmetros (velocidad,
consumo, tamao, alimentacin).
MICROCONTROLADORES
Pines del PIC 16F87X
Pines del PIC 16F87X
PIN Descripcin
OSC1/CLKIN(9) Entrada para el oscilador o cristal externo.
OSC2/CLKOUT (10) Salida del oscilador. Este pin debe conectarse
al cristal o resonador. En caso de usar una
red RC este pin se puede usar como tren de
pulsos o reloj cuya frecuencia es 1/4 de OSC1
MCLR/VPP(1) Este pin es el reset del microcontrolador,
tambin se usa como entrada o pulso de
grabacin al momento de programar el
dispositivo.
Pines del PIC 16F87X
PIN Descripcin
RA0/AN0(2) Puede actuar como lnea digital de E/S o
como entrada analgica del conversor AD
RA1/AN1(3) (canal 0 y canal 1 respectivamente)
RA2/AN2/VREF-(4) Puede actuar como lnea digital de E/S o
como entrada analgica del conversor AD
(canal 2) o entrada negativa de voltaje de
referencia
RA3/AN3/VREF+(5) Puede actuar como lnea digital de E/S o
como entrada analgica del conversor AD
(canal 3) o entrada positiva de voltaje de
referencia
Pines del PIC 16F87X
PIN Descripcin
RA4/T0CKI (6) Lnea digital de E/S o entrada del reloj del
timer 0. Salida con colector abierto
RA5/SS#/AN4(7) Lnea digital de E/S, entrada analgica o
seleccin como esclavo de la puerta serie
sncrona.
RB0/INT(21) Puerto B pin 0, bidireccional. Este pin puede
ser la entrada para solicitar una interrupcin.
Pines del PIC 16F87X
PIN Descripcin
RB1(22) Puerto B bits 1 y 2 respectivamente,
RB2(23) bidireccionales.
RB3/PGM(24) Puerto B bit 3, bidireccional o entrada del
voltaje bajo para programacin.
PIN Descripcin
RC1/T1OSI/ Lnea digital de E/S o entrada al oscilador del
CCP2(12) timer 1 o entrada al mdulo captura 2/salida
comparacin 2/ salida del PWM 2
RC2/CCP1(13) E/S digital. Tambin puede actuar como
entrada captura 1,/salida comparacin 1/
salida de PWM 1
RC3/SCK/SCL E/S digital o entrada de reloj serie sncrona
(14) /salida de los mdulos SP1 e I2C.
Pines del PIC 16F87X
PIN Descripcin
RC4/SDI/SDA E/S digital o entrada de datos en modo SPI o
(15) I/O datos en modo I2C.
RC5/SDO(16) E/S digital o salida digital en modo SPI
PIN Descripcin
RC7/RX/DT(18) E/S digital o receptor del USART asncrono o
como datos en el sncrono.
RD0/PSP0- Las ocho patitas de esta puerta pueden
RD7/PSP7 actuar como E/S digitales o como lneas para
(19-22, 27-30) la transferencia de informacin en la
comunicacin de la puerta paralela esclava.
Solo estn disponibles en los PIC 16F874/7.
RE0/RD#/AN5 (8) E/S digital o seal de lectura para la puerta
paralela esclava o entrada analgica canal 5.
Pines del PIC 16F87X
PIN Descripcin
RE1/WR#/AN6 (9) E/S digital o seal de escritura para la puerta
paralela esclava o entrada analgica canal 6.
RE2/CS#/AN7 (10) E/S digital o seal de activacin/desactivacin
de la puerta paralela esclava o entrada
analgica canal 7.
VSS(8,19) Tierra y Fuente (5V) respectivamente.
VDD(20,32)
Arquitectura interna del PIC 16F87x
T_ejecucin = 500 s
Organizacin de la memoria en los
PIC 16F87X
SFR (Special Function Register)
Registros de propsito especial,
son registros que ayudan a
configurar el hardware interno as
como sirven para escribir o leer
valores de los diferentes
componente que constituyen el
microcontrolador. Por ejemplo el
registro TRISA que nos permite
configurar el modo de trabajo de
las lneas del puerto A.
Bit 7: IRP Register Bank Select Bit (es un bit que se usa para
las operaciones de direccionamiento indirecto).
0 = Si se trabaja sobre el banco 0 1 ( posiciones de memoria
que van desde 00h hasta FFh)
1 = Si trabajamos con el banco 2 3 (posiciones de memoria que
van desde 100h hasta 1FFh)
Registro STATUS
1 = Permitido.
0 = No permitido.
Registro INTCON
Bit 6 : PEIE Permiso a interrupciones de perifricos que no se
controlan con INTCON.
1 = Permitido.
0 = No permitido.
Registro INTCON
Bit 5 : T0IE Permiso a interrupcin de TMR0.
1 = Permitido.
0 = No permitido.
Registro INTCON
Bit 4 : INTE Permiso a interrupcin externa por RBO/INT.
1 = Permitido.
0 = No permitido.
Registro INTCON
Bit 3: RBIE Permiso a interrupcin por cambio en RB4-RB7.
1 = Permitido.
0 = No permitido.
Registro INTCON
Bit 2: T0IF Sealizador de desborde en TMR0.
1 = Desborde.
0 = No ha desbordado.
Registro INTCON
Bit 1: INTF Sealizador de activacin de la patita RBO/INT.
1 = Activada.
0 = No ha sido activada.
Registro INTCON
Bit 0: RBIF Sealizador de cambio en RB4-RB7.
1 = Ha cambiado.
0 = No ha cambiado.
Registro INTCON
Ejercicio: Realice las lneas de cdigo ASM necesarias para :
- Permitir las interrupciones.
- Prohibir la interrupcin por escritura de la EEPROM.
- Permitir la interrupcin por desborde del TMR0.
- Permitir la interrupcin externa por RB0/INT por flanco de
bajada.
- Prohibir la interrupcin por cambio en RB4:RB7.
Registros de Control
1 = Desactivadas.
0 = Activadas.
Registro OPTION
Bit 6 : INTEDG Flanco activo de la interrupcin externa.
1 = Ascendente.
0 = Descendente.
Registro OPTION
Bit 5 : T0CS Tipo de reloj para TMR0
1 = Descendente.
0 = Ascendente.
Registro OPTION
Bit 3 : PSA Asignacin del divisor de frecuencia
1 = Al perro guardin.
0 = Al TMR0.
Registro OPTION
Bits 2,1,0 : PS2, PS1, PS0 valor del divisor de frecuencia
El Mdulo TMR0:
- Puede ser usado para generar periodos
de tiempo ( si funciona como
temporizador) o puede ser usado para
registrar el paso de eventos (si trabaja
como contador de eventos).
- Su funcionamiento es controlado por los
registros OPTION e INTCON
El Mdulo TMR0
El registro TMR0 puede ser ledo para saber cual es valor actual del conteo
o puede ser escrito para colocar un valor inicial.