CURSO DE MICROCONTROLADORES
PIC16F87X
‘omenzamos este
muevo curso des-
pués de la acepta-
Soa que ben
teniendo los ante-
riores relacionados con e! mun-
do de los microcontroladores,
PIC. En esta Revista se han
ublicado con anterioridad el
“Curso de aplicaciones con
microcontrotadores PIC” basa-
do en el microcontrolador PIC
16F84, escrito por el Dr. Euge-
niio Martin Cuenca, (revistas n°
161 2171), yel “Curso de pro-
gramacién de Microcontrola-
dores PIC: El MPLAB”, escri-
to por el profesor Fernando
Remiro Dominguez (revistas n°
179-187). En el mimero 189
hemos publicado un “Médulo
de aprendizaje sobre microcon-
troladores PIC” disefiado por el
profesor Juan de Dios Calle,
sobre el que se podrin realizar
las précticas que se disefiare-
‘mos para este curso. No obs-
tante, iremos planteando a lo
largo de este curso, la realiza-
cién practica de herramientas
de ficil desarrollo y bajo coste,
para hacer verdaderamente
prictico este curso. De todas
formas se recomienda a los lec-
tores que vayan a seguir este
curso que consigan el software
MPLAB que se puede bajar de
la web de Arizona Microchip
wwwmicrochip.com, asi mis-
mo, se necesitard un programa-
dor para los microcontrolado-
res, €s valido cualquiera de los
Publicados en esta Revista,
ppeto como ya hemos dicho a lo
largo del curso plantearemos
alguno de bajo costo. Espera-
‘mos que 0s guste el curso y lo
disfrutéis
El corazén de los
Microcontroladores
PICLOF87X.
La mejor forma de comen-
zara estudiar un microcontrola~
dor, en este caso una familia de
microcontroladores, es la de ver
sus caracteristicas mas relevan-
tes, y es justamente lo que
‘vamos a hacer en las siguientes
Tineas:
Principales Caracteristicas
Enumeramos las prestaciones y
dispositivos especiales que
rodean a los PICI6F87X.
Fernando Remiro Dominguez
Profesor de Sistemas Electrénicos
JES, Juan de la Cierva
wweterra.es/personalifremiro
Foto 1 Equlpos de desarroito
par con ta familia de
‘microcontroladores PICIGFE7X.
+ Procesador de arquitectura
RISC avanzada
+ Juego de solo 35 instruccio-
nes de 14 bits de longitud.
Todas ellas se ejecutan en
uun ciclo de_instruccién,
menos las de salto que tar-
dan dos.
+ Hasta 8K palabras de 14 bits
para la Memoria de Progra-
ma, tipo FLASH en los
modelos 16F876 y 16F877
y 4KB de memoria para los
PIC 16F873 y 16874,
+ Hasta 368 Bytes de memoria
de Datos RAM.
+ Hasta 256 Bytes de memoria
de Datos EEPROM.
+ Pines de salida compatibles
para_el PIC 16C73/74/
16/71.
+ Hasta 14 fuentes de interrup-
cién internas y externas.
+ Pila de 8 niveles.
+ Modos de direccionamiento
directo e indirecto,
+ Power-on Reset (POP).
+ Temporizador Power-on
(POP) y Oscilador Tempori-
zador Start-Up (OST).
Perro Guardidn (WD1).
Cédigo de proteccién pro-
sgramable.
Debugger In-Circuit
Modo SLEEP de bajo con-
sumo.
Programacién serie en cir-
cauito con dos pines.
Solo necesita SV para pro-
sgramarlo en este modo.
+ Voltaje de alimentacion com-
prendido entre 2 y 5,5 V.
+ Bajo consumo:
<2:mA valor para 5 V y 4 Mhz,
20 A para 3V y 32 Mhz
<1 pAen standby
+ + +H +4Dispositives Periféricos DIP, SOIC
+ Timer0:; Temporizador-con-
tadordeSbisconpeesa- | gecRwremev > CPi b= aran
fi eee edl 2 27D = nesPac
* Monde Lots con peste rane] s eth se
dor de 16bitscon preesea- |" paganoner=—~C] 4 aah] se ra
lerque puede nerementase | pagaanmers=—C]§ Baa] == nara
externa por un cristal/clock, RATION Sart Ss zak] =~ AB2
+ Timer2: Temporizador-con- 4 Rasianaisse—> (7 2 2ef] => Ret
tador de 8 bits con preesca- | ves—~L 8 s 212) = RBOINT
ler-y postescaler. oscuciKiIn—-T] 9 & 20f] =— voo
+ Dos médulos de Captura, oscactKour =—C}10 a 19) =— vss
Comparacién, Bw | RcoTtosortcKi=—> C]11 180] == rc7mxoT
(Modulacién de Anchura de | RCVTIOSuCCR2——~ 1] = aceneck
Impulsos). Roaccr1 =| 5 ++ rcss00
+ Conversor A/D de 10 bits. RCWSCKISCL ++ [1 + RC«/SDVSDA
+ Puerto Serie Sincrono Mgs-
ter (MSSP) con SPI ¢ I2C
(Master/Slave).
+ _USART/SCI (Universal
‘Syncheronus Asynchronous
Receiver Transmitter) con 9
bit.
+ Puerto Paralelo Esclavo
(PSP) solo en encapsulados RevPGD
con 40 pines FEBS
‘i Fes
Diferencias entre los Ree
modelos de 28 y los RESPoM
de 40 patitas
Fee
EPIC 1 6F873 y el 876 tie- Pet
nen 28 pines, mientras que el
PIC 16874 y 877 tienen 40,
‘Nos centraremos en el PIC
16F873 -y las diferencias que
tiene con sus hermanos son
minimas y se detallan a conti-
rmuacién:
31D) <— ves
ROTPSP7
29f~—> Rospsre
20 <> Aoseses
=> ROMPSPA
26 =» Ac7moT
PIC16F877/874
o
1. Los modelos de 40 pines
disponen de 5 Puertos de E/S:
A,B,C, Dy E, mientras que asf <—» RosmucK
los de 28 solo tienen 3 Puer- |. 24f<—= ACHSOO
tos: A, By C. cs 23] <—» Rc«sovsDA
2. Los modelos de 40 pines 22] <—= Aoapsrs
tienen 8 canales de entrada al 21 f=» Roasra
Conversor A/D, mientras que
los de 28 solo tienen 5 canales.
3. S6lo poseen la Puerta Para-
iela Esclava los PIC 16F87X
de 40 pines. Figura 2-Encapeulado POP de 40 pinesCoracerisions 16673 vere7a|~—«( B76 16877
Frecuencia Maxima DC-20Mhz ~DC-20Mhz. DC-20Mhz | _DC-20Mhz
‘Memoric de programa AKB KB
|__ FLASH Palabra de 14 bits
Posiciones RAM de datos 192
Posiciones EEPROM de datos 128
Ports E/S. a AByC
Ni de Pines 2B
Interrupciones 13
Timers 3
‘Médulos CCP 2
Comunizaciones SSP, USART
‘Comunicacién Poralelo =
lineas de entradaen | .
|__Convertidor A/D de 10 bits |
‘Juego de nsuciones | GBinsirvciones | 35 isrvclones_| AS inerucciones | 35 isivcciones
Longitud de la instruccion 14 bits | 4 bits. 14 bits ‘14 bits:
Tabla 1 Comparacon dente los PIC dela Familia Y6FETX.
los PIC 16F87X. En la Tabla | se muestran las Ejercicio Présctico
Bajo el nombre de esta sub- caracteristicas _comparativas Para todos aquellos que ya
familia de microcontroladores,
actualmente encontramos cua:
tro modelos: EL PIC
16F873/4/6 y 7. Estos miero-
controladores disponen de una
‘memoria de programa FLASH
de-4.a8 KBytes de 14 bits, con-
siderablemente superior frente
al PIC 16F84 en el que solo dis-
pponiamos de | Kbyte de 14 bits.
Esta caracteristica, junto con la
posibilidad de realizar, con las
herramientas adecuadas, un
debugger en circuito, nos han
parecido de lo més interesante
Pare! aprendizaje de exta fmt
lia de microcontroladores y pos-
terior desarrollo de proyectos.
De los microcontroladores
indicados, el 16F873 y el
16FS76 son de 28 pines, mien-
tras que 16F874 y el 16F877
tienen 40 patillas, lo que les
petite disponer de hasta 33
lineas de E/S. En su arquitectu-
ra ademas incorporan:
+ Varios Timer
+ USART
+ Bus 12C
mids relevantes de esta familia
de microcontroladores :
La familia consta de cuatro
dispositivos _ (PICI6F873,
PICIOF874, PICI6F876_y
PICIGF877). Los PIC
16F876/873 entran en el blo-
gut de dispostivosencapsula-
en 28 pines y los PIC
16F877/874 entran en el blo-
que de dispositivos encapsula-
dos en 40 pines. Los dispositi-
vos de 28 pines no tienen
implementado el puerto para-
lelo esclavo.
Las siguientes figuras,
corresponden a los diagramas
de bloque de los dispositivos.
Los de 28 pines en la Figura 3
y los de 40 pines en la Figura
4, y en la Tabla 2 se muestra
un listado de cada uno de los.
ines correspondientes a los
dispositivos de 40 que tienen
su correspondiente patilla en
los dispositivos de 28 pines.
habéis trabajado con algin
microcontrolador de Micro-
chip, como por ejemplo el
PICIGF84 o ya dispontis de
un programador para este
tipo de microcontroladores,
‘8 proponemos un primer
programa que seré muy facil
de seguir, ya que el juego de
instrucciones es exactamente
el mismo que para el
PICL6F84. Se trata de leer el
valor de las lineas del POR-
TA, que conectaremos a unos
interruptores que nos den un
“9” oun “I”, y mostrar dicho
valor sobre” unos. diodos
LED's conectados al PORTB.
Hay que tener en cuenta
que las entradas del PORTA
se configuran como entradas
analégicas, al hacer un reset,
por Io tanto, Io primero que
tendremos que hacer, es con-
figurar estas entradas en el
registro ADCON1 como
entradas. Esto lo veremos en
su: momento cuando estudie-
mos los registros de configu-‘Dispositivo | Memoria | Memoria de femoria Datos]
FLASH Datos | EEPROM
PICTOFOTS * 122 Bytes | 128 Bytes
PICTGFBTE a 368 Bytos_| 256 Bytos
= teed
ssrantin| aa,
Poe
waa" || b
‘Tever l
a
was
Sst
Popannl
oe
=) ee ee) fe
‘ata EEPROM = yoo se
Nota ‘Los bit de mayor peso proceden del registro de STATUS
‘s
RB7PCD
RcomrosorcK
Rewrrosiec?
Rewsexsct
Rewsp1so
RowPec,
Remar
Figura 9-Diagrama de bloques del PICIGFE7S V del PICTOFATE.Nombre Pin | DIP | PLCC) QFP|1/0/P| Buffer | Descripcién |
_ Pint | Pin# |Pin#! Tipo | _ Tipo
OSCYERN [13 [14 } 30 | 1 | St/CMOSt Eade ener de rd
OSCYOKOT | 1a} 1S] -BN Of — Seis osclodor de cristal, Conexion
til o reson en medooxcldor
(cid En modo RC, a side OSC? es
1/4de a fecsene de OSC, que
ee | es un ci de insti.
HERG f 1] 218 | VP} ST Trroda Moser Cler [real o erro do
‘aoe de progromacién ao vale do
precho en mado con, E Ree se ota
ean nivel bjo
PORTA es bsdreccanal de Enrod/Saida—
RAO/ANO 2 | 3 | 19! vo} Tm |RA0 puede sr enrde onogin 0
RAI/AN 3 | 4 | 20) VO | TR [RAI puede serenade ondége |
razianaivee- | 4 | 5 | 21] VO | Th |RA2puede sr enrodo onalgiea 20
habe nepve de referencia.
pasyanaymere | $ | 6 | 22| VO | TH |RA3 puede ser enrade ancégia 0
hake posto de elerenco
Rad/TOCK 6 | 7 | 2] Vo | St |Rd puede ser enrade de rej TRO,
lo cide es de ipo “Drenodor Abierto"
pasiss/ane | 7 | 8) | 24] YO | TR |RAS puede ser enrod onlin 4 0
: a selcién dl puro exclovo snrono.
FORTS es bdreeonel de Enrca/ Soli.
Puede progromarse con plrizcien
inter “Pallup™
f0/1NT 23 | 96] 8 | YO | TRYST” R80 pede sr eho ofa de iterpcin
Bl {ul a|s|yo| m
82 3% | #1] vo} m
83/96 36 | 39) 11] VO | TR |p punde ser enrad de boo wij
de pregrmacisn
aa a7 | | 14| yo | mm _|lerpeiones por cambio de eso ena pata
85 38 | 42 | 15) VO) _ TM Ineroprions por eanbio de eso en pila
w6/P6C 39 | 43 | 16 | VO | TST |ierupciones por cambio de ested ena pata
«par rest Debugger orl sre pra
rogremacén,
87/°GD 4 | 441.17 | Vo | TIUSP* [trepcones per abi de edad en pot
E pala Inet Debugger dls serie
fora progamacée,
FORTC es bidreeconal do Envodo/Salda |
Rcomiosomicn | 15 | 16 | 32] VO | ST |RCOpvede ser sade osclder Timer
oer dere poro Timer!
acimosyocre | 16 | 18 | 35] vO | St RCI puede ser entode oscador Timer!
| Copn2/COMP2 Soido/PWM2
Re2/CcPL 7 | 19 | 96| Vo | st [C2 Puede ser Cops! Exreda/Compt
| solido/PWM
neayscasa. | 18 | 20 | 37] VO | S/T |RC3 puede ser ents dl lj sncrono
[pros modes Se 2
acasspvsod | 23 | 25 | 42| VO | St [RCA puede ser dts de era SP (modo SF)
doles /0 (modo 12)
RC5/S00 2 | 26 | | YO | St |RC5 pede ser datos d sae St node SP
rearnies | | 7 | a4 | VO | St (Rcéhehseroniin cine USAT
ore Sinrono
R7/RXIOT % | B | 1| vo perc seer USAT
|e dos Sieronos
: IPORID es bidreccinal de Enkoda/Salda |
Jo pers exdovo porllo
00/P3P0 1 | 2 | 38| vo | svm=
rover: | 2 | 2 | 3 | vo | sim |
02/502 2 | 2 | | vo | sim
03 /PSP3 2 | mw} a| vo | sim
woa/esPa 7 | »|2| vo | sym
ROS/PSPS | 3 | 3| yo | sym
ROS PSPS » | 2) 4| yo) sym
RO7/PS27 wo | 3 | 5 | vo | smNombre Pin | DIP | PLCC |QFP1/0/P] Buffer | Descripeion
Ping | Piné |Pin#| Tipo | Tipo -
FORTE er bidirectional de Etrdo/Salida
REO/RO/ANS: 8 | 9 | 25] vO | STI | REOpoede ser conta de loca de puerto
parade, 0 enrana cnalégica 5
reiwR/Ans | 9 | 10 | 26 | YO | ST/M™ | REI puede ser contol de excritra dl
Leto poraeloo enrade andgica &
reucs/an7 | 10 | 11 | 27 | vO | st/me | RE2 puede ser onl de slecion dl
oe eS. pd pesto paraleo, enrena oncgica 7
Tat | P =| Masa lego y pals de Entoda/Solida |
13,32 P = Positive pora logica y patilas