Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial PIC16F877A Algunas Mejoras
Tutorial PIC16F877A Algunas Mejoras
Enseguida describir algunos aspectos bsicos que tienen que ver con
todos lo microcontroladores PIC de Microchip para su utilizacin.
CARACTERSTICAS
Frecuencia mxima
16F877A
DX-20MHz
8KB
368
256
Puertos E/S
A,B,C,D,E
Nmero de pines
40
Interrupciones
15
Timers
Mdulos CCP
Comunicaciones Serie
Comunicaciones paralelo
Modulo Analgico a Digital de 10 bit
Juego de instrucciones
Longitud de la instruccin
MSSP, USART
PSP
8 canales de
entrada
35 Instrucciones
14 bits
Arquitectura
CPU
Mdulos Comparador/comparador/Pwm
Harvard
Risc
2
EL ENCAPSULADO.
Aqu muestro una tabla en la cual describo cada Pin o patilla del
Microcontrolador.
NOMBRE DEL
PIN
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp.
RA0/AN0
RA0
AN0
RA1/AN1
RA1
AN1
RA2/AN2/VrefRA2
AN2
VrefCvref
RA3/AN3/Vref+
RA3
AN3
Vref+
TIPO
PI TIPO DE
DESCRIPCIN
N
BUFFER
13
I
ST/MOS Oscilador de cristal entrada /
Entrada de seal de reloj externa
14
O
Oscilador de cristal salida / Salida
de seal de reloj externo.
1
I/P
ST
Master Clear (entrada) Voltaje
de programacin (salida).
Master Clear (reset) entrada. Este
pin activa el reset vuando esta en
bajo (0v.)
Entrada
del
voltaje
de
programacin.
PORTA
es
un
puerto
I/O
2
TTL
bidireccional
I/O
RAO: Digital I/O
I
Entrada Analgica 0
3
I/O
TTL
RA1: Digital I/O
I
Entrada Analgica 1
RA2: Digital I/O
Entrada Analgica 2
A/D Entrada voltaje (bajo) de
referencia.
Comparador VREF. Salida
I/O
TTL
I/O
I
0
ST
I/O
I
I
TTL
I/O
I
I
O
5
RA4/T0CKI
RA4
T0CKI
C1OUT
RA5/
/AN4/C2OUT
RA5
AN4
C2OUT
TTL
de
reloj
PORTB
es un puerto I/O
bidireccional.
Puede
ser
programado en todas las entradas
con pull up.
RBO/INT
RBO
INT
33
RB1
RB2
34
35
RB3/PGM
RB3
PGM
36
RB4
RB5
37
38
RB6/PGC
RB6
PGC
39
RB7/PGD
RB7
PGD
40
TTL/ST
I/O
I
RCO/T1OSO/T1
CKI
RCO
T1OSO
T1CKI
15
RC1/T1OS1/CCP
2
RC1
T1OS1
CCP2
16
RC2/CCP1
RC2
CCP1
17
I/O
I/O
I/O
TTL
TTL
TTL
I/O
I
TTL
I/O
TTL
TTL
TTL/ST
I/O
I
I/O
I/O
ST
PORTC
es
bidireccional
un
puerto
I/O
I/O
O
I
I/O
I
I/O
I/O
I/O
RC3/SCK/SCL
RC3
SCK
18
I/O
I/O
SCL
I/O
RC4/SD1/SDA
RC4
SD1
SDA
23
RC5/SD0
RC5
SD0
24
RC6/Tx/CK
RC6
Tx
CK
25
RC7/RX/DT
RC7
RX
DT
26
RD0/PSP0
RD0
PSP0
ST
ST
I/O
I
I/O
ST
ST
I/O
O
I/O
O
I/O
I/O
I
I/O
19
RD1/PSP1
RD1
PSP1
20
RD2/PSP2
RD2
PSP2
21
RD3/PSP3
RD3
PSP3
22
RD4/PSP4
RD4
PSP4
27
I/O
I/O
ST/TTL
RD1: Digital I/O
Dato de Puerto paralelo esclavo
ST/TTL
I/O
I/O
I/O
I/O
I/O
I/O
RD5/PSP5
RD5
PSP5
28
RD6/PSP6
RD6
PSP6
29
RD7/PSP7
RD7
PSP7
30
REO/
REO
I/O
I/O
I/O
I/O
I/O
I/O
/AN5
I/O
I
I
I
ST/TTL
/AN6
I/O
I
I
ST/TTL
I/O
I
ST/TTL
RE2:Digital I/O
Selector de control para el puerto
paralelo esclavo.
Entrada analgica 7.
AN6
RE2/
AN7
Vss
Vdd
PORTE
es
un
puerto
I/O
bidireccional
REO: Digital I/O
Control de lectura para el puerto
esclavo paralelo.
Entrada analgica 5.
AN5
RE1/
RE1
ST/TTL
/AN7
10
I
12
31
11
32
Puerto B:
Puerto e/s 8 pines
Resistencias pull-up programables
RB0 Interrupcin externa
RB4-7 Interrupcin por cambio de flanco
RB5-RB7 y RB3 programacin y debugger in circuit
Puerto C:
Puerto e/s de 8 pines
RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj
del modulo Timer1).
RC1-RC2 PWM/COMP/CAPT
RC1 T1OSI (entrada osc timer1)
RC3-4 IIC
RC3-5 SPI
RC6-7 USART
Puerto D:
Puerto e/s de 8 pines
Bus de datos en PPS (Puerto paralelo esclavo)
Puerto E:
Puerto de e/s de 3 pines
RE0 RE0 y AN5 y Read de PPS
RE1 RE1 y AN6 y Write de PPS
RE2 RE2 y AN7 y CS de PPS
Dispositivos perifricos:
Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits
Timer1: Temporizador-contador de 16 bits con preescaler que puede
incrementarse en modo sleep de forma externa por un cristal/clock.
Timer2: Temporizador-contador de 8 bits con preescaler y
postescaler.
Dos mdulos de Captura, Comparacin, PWM (Modulacin de
Anchura de pulsos).
Conversor A/D de 10 bits.
Puerto Serie Sncrono Master (MSSP) con SPI e I2C (Master/Slave).
USART/SCI
(Universal
Synchronous
Asynchronous
Receiver
Transmitter) con 9 bit.
Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines.
(MCLR / Vpp): Es una pata de mltiples aplicaciones, es la entrada de
Reset (master clear) si est a nivel bajo y tambin es la habilitacin de la
tensin de programacin cuando se est programando el dispositivo.
Cuando su tensin es la de VDD el PIC funciona normalmente.
EL RESET: EL PIC16F877 posee internamente un circuito temporizador
conectado al pin de reset que funciona cuando se da alimentacin al
micro, se puede entonces conectar el pin de MCLR a la fuente de
La seleccin del banco de memoria se hace por medio de los bits RP1 y
RP0 del registro STATUS (6,5).
Tabla de seleccin de bancos.
Por ejemplo si TRISE es igual a 110 todos sus pines sern entradas salvo
RE0 que esta como salida.
SI TRISB es igual a 00000001 todos sus pines sern salidas salvo RB0
que esta como entrada.
Cuando el PIC arranca se encuentra en el BANCO 0, como TRISA y TRISB
Estn en el BANCO 1 no queda de otra, deberemos cambiar de banco.
Esto se logra a travs del Registro STATUS.
STATUS es un Registro de 8 bits u 8 casillas, en el cual la N 5 (RP0) y la
N 6 (RP1) definen la posicin del banco en donde nos encontramos.
Como se muestra con la figura que se vio en la seccin de la LA
MEMORIA RAM (Tabla de seleccin de bancos).
copiar el valor del registro "REG1" al registro "REG2" (ya veremos como
ponerles nombres a los registros) escribiremos:
BIBLIOGRAFIA:
1. Hoja de datos del PIC16F87xA de Microchip.
2. Programacin del PIC16F84. por Carlos Daz www.electron.es.vg
3. Club Saber electrnica curso de pics para estudiantes y aficionados N0 20.
4. Ed Quark Ing. Horacio D. Vallejo
5. Club Saber electrnica microcontroladores PIC Programacin y desarrollo
N0 24. Ed Quark Ing. Horacio D. Vallejo
6. EL PIC16F877 por Marco Antonio Mrquez Surez