PIC 16F877
PIC 16F84A
PIC 16F877
Memoria Programa
1024 * 14
8192 * 14
Memoria Datos
RAM / EEPROM
68 / 64
368 / 256
Deteccin de baja
tensin
No
Si
Lneas E/S
13
33
Comunicacin Serie No
Usart/Mssp
CCP
No
Temporizadores
1 (8 bits), Wdt
PIC 16F877
PIC 16F84A
PIC 16F877
Frecuencia Mxima
20 MHz
20 MHz
Interrupciones
14
Comunicacin
Paralelo
No
Si
Encapsulado
18 pines
40 pines
Conv. A/D
No
8 (10 bits)
PIC 16F877
Cinco puertos de entrada/ salida. Los
puertos son los siguientes:
Port A 6 pines
Port B 8 pines
Port C8 pines
Port D 8 pines
Port E 3 pines
Ing. Diana Valdivieso Herrera
Registro ADCON0
Este registro controla la operacin del A/D.
Bit 7-6: Bits de seleccin del reloj de conversin
ADCS1
ADCS0
TAD
Frecuencia
2 * TOSC
FOSC /2
8 * TOSC
FOSC /8
32 * TOSC
FOSC /32
Oscilador RC interno
Bit
CHS
1
0
0
1
1
0
0
1
1
CHS
0
0
1
0
1
0
1
0
1
Canal 0 (RA0/AN0)
Canal 1 (RA1/AN1)
Canal 2 (RA2/AN2)
Canal 3 (RA3/AN3)
Canal 4 (RA4/AN4)
Canal 5 (RE0/AN5)
Canal 6 (RE1/AN6)
Canal 7 (RE2/AN7)
Bit
Registro ADCON1
El registro ADCON1, es el registro de
configuracin de los pines del puerto A.
Los cuales pueden trabajar como:
como entradas analgicas.
entrada de tensin de referencia.
entrada o salida digital.
Los
bits 6, 5 y 4 no se encuentran
implementados.
Los cuatro bits restantes PCFG0 a PCFG3
se usan para configurar las patitas de los
canales de entrada al conversor como
analgicas o como entrada o salida
digital, de acuerdo a la siguiente tabla.
Mdulo CCP
Mdulo CCP (Capture, Compare, PWM)
El 16F877 tiene 2 mdulos: CCP1 y CCP2
Cada mdulo tiene un registro de 16 bits
y puede operar en los tres modos.
Los
dos mdulos son idnticos a
excepcin de la operacin especial
event trigger.
Ing. Diana Valdivieso Herrera
El
El
Modos de operacin:
Los timer asociados a los modos de
operacin son:
Modo captura Timer 1
Modo comparacin Timer 1
Modo PWM Timer 2
captura
Captura, comparacin
PWM, PWM
PWM, captura
PWM, comparacin
Registro CCPxCON
Registro CCPxCON
Bit
Registro CCPxCON
Bit
0000
0100
0101
0110
0111
1000
1001
1010
1011
11xx
Modo PWM
Modo Captura
La pareja de registros CCPRx captura
el valor que tiene el Timer1 cuando
ocurre un evento especial en el pin
RC2/CCP1 (para el mdulo CCP1) o
en el pin RC1/T1OSI/CCP2 (para el
mdulo CCP2). Dichos pines deben
configurarse como entradas.
Ing. Diana Valdivieso Herrera
Al
Modo Comparacin
En este modo:
El contenido de la pareja de registros
CCPR1H-L se compara con el valor del
Timer
1,
cuando
ambos
valores
coinciden, se produce un evento en el
pin RCy/CCPx, el cual debe estar
configurado como salida.
Al
Modo PWM
En este modo se puede producir una salida
de frecuencia fija seleccionable, est seal
puede ser modulada en ancho de pulso, es
decir el ciclo de trabajo de dicha seal
tambin se puede programar con una
resolucin de hasta 10 bits.
Esta salida se obtiene por los pines
RCy/CCPx, los cuales deben configurarse
como salidas.
Ing. Diana Valdivieso Herrera
Modo PWM
Secuencia de configuracin
del PWM
Establecer
el
perodo
de
PWM
escribiendo PR2.
Establecer CT escribiendo CCPRxL y
CCPxCON (5 y4 )
Configurar como salida CCPx
Configurar el preescalador del Timer 2 y
habilitar el Timer 2 en T2CON.
Configurar el CCPx en modo PWM en
CCPxCON (2 y 3)
Ing. Diana Valdivieso Herrera
Transmisin serial
El pic 16f877 posee dos perifricos para este
tipo de transmisin:
USART=
Universal
Synchronous
Asynchronous Receiver Transmitter.
MSSP= Master Synchronous Serial Port
USART
Puede ser configurada de tres modos:
Modo Asncrono (Full duplex,
bidireccional)
Modo Sncrono - maestro (half duplex)
Modo Sncrono - esclavo (half duplex)
Modo Asncrono
En este caso el USART utiliza el
formato NRZ, el cual utiliza 1 bit de
inicio, 8 o 9 bits de datos y bit de
paro. Mientras no se transmiten datos
se enva continuamente un bit de
marca.
Registro TXSTA
Este registro sirve para configurar
transmisin, su direccin 98H
la
Generador
El transmisor asncrono
El transmisor asncrono posee un registro de
corrimiento (TSR) que se encarga de ir
enviando bit por bit, la nica manera de
acceder a este registro es escribiendo el
dato a transmitir en el registro TXREG (19H).
Cada vez que el TSR queda vaco lee el
TXREG, al quedar vaco TXREG activa el flag
TXIF (bit 4 del PIR1(0CH).
Ing. Diana Valdivieso Herrera
El transmisor asncrono
El flag TXIF, no puede ser limpiado por
software, ya que cambia a cero en cuanto
hay un nuevo dato en TXREG, este flag
puede utilizarse para producir una
interrupcin.
Existe otro bit: TRMT el cual se pone en alto
cuando TSR est vaco y en bajo cuando
est transmitiendo un dato
Ing. Diana Valdivieso Herrera
El transmisor asncrono
Para habilitar el mdulo de transmisin es
necesario poner en alto el TXEN.
Si se est usando un noveno bit TX9, ste
deber ser escrito antes de escribir los 8 bits
restantes a TXREG, ya que en cuanto se
escribe
un
dato
a
este
registro
inmediatamente es transferido a TSR (si ste
est vaco).
Ing. Diana Valdivieso Herrera
El receptor Asncrono
El mdulo de recepcin es similar al de
transmisin.
Una
vez
que
se
ha
seleccionado el modo asncrono, la
recepcin se habilita poniendo en alto el
bit CREN (bit 4 del RCSTA).
El receptor Asncrono
El dato es recibido mediante la lnea
RC7/RX/DT).
El receptor posee un registro de corrimiento
RSR. Este registro no es accesible, pero
cuando el dato recibido se ha completado
es transferido al registro RCREG (1Ah) si ste
est vaco y al mismo tiempo se activa el
flag RCIF(PIR1<5>).
Ing. Diana Valdivieso Herrera
El receptor Asncrono
La nica manera de limpiar la bandera
RCIF es leyendo los datos del registro
RCREG. El registro RCREG puede contener
hasta dos datos, ya que es un buffer doble
que funciona como un cola de dos
posiciones.
El receptor Asncrono
Si las dos posiciones del registro RCREG
estn llenas (no han sido ledas) y se
detecta el bit de Stop de un tercer dato de
recepcin,
lo
cual
ocasiona
un
transferencia automtica del dato recibido
a RCREG, esto destruir el primer dato
recibido y activar el indicador de
sobreescritura OERR (RCSTA<1>). Para evitar
esto, se debern leer los dos datos en
RSREG haciendo dos lecturas consecutivas.
Ing. Diana Valdivieso Herrera
El receptor Asncrono
La nica manera de limpiar el bit OERR una
vez que ha sido activado es reseteando el
mdulo de recepcin (limpiando CREN y
volvindolo a poner), si no se limpia OERR
se bloquea la transferencia de datos de
RSR a RCREG y no puede haber ms
recepcin de datos.
Registro RCSTA
Bibliografa
ANGULO,
Jos, MICROCONTROLADORES
PIC. DISEO PRCTICO DE
APLICACIONES, Ed. McGraw-Hill,
Madrid, 2003.
ANGULO, Jos,
MICROCONTROLADORES PIC. DISEO
PRCTICO DE APLICACIONES. SEGUNDA
PARTE: PIC 16F87X, Ed. McGraw-Hill,
Madrid, 2000.
Ing. Diana Valdivieso Herrera
Bibliografa
Microchip
Microchip