Sei sulla pagina 1di 30

UNIVERSIDAD NACIONAL

DE INGENIERIA
El PIC 16f84
AUTORES
:
KEVlN NELSON QUlONEZ
MERCADO FRANClSCO
TELEMACO LOPEZ
25/11/2010
INGENIERIA
ELECTRONICA
3T1-EO
Este Paper esta basado en el PIC 16F84. Fue elaborado para material de la clase de electrnica diital
para uso did!ctico e instructi"o tanto del docente como del estudiante.
Tabla de contenidos
PROLOGO .....................................................................................................................................
................3
ABSTRACT.....................................................................................................................................
................4
lNTRODUCClON ............................................................................................................................
................5
QU ES UN MlCROCONTROLADOR?
...........................................................................................................5
UN POCO DE HlSTORlA
.................................................................................................................................6
DlFERENClA ENTRE UN MlCROCONTROLADOR Y UN MlCROPROCESADOR
.................................................7
El PlC l6F84
..................................................................................................................................................7
Capitulo l ESPEClFlCAClONES DEL DlSPOSlTlVO
..........................................................................................8
Descripcin de pines
..................................................................................................................................ll
Arquitectura del PlC
l6F84.........................................................................................................................l2
Memoria de Programa
...............................................................................................................................l3
Memoria de
Datos......................................................................................................................................l5
Capitulo 2 PUERTOS DE ENTRADA Y
SALlDA...............................................................................................l8
Configuracin de Puertos de entrada y salida
............................................................................................l9
Limite de corriente para los puertos
..........................................................................................................20
Capitulo 3 TEMPORlZADORES DEL
PlCl6F84..............................................................................................22
TlMER0 ..........................................................................................................................................
.............22
El Prescaler
.................................................................................................................................................23
Capitulo 4 OTROS ClRCUlTOS DEL MlCROCONTROLADOR
.........................................................................27
Osciladores externos
..................................................................................................................................27
PlN
MCLR..............................................................................................................................................
......28
Conclusin ......................................................................................................................................
............29
Bibliografa .....................................................................................................................................
............29
PROLOG
O
El microcontrolador es uno de los logros ms sobresalientes del siglo XX. Hoy existen
casi
15,000 millones de microchips de alguna clase en uso. Para la mitad del siglo prximo, es
posible ue el microcontrolador t!pico tenga mayor poder de cmputo ue las
supercomputadoras ms "eloces de hoy.
#uestros antepasados no pod!an ni imaginarse el cambio ue se iba a producir en sus "idas
este peue$o chip de silicio. %ctualmente los podemos encontrar en cualuier sitio&
microondas, 'rigor!'icos, coches, a"iones, mandos a distancia, radios, tele"isores. Hoy se
puede comprar tar(etas de 'elicitacin ue contienen procesadores con mayor poder de
cmputo ue las computadoras ms grandes del mundo en 1)*1.
+uchos 'uturistas predicen ue en siete generaciones contadas a partir de ahora, estos chips
incorporarn reconocimiento del habla a procesadores de textos y sistemas de entrada de
pedidos. Producirn gr'icos en ,- del tama$o de muros para tele"isin, telecon'erencias e
incluso pel!culas personali.adas. -irigirn nuestros "eh!culos para optimi.ar la seguridad y
crearn mundos "irtuales por los ue nos despla.aremos. -arn instruccin a nuestros hi(os,
super"isarn nuestra salud, reempla.arn partes perdidas del cuerpo y, a tra"/s de una
ret!cula de miles de millones de sensores, nos conectarn con el mundo en 'ormas ue slo
podemos imaginar "agamente.
En de'initi"a, el microcontrolador puede ser considerado como uno de los in"entos ms
importantes de este siglo, y uien sabe si tambi/n del prximo.
%lgunos 'abricantes de microcontroladores superan el milln de unidades de un modelo
determinado producidas en una semana. Este dato puede dar una idea de la masi"a utili.aci
n de estos componentes. 0os microcontroladores estn siendo empleados en multitud de
sistemas presentes en nuestra "ida diaria, como pueden ser (uguetes, horno
microondas, 'rigor!'icos, tele"isores, computadoras, impresoras, mdems, el sistema de
arranue de nuestro "eh!culo, etc. 1 otras aplicaciones con las ue seguramente no estaremos
tan 'amiliari.ados como instrumentacin electrnica, control de sistemas en una na"e
espacial, etc. 2na aplicacin t!pica podr!a emplear "arios microcontroladores para controlar
peue$as partes del sistema. Estos peue$os controladores podr!an comunicarse entre ellos
y con un procesador
central, probablemente ms potente, para compartir la in'ormacin y coordinar sus acciones,
como, de hecho, ocurre ya habitualmente en cualuier P3.
ABSTRAC
T
% micro controller is, basically, a complete computer, 4hich has a 5%+ memory, processor
unit, all that you can imagine that there is inside o' a computer. 6his huge electronic 4as
designed 'or to reali.e almost any tas7 a'ter o' the programming process.
8asically, the micro controller is con'ormed by millions and millions o' transistors that together
ma7e any tas7, i' the conditions permit it, a'ter that the user ma7e the programming process
'or to e(ect the desire tas7. %t the same 4ay, 4hen you programs your cellphone 'or that ring
your 'a"orite song or to programs the alarm 'or an speci'ic time, is also possible that you
program the micro controller, in this example your cellphone is the micro controller, composed
by millions o' resistors and transistors, and you are the programer that decide that the micro
controller ha"e that ma7e and 4hen ha"e to ma7e.
6he micro controllers go beyond 4here last 4e imagine, in tele"ision, 9P:-;,
cellphones, "ideogames console and a lot o' applications that be part o' our li"e.
INTRODUCCIO
N
3omo obser"amos anteriormente el insuperable poder de los microcontroladores ha tomado un
rumbo re"olucionario en el mundo tecnolgico y cada d!a lo "emos mas cerca de nuestra
"ida de lo ue nos imaginamos.
El siguiente documento est basado en el P93 1<=>? del 'abricante +icrochip 6ecnology 9nc.,
en el cual se abordara todos los temas relacionado a este microcontrolador. Este paper 'ue
elaborado para material de la clase de electrnica digital para uso didctico e instructi"o
tanto del docente como del estudiante.
+as adelante, hablaremos de la historia del microcontrolador y del surgimiento del P931<=>?,
adems, se estudiaran las caracter!sticas exclusi"as del P931<=>? y P931<=>?%, y el sin
numero de aplicaciones ue este micro controlador puede tener.
QU ES UN
ICROCONTROLADOR!
2n microcontrolador, es un circuito integrado programable ue contiene los elementos
necesarios para controlar un sistema.
P93 signi'ica Peripheral 9nter'ace 3ontroler es decir un controlador de peri'/ricos. 3uando
hablamos de un circuito integrado programable ue controla peri'/ricos, estamos hablando
de un sistema ue contiene entre otras cosas una unidad arim/tico@lgica, unas memorias
de datos y programas, unos puertos de entrada y salida, es decir estamos hablando de
un peue$o ordenador dise$ado para reali.ar unas 'unciones espec!'icas. Podemos
encontrar microcontroladores en la"adoras, teclados, tel/'onos m"iles, ratones etc. Hay
multitud de microcontroladores con ms memoria, entradas y salidas, 'recuencia de traba(o,
coste, subsistemas integrados y un largo etc. dependiendo de cada tipo de microcontrolador.
UN POCO DE
"ISTORIA
En el a$o 1)<), un euipo de ingenieros (aponeses de la compa$!a 82;13:+ llegaron a
Estados 2nidos con una propuesta de ue algunos circuitos integrados para
calculadoras 'ueran dise$ados de acuerdo a sus proyectos. Esta propuesta 'ue en"iada a la
compa$!a 9#6E0 y +arcian Ho'' estaba a cargo del proyecto. -esde muchos a$os con la
experiencia de traba(as con computadores P-P>, "ino a el la idea de sugerir una solucin
'undamentalmente di'erente basada en el dise$o propuesto por los (aponeses. 0a
solucin presum!a ue la operacin del circuito integrado iba a ser determinada por un
programa almacenado en el circuito mismo. Esto signi'icaba ue la con'iguracin seria ms
simple, pero esto reuer!a de mucho ms memoria ue los proyectos propuestos por los
ingenieros (aponeses. 0uego de un tiempo, tambi/n los ingenieros (aponeses trataron de
encontrar una solucin ms 'cil. 0a idea de +arcian Ho'' gano y as! naci el primer
microprocesador. 0uego la empresa 9ntel tu"o /xito en desarrollar el microcontrolador de
acuerdo al concepto original. En 1)*1 9ntel obtu"o el derecho de "ender estos circuitos
integrados. %ntes ue 9ntel comprara la licencia la compa$!a 82;93:+ no tenia idea alguna
del tesoro ue esta empresa tenia. -urante ese a$o, un microprocesador llamado el ?00?
apareci en el mercado. Este 'ue el primer microprocesador de ?@bits con una "elocidad de
<000 operaciones por segundo. -espu/s 9ntel y 6exas 9nstruments se mantu"ieron traba(ando
en un microprocesador de >@bits llamado >00> ue en %bril de 1)*A saldr!a al mercado. Este
microprocesador ten!a capacidad de 1<B de memoria, tenia ?5 instrucciones y la "elocidad de
,00,000 operaciones por segundo.
0uego otras compa$!as %mericanas como +otorola, Cilog inc. entre otras siguieron la
re"olucin de los microprocesadores. En 1)*< Cilog anuncio el C>0. El C>0 'ue el
microprocesador ms poderoso en ese tiempo. Este ten!a capacidad de memoria de <?Bb,
ten!a 1*< instrucciones, un gran nDmero de registros, mayor capacidad de operacin etc. Estos
a"ances 'ueron demasiado signi'icati"os para abrir el paso a nue"as re"oluciones tecnolgicas
de microprocesadores y microcontroladores a como lo podemos obser"ar en la actualidad.
DI#ERENCIA ENTRE UN ICROCONTROLADOR $ UN
ICROPROCESADOR
2n microcontrolador di'iere de un microprocesador en muchas maneras. 0a primera y la ms
importante es su 'uncionalidad. -e acuerdo a como el microprocesador sea usado, otros
componente tales como memorias o transmisin de datos deben ser a$adido. 6ambi/n los
microprocesadores se consideran ser poderosas mauinas computadoras, su punto d/bil esta
en ue no posee comunicacin directa con peri'/ricos. En otras palabras un microprocesador
solamente es el cora.n del computador.
Por otra mano, el microcontrolador es dise$ado para ser todo en uno. #o se necesita a$adir
otro componente externo ya ue los peri'/ricos pueden ser directamente ensamblados a el. En
cualuier otro caso este ahorra tiempo y espacio necesario para el dise$o de un aparato.
El PIC %&#'(
El P93 1<=>? es un microcontrolador con memoria de programa tipo =0%;H es decir nunca
pierde su programacin, lo ue representa gran 'acilidad en el desarrollo de prototipos y en su
aprendi.a(e ya ue no se reuiere borrarlo con lu. ultra"ioleta sino ue permite reprogramarlo
nue"amente sin ser borrado con anterioridad.
Ca)it*lo % ESPECI#ICACIONES DEL
DISPOSITI+O
El P93 1<=>? aunue no es uno de los microcontroladores mas recientes de +icrochip inc. si
es una herramienta poderosa para la introduccin al aprendi.a(e en el mundo de los
microcontroladores. %lgunas de las principales caracter!sticas E1F se mencionan a continuacin&
5epertorio de ,5 9nstrucciones.
6odas las instrucciones se e(ecutan en un solo ciclo excepto las de salto ue necesitan
dos.
Gersiones para ba(o consumo H1<0=>?%I, de ? +H. HP931<=>?%@0?I y A0 +H.
HP931<=>?%@A0I. 2n ciclo muina del P93 son ? ciclos de relo(, por lo cual si tenemos
un P93 con un cristal de ? +H., se e(ecutarn 1 milln de instrucciones por segundo.
=recuencia de traba(o mxima de 10+HC para P931<=>? y de A0+HC para P931<=>?%.
+emoria de programa =lash de 1 B x 1? bits.
+emoria 5%+ di"idida en A reas& AA registros de propsito espec!'ico H;=5I y <> de
propsito general HJP5I como memoria de datos.
15 registros de 'unciones especiales.
+emoria de datos 5%+ de <> bytes H<> registros de propsito generalI.
+emoria de datos EEP5:+ de <? bytes.
3ontador de programa de 1, bit Hlo ue en teor!a permitir!a direccionar ? B8 de
memoria, aunue el 1<=>? solo dispone de 1B8 de memoria implementadaI.
Pila con > ni"eles de pro'undidad.
+odos de direccionamiento directo, indirecto y relati"o.
%02 de > bits y registro de traba(o K del ue normalmente recibe un operando
ue puede ser cualuier registro, memoria, puerto de EntradaL;alida o el propio cdigo
de instruccin.
? 'uentes de interrupciones&
1. % tra"/s del pin 580L9#6.
A. -esbordamiento del tempori.ador 6+50.
,. 9nterrupcin por cambio de estado de los pines ?&* del Puerto 8.
?. 3ompletada la escritura de la memoria EEP5:+.
1,000,000 de ciclos de borradoLescritura de la memoria EEP5:+.
?0 a$os de retencin de la memoria EEP5:+.
1, pines de EL; con control indi"idual de direccin.
P2E56: % de 5 bits M5%0&5%?N.
P2E56: 8 de > bits M580&58*N.
3ontadorL6empori.ador 6+50 de > bits con di"isor programable.
Po4er@on 5eset HP:5I.
Po4er@up 6imer HPK56I.
:scillator ;tart@up 6imer H:;6I.
Katchdog 6imer HK-6I.
Proteccin de cdigo.
+odo de ba(o consumo ;0EEP.
Puede operar ba(o ? modos di'erentes de oscilador.
Programacin en serie a tra"/s de dos pines.
6ecnolog!a de ba(a potencia y alta "elocidad 3+:; =lashLEEP5:+.
3aracter!sticas el/ctricas mximas Hno deben ser superadas y de mantenerse por un
tiempo en algDn mximo puede da$arse al P93I
1. 6emperatura ambiente mxima para 'uncionamiento de @55O3 a P1A5O3.
A. 6ensin mxima de G-- respecto a G;; de @0,, a P*,5G.
,. 6ensin de cualuier patilla con respecto a G;; Hexcepto G--, +305, y
5%?I de @0,,G a HG-- P 0.,GI.
?. 6ensin en +305 con respecto a G;; @0,, a P1?G.
5. 6ensin en 5%? con respecto a G;; @0,, a P>,5G.
<. -isipacin de potencia total de >00 mK.
*. +xima corriente de salida a G;; 150 m%.
>. +xima corriente de salida de G-- 100 m%.
). +xima corriente del puerto Q%Q como 'uente, 50 m%.
10. +xima corriente del puerto Q%Q como sumidero, >0 m%.
11. +xima corriente del puerto Q8Q como 'uente, 100 m%.
1A. +xima corriente del puerto Q8Q como sumidero, 150 m%.
1,. +xima corriente ue puede suministrar una sola salida como 'uente o
sumidero, A5 m%.
5ango de alimentacin&
1. 1<0=>?%& -e A a 5,5 G en con'iguracin de oscilador X6, 53 y 0P.
A. 1<=>?%& -e ? a 5,5 " en con'iguracin de oscilador X6, 53 y 0P.
-e ?,5 a 5.5 " en con'iguracin de oscilador H;.
3onsumo t!pico&
1. 1< 0 = > ? % &
-e 1 a ? m% en con'iguracin de oscilador 53 y X6 H=:;3RA +H.,
G--R5,5GI.
-e 15 a ?5 S% en con'iguracin de oscilador 0P H=:;3R,A7H., G--RAG,
K-6 deshabilitadoI.
A. 1< = >? % &
-e 1,> a ?.5 m% en con'iguracin de oscilador 53 y X6 H=:;3R? +H.,
G--R5,5GI.
-e , a 10 m% en con'iguracin de oscilador 53 y X6 durante la
programacin de la =0%;H H=:;3R?+H., G--R5,5GI.
,. 1< = >?% @A 0 &
-e 10 a A0 m% en con'iguracin de oscilador H; H=:;3RA0 +H.,
G--R5,5GI.
Desc,i)ci-n de )ines
Nombre N Tipo Descripcin
OSC1/CLKIN 16 I Entrada del oscilador a cristal/Entrada de la fuente de reloj externa
OSC2/CLKOUT 15 O
Salida del oscilador a cristal En el !odo "C# es una salida con una
frecuencia de $ OSC1
%CL" & I/' "eset/Entrada del (oltaje de )ro*ra!aci+n
",- 1. I/O 'uerto , /idireccional# /it -
",1 10 I/O 'uerto , /idireccional# /it 1
",2 1 I/O 'uerto , /idireccional# /it 2
",1 2 I/O 'uerto , /idireccional# /it 1
",&/T-CKI 1 I/O Ta!/i2n se utili3a )ara la entra de reloj )ara el T%"-
"4-/INT 6 I/O
'uerto 4 /idireccional# /it -
'uede seleccionarse )ara entrada de interru)ci+n externa
"41 . I/O 'uerto 4 /idireccional# /it 1
"42 0 I/O 'uerto 4 /idireccional# /it 2
"41 5 I/O 'uerto 4 /idireccional# /it 1
"4& 1- I/O
'uerto 4 /idireccional# /it &
Interru)ci+n )or ca!/io de estado
"45 11 I/O
'uerto 4 /idireccional# /it 5
Interru)ci+n )or ca!/io de estado
"46 12 I/O
'uerto 4 /idireccional# /it 6
Interru)ci+n )or ca!/io de estado
"4. 11 I/O
'uerto 4 /idireccional# /it .
Interru)ci+n )or ca!/io de estado
6ss 5 ' Tierra de referencia
6dd 1& ' ,li!entaci+n
A,.*itect*,a del PIC %&#'(
0as altas prestaciones de los microcontroladores P93 deri"an de las caracter!sticas de
su aruitectura. Estn basados en una aruitectura tipo Har"ard ue posee buses y espacios
de memoria por separado para el programa y los datos, lo ue hace ue sean ms rpidos ue
los microcontroladores basados en la aruitectura tradicional de Gon #euman.
:tra caracter!stica es su (uego de instrucciones reducido H,5 instruccionesI 59;3, donde la
mayor!a se e(ecutan en un solo ciclo de relo( excepto las instrucciones de salto ue necesitan
dos.
Posee una %02 H2nidad %ritm/tico 0gicaI de > bits, capa. de reali.ar operaciones de
despla.amientos, lgicas, sumas y restas. Posee un 5egistro de 6raba(o HKI no direccionable
ue usa en operaciones con la %02.
Este microcontrolador posee caracter!sticas especiales para reducir componentes externos con
lo ue se reducen los costos y se disminuyen los consumos. Posee ? di'erentes modos de
oscilador, desde el simple circuito oscilador 53 con lo ue se disminuyen los costos hasta la
utili.acin de un oscilador a cristal.
En el modo ;0EEP el consumo se reduce signi'icati"amente y puede Tdespertarse al
microcontrolador utili.ando tanto interrupciones internas como externas y se$al de reset.
%dems posee la 'uncin Katchdog 6imer HPerro JuardianI ue protege al micro de
Tcuelgues debido a 'allos so't4are ue produ.can bucles in'initos.
e/o,ia de P,o0,a/a
0a memoria de programa est organi.ada con palabras de 1? bits con un total de 1 B, del tipo
=lash, ue durante el 'uncionamiento es de solo lectura. ;lo se e(ecutar el cdigo contenido
en esta memoria, pudiendo almacenar en ella una cantidad limitada de datos como parte de la
instruccin 5E60K. En una sola palabra se agrupa el cdigo de la instruccin y el operando
o su direccin.
El tipo de memoria utili.ada en este microcontrolador, podr ser grabada o borrada
el/ctricamente a nuestro anto(o desde el programador. 0a memoria tipo =lash tiene la
caracter!stica de poderse borrar en bloues completos y no podrn borrarse posiciones
concretas o espec!'icas. Este tipo de memoria no es "oltil, es decir, no pierde los datos si se
interrumpe la energ!a.
0a memoria para almacenar el programa nos resultar per'ecta para reali.ar pruebas y
experimentos, adems de para la programacin Qon@boardQ o Qin@circuitQ, esto es, nos permite
la programacin del dispositi"o o actuali.acin del programa sin necesidad de retirarlo del
circuito.
0a memoria del programa comien.a en la posicin 0000h y termina en la posicin 0,==h. Esto
es 1Bbyte, es decir, 10A? bytes HA10I.
En la 'igura tambi/n se muestra el P3 H3ontador de Programa o Program 3ounterI. Uue
apunta a la direccin de memoria de la instruccin en curso y permite ue el programa a"ance
cuando se incrementa.
6ambi/n se muestra la pila o stac7, de >
ni"eles H#i"el Pila 1 a #i"el Pila >I. ;e
utili.a cuando e(ecutamos un subproceso o
subrutina, es decir, un con(unto de
instrucciones ue hemos aislado de las
dems para simpli'icar. En este caso el
contador de programa HP3I de(ar de
incrementarse y apuntar a la posicin de
memoria de programa donde empie.a la
subrutinaV en el primer ni"el de la pila se
almacenar esta llamada, hasta ue se
acaben de e(ecutar las instrucciones ue
contiene, momento en el cual se seguir
con las instrucciones desde donde hab!a
sido llamada. Por eso es necesario saber
donde se ued el programa
almacenndose la direccin en la pila.
Podemos hacer hasta > llamadas a subrutinas una dentro de otra, como si de mu$ecas rusas
se tratase. % esto se le llaman subrutinas anidadas.
El "ector de reset se encuentra en la posicin 0000h y el de interrupcin en la
000?h.
-ebido a ue el P931<=>?% tiene un contador de programa de 1, bit puede direccionar un
espacio de memoria de >B x 1?, sin embargo slo el primer 1B x 1? H0000h@0,==hI est
implementado '!sicamente.
6ener acceso a una locali.acin por encima de la direccin '!sicamente implementada
producir un solapamiento. Por e(emplo, para las locali.aciones A0h, ?A0h , >A0h, 3A0h,
10A0h, 1?A0h,
1>A0h, y 13A0h, la direccin real ser la misma, as! A0h es ,Ad y ?A0h es 105<d, 105<d
menos
10A?d es igual a ,Ad, es decir, se direcciona realmente la locali.acin A0h, en binario A0h
es
100000b y ?A0h es 10000100000b, 1B se direcciona con 10 bits HA10 R 10A?I de manera
ue de 10000100000b si slo se tienen en cuenta 10 bits ueda 0000100000b ue es A0h. 3on
esto debe uedar claro ue despu/s de ,==, al incrementarse el P3 y pasar a ?00, se
direccionar de nue"o la posicin 0h.
Existen "arias "ersiones de memoria de programa para los
P931<'>?%&
Versin Flash. ;e trata de una memoria no "oltil, de ba(o consumo, ue se puede
escribir y borrar. % di'erencia de las memorias de tipo 5:+, la memoria =0%;H es
programable en el circuito. Es ms rpida y de mayor densidad ue la EEP5:+. Esta
"ersin es idnea para la ense$an.a y la 9ngenier!a de dise$o.
Versin OTP. HQ:ne 6ime ProgrammableQI QProgramable una sola "e.Q. ;lo se puede
grabar una "e. por el usuario sin la posibilidad de borrar lo ue se graba. 5esulta
mucho ms econmica en la implementacin de prototipos y peue$as series.
Versin QTP. Es el propio 'abricante el ue se encarga de grabar el cdigo en todos
los chips ue con'iguran pedidos medianos y grandes.
Versin SQTP. El 'abricante solo graba unas pocas posiciones de cdigo para
labores de identi'icacin, numero de serie, palabra cla"e, chec7sum, etc.
0as memorias =0%;H han sustituido a las EEP5:+ y son muy Dtiles al permitir ue
los microcontroladores ue las incorporan puedan ser reprogramados Qen circuitoQ, es decir, sin
tener ue sacar el circuito integrado de la tar(eta. %s!, un dispositi"o con este tipo de memoria
incorporado al control del motor de un autom"il permite ue pueda modi'icarse el programa
durante la rutina de mantenimiento peridico, compensando los desgastes y otros 'actores
tales como la compresin, la instalacin de nue"as pie.as, etc. 0a reprogramacin del
microcontrolador puede con"ertirse en una labor rutinaria dentro de la puesta a punto.
e/o,ia de Datos
Est organi.ada en dos pginas o bancos de registro, banco 0 y banco 1. Para cambiar de
pgina se utili.a un bit del registro ;6%62; H5P0I.
3ada banco se di"ide a su "e. en dos reas&
5=; H5egistros de =unciones EspecialesI
5JP H5egistros de Propsito JeneralI
0a primera es la de 5=; H5egistros de
=unciones EspecialesI ue controlan el
'uncionamiento del dispositi"o. Estos se
emplean para el control del 'uncionamiento de
la 3P2 y de los peri'/ricos.
El segundo rea H<> bytes ;5%+I es la de
5JP H5egistros de Propsito JeneralI, y
puede accederse a ellos tanto directa como
indirectamente haciendo uso del registro =;5.
Banco 0:
Este banco est 'ormado por >0 bytes, desde
la posicin 00 hasta la ?=h Hde la 0 a la *)I.
El rea 5=; consta de 1A registros ue sern
utili.ados por 'unciones especiales del
microcontrolador. 3omien.a en la direccin
00h y termina en la 08h, es decir, de la 0 a la
11.
El Wrea 5JP consta de <> registros de memoria 5%+ ue sern utili.ados para
almacenar datos temporales reueridos por los programas. 3omien.a en la direccin 03h y
termina en la posicin ?=h Hde la 1A a la *)I. Esta parte es la memoria de registros de propsito
general.
Banco 1:
Este banco tiene las mismas dimensiones ue el anterior, pero su uso es menor, ya ue
no tiene banco para registros de propsito general. ;olamente tiene una seccin de registros
especiales ue "an de la posicin >0h a la >8h H de la 1A> a la 1,)I
0a memoria 5%+ as! como algunos registros especiales son los mismos en los dos bancos del
mapa de memoria del P93. 0a anchura de los bytes en la memoria es de > bis.
Para direccionar la memoria de datos se emplean dos modos de direccionamiento, el directo
y el indirecto. En el direccionamiento directo, los * bits de menos peso del cdigo :P de la
instruccin proporcionan la direccin en la posicin de la pgina, mientras ue los bits 5P1 y
5P0 de ;6%62; seleccionan la pgina o banco.
En el direccionamiento indirecto el operando de la instruccin hace re'erencia al registro 9-#=,
ue ocupa la posicin 00h del rea de datos. ;e accede a la posicin ue apunta el registro
=;5 0?h del banco 0. 0os * bits de menos peso de =;5 seleccionan la posicin y su bit de ms
peso, (unto con el bit 95P del registro de estado, seleccionan la pgina.
Ca)it*lo 1 PUERTOS DE ENTRADA $
SALIDA
2na de las caracter!sticas ms importantes del microcontrolador es su nDmero de pines de
entradas y salidas usados para la conexin de peri'/ricos. En este caso hay un total de trece
pines disponibles de entrada o salida de propsito general.
0os pines del P931<=>? estn di"ididos en dos grupos de registros, llamados P:56% y
P:568& %mbos tienes muchas caracter!sticas en comDn.
El Puerto % HP:56%I dispone de 5 l!neas de la 5%0 a la 5%?, en la ue hay ue distinguir la %?
o 603B9 H6imer 0 3loc7 9nputI ue est compartida con la entrada para el 6imer 0 H6+50I a
tra"/s de un trigger ;chmitt y ue cuando se con'igura como salida es de drenador abierto, por
lo ue debe colocarse una resistencia de polari.acin.
El Puerto 8 HP:568I dispone de > l!neas de EL; ue "an desde la 580 a la 58* Hla l!nea 580
o 9#6 es compartida con la entrada de interrupcin externaI. %dems, las l!neas 58? a 58*
pueden programarse como una interrupcin por cambio de estado de cualuiera de estas
l!neas.
3uando se produce una interrupcin por cambio de estado de cualuiera de las l!neas 58? a
58*, para lo cual las l!neas deben estar adems programadas como entradas H"er registro
9#63:# e 9nterrupcionesI el "alor de la patilla en modo entrada es comparado con el "alor
almacenado en la bscula durante la Dltima lectura del Puerto 8. 0os cambios en las patillas se
detectan reali.ando una operacin :5 para la generacin de una interrupcin por cambio de
estado. Esta interrupcin puede despertar Q4a7e upQ al microcontrolador del modo de reposo
;0EEP. El usuario debe borrar la interrupcin en la 5utina de ;er"icio de 9nterrupcin 5;9 de
una de las siguientes maneras&
8orrando la bandera bit , de 9#63:# H589EI.
0eyendo o escribiendo el P:568 y luego borrando el bit 589=. Esto 'inali.a la condicin
QmismachtQ y permite ue se borre 589=.
2na condicin QmismachtQ puede producir ue el bit 589= siga a Q1Q. 0eyendo el puerto 8
puede 'inali.ar la condicin de QmismachtQ y permitiendo ue el bit 589= sea puesto a Q0Q.
%dems, todas las l!neas del Puerto 8 disponen de resistencias internas de polari.acin
programables Qpull@upQ de alto "alor. 3ada una de las > resistencias pueden ser acti"adas
o
deshabilitadas haciendo uso del bit 58P2 del registro especial :P69:#. Estas resistencias se
deshabilitan automticamente si una l!nea es programada como salida as! como durante el
proceso de Po4er :n 5eset.
Con2i0*,aci-n de P*e,tos de ent,ada 3 salida
3ualuier l!nea puede 'uncionar como entrada o como salida. ;in embargo, si actDa como
entrada la in'ormacin ue se introduce no se memori.a, por lo ue la in'ormacin debe ser
mantenida hasta ue sea le!da. ;i la l!nea actDa como salida, el bit ue procede del bus
de datos se guarda en la bscula, con lo ue la in'ormacin ue o'rece esta patita permanece
in"ariable hasta ue se reescriba este bit.
0os bits de cada puerto se con'iguran mediante los bits correspondientes de dos registros
especiales de control&
5egistro de -atos denominados P:56% P:568& ;e pueden leer o escribir segDn ue
el puerto correspondiente se utilice como entrada o como salida.
5egistro de 3ontrol denominado 659;% 659;8& En los registros de 3ontrol se
programa el sentido de 'uncionamiento de cada una de las l!neas de EL;. 3olocando un
Q0Q en el correspondiente bit del registro 659;% 659;8, la l!nea ueda programada
como salida mientras ue colocando un Q1Q la l!nea ueda programada como entrada.
Por e(emplo, si ponemos un 0 en el bit , del registro 659;% la patilla 5%, ser una
salida y si ponemos un 1 en el bit ? del registro 659;8 entonces la patilla 58? ser una
entrada.
0os Puertos % y 8 HP:56% y P:568I se corresponden con las posiciones 5 y < del rea de
datos.
3uando se produce un reset, todos los bits de los registros 659; pasan a tener el "alor 1 y
todas las l!neas de EL; actDan como entrada por e"identes moti"os de seguridad para e"itar
da$os irreparables. 6odas las patillas de EL; ue no se empleen deben ser lle"adas a
P5", regla de las entradas 3+:;, pre'eriblemente a tra"/s de una resistencia para e"itar ue
si por error se con'igurasen como salidas puedan darse problemas si presentan un estado ba(o.
0a siguiente 'igura muestra la con'iguracin de pines para el puerto 8, el
cdigo correspondiente de asignacin es un 1 para entrada y un 0 para una salida.
659;8R0b00110101V su con"ersin en hexadecimal, decimal u
octal.
0uego de con'igurar los pines podemos programar el P93 para ue realice una tarea espec!'ica
entregando un 1 o un 0 a las salidas dependiendo del dato ue le llegue a la entrada.
P:568R0b11010100V
Li/ite de co,,iente )a,a los )*e,tos
0os puertos del microcontrolador P931<=>? son el medio de comunicacin con el
mundo exterior, en ellos podremos conectar los peri'/ricos o circuitos necesarios como por
e(emplo los mdulos 03-, teclados matriciales, motores el/ctricos, etc.V pero estas
conexiones no se podrn reali.ar arbitrariamente. Existen unas reglas bsicas ue debern
cumplirse para ue el microcontrolador no su'ra da$os o se destruya. Para ello es necesario
conocer los l!mites de corriente ue puede mane(ar el microcontrolador.
3omo anteriormente hemos indicado los puertos % y 8 del microcontrolador podrn ser
programados como entradas salidas indi'erentemente. En el caso de ue sean programados
como salida y presenten un ni"el lgico alto actuaran como Q'uenteQ porue suministran
corriente y cuando presenten un ni"el lgico ba(o actuarn como QsumideroQ por ue reciben
corriente.
-isipacin de potencia total de >00 mK.
+xima corriente de salida a G;; 150 m%.
+xima corriente de salida de G-- 100 m%.
;i utili.amos todas las l!neas del puerto Q%Q como 'uente, no deber exceder de 50 m%
toda la corriente ue suministre este puerto.
;i utili.amos todas las l!neas del puerto Q%Q como sumidero, no deber exceder de >0
m% toda la corriente ue suministre este puerto.
;i utili.amos todas las l!neas del puerto Q8Q como 'uente, no deber exceder de 100 m%
toda la corriente ue suministre este puerto.
;i utili.amos todas las l!neas del puerto Q8Q como sumidero, no deber exceder de 150
m% toda la corriente ue suministre este puerto.
0a mxima corriente ue puede suministrar una sola salida como 'uente o sumidero es
de A5 m%.
-e todas maneras hay ue tener en cuenta no superar la disipacin de potencia mxima,
ue se calcula como sigue&
Pdis R G-- x H9-- @ X 9:HI P X YHG--@G:HI x 9:HZ P X HG:0 x 9:0I
G:H suele ser G--@0,* " y G:0 0,< ".
El consumo de corriente H9--I es principalmente 'uncin de la tensin de alimentacin y de la
'recuencia. :tros 'actores, como cambios en EL;, tipo de oscilador, temperatura y otros tienen
in'luencia en el consumo. 0a 9-- para el P931<=>?%@? est entre 1,> a ?.5 m% en
con'iguracin de oscilador 53 y X6 H=:;3R? +H., G--R5,5GI, con las patillas como entradas
y unidas a positi"o. En caso de ue se necesiten utili.ar peri'/ricos ue mane(en mayor
cantidad de corriente de la especi'icada, habr ue aplicar un circuito adaptador como por
e(emplo bu''ers o transistores.
En la siguiente 'igura "emos una con'iguracin t!pica en la ue se utili.an bu''ers de corriente,
ue proporcionan en su salida el mismo ni"el lgico ue la entrada pero pueden controlar
corrientes
relati"amente
ele"adas. En este
caso se utili.a el
20#A>0,, un
circuito integrado
ue consiste en >
bu''ers de potencia
capaces de
suministrar en su
salida hasta 1 %,
mucho ms de lo
ue es capa. de
soportar un P93.
Ca)it*lo 4 TEPORI5ADORES DEL
PIC%&#'(
TIER
6
El tempori.adorLcontador 6+50 es un registro de > bits, es decir, un particular tipo de registro
cuyo contenido es incrementado con una cadencia regular y programable directamente por el
hard4are del P93. 3omo es de > bits, el mximo de la cuenta est en A55.
El 6+50 tiene las siguientes caracter!sticas&
6empori.adorL3ontador de > bits.
-i"isor de > bits programable por so't4are.
;eleccin de relo( interno y externo.
9nterrupcin por desbordamiento.
;eleccin del 'lanco del relo( externo.
Este registro puede usarse para contar e"entos externos por medio de un pin de entrada
especial Hmodo contadorI o para contar pulsos internos de relo( de 'recuencia constante Hmodo
tempori.adorI. %dems, en cualuiera de los dos modos, se puede insertar un prescaler, es
decir un di"isor de 'recuencia programable ue puede di"idir por A, ?, >, 1<, ,A, <?, 1A> o A5<.
Este di"isor puede ser utili.ado alternati"amente como prescaler o del 6+50 o como postscaler
del Katch -og 6imer, segDn se lo programe.
En la prctica, a di'erencia de los otros registros, el 6+50 no mantiene inalterado el "alor ue
tiene memori.ado, sino ue lo incrementa continuamente.
;i por e(emplo escribimos en /l el "alor 10, despu/s de un tiempo igual a cuatro ciclos
muina, el contenido del registro comien.a a ser incrementado a 11, 1A, 1, y as!
sucesi"amente con una cadencia constante y totalmente independiente de la e(ecucin del
resto del programa.
2na "e. alcan.ado el "alor A55, el registro 6+50 es puesto a cero automticamente
comen.ando entonces a contar desde cero y no desde el "alor originalmente cargado.
0a 'recuencia de conteo es directamente proporcional a la 'recuencia de relo( aplicada al P93 y
puede ser modi'icada programando adecuadamente algunos bits de con'iguracin.
El modo tempori.ador se selecciona colocando a 0 el bit 603; del registro :P69:#. En este
modo, el 6imer0 se incrementa con cada ciclo de instruccin Hcon el di"isor desacti"adoI.
El modo contador se selecciona colocando a 1 el bit 603; del registro :P69:#. En este modo,
el contador se incrementar con cada 'lanco de subida o de ba(ada del pin 5%?L603B9. El
'lanco se selecciona con el bit 60;E del registro :P69:#.
;e generar una interrupcin cuando el registro 6+50 se desborda de ==h a 00h.
Este desbordamiento se indicar el bit 609= del registro 9#63:#.
En la siguiente 'igura est representado el esuema de bloues internos del P93 ue
determinan el 'uncionamiento del registro 6+50&
=oscL? y 603B9 representan las dos posibles 'uentes de se$al de relo(, para el contador 6+50.
=oscL? es una se$al generada internamente por el P93 tomada del circuito de relo( y ue
es
igual a la 'recuencia del oscilador di"idida por
cuatro.
603B9 es una se$al generada por un posible circuito externo y aplicada al pin
603B9
correspondiente al pin ? del P931<=>?.
0os bloues 603; y P;% son dos selectores de se$al HmultiplexoresI en cuya salida se
presenta una de las dos se$ales de entrada en 'uncin del "alor de los bits 603; y P;% del
registro :P69:#.
El P,escale,
El Prescaler consiste en un di"isor programable de > bits a utili.ar en el caso de ue la
'recuencia de conteo en"iada al contador 6+50 sea demasiado ele"ada para nuestros
propsitos. ;e con'igura a tra"/s de los bits P;0, P;1 y P;A del registro :P69:#.
0a 'recuencia =oscL? es una cuarta parte de la 'recuencia de relo(. 2tili.ando un cristal de ?+h.
tendremos una =oscL? igual a 1 +H., con lo ue la cadencia de conteo ue se obtien e
pro"oca
en 6+50 1 milln de incrementos por segundo H1L1.000.000 segI. R1+H.I, ue para
muchas aplicaciones podr!a resultar demasiado ele"ada.
3on el uso del P5E;3%0E5 podemos di"idir la 'recuencia =oscL? con'igurando
oportunamente los bits P;0, P;1 y P;A del registro :P69:# segDn la siguiente tabla&
PS2 PSl PS0 DlVlSOR FRECUENClA DE SALlDA PREESCALER (Hz)
0 0 0 2 500.000
0 0 l 4 250.000
0 l 0 8 l25.000
0 l l l6 62.500
l 0 0 32 3l.250
l 0 l 64 l5.625
l l 0 l28 7.8l2,5
l l l 256 3.906,25
E(emplo prctico& 9ntroducir un retardo igual a un segundo utili.ando el registro
6+50.
-ebemos programar el bit 603; a 0 para seleccionar como 'uente de conteo el relo( del P93, el
bit P;% tambi/n debe estar a 0 para asignar el P5E;3%0E5 al registro 6+50 en lugar de al
Katch -og 6imer y los bits de con'iguracin del P5E;3%0E5 a 100 para obtener una
'recuencia de di"isin igual a 1&,A. 0a 'recuencia ue obtendremos en 6+50 ser igual a&
=osc R 1+h. L ,A R ,1.A50 H.
+emori.amos en 6+50 el "alor < de modo ue el registro 6+50 alcan.a el cero despu/s de
A50 cuentas HA5< @ < R A50I obteniendo as! una 'recuencia de paso por cero del 6+50 igual
a&
,1.A50 L A50 R 1A5 H.
El siguiente paso ser memori.ar en un registro de > bits el "alor 1A5 de tal modo ue,
decrementando este registro en 1 por cada paso por cero de 6+50, se obtenga una 'recuenc
ia de pasos por cero del registro igual a&
1A5L1A5 R 1H. H1 segundoI.
En resumen se trata de controlar si 6+50 ha alcan.ado el "alor cero, luego de reiniciarlo a < y
decrementar el "alor contenido en un registro con "alor 1A5. 3uando el registro alcance
tambi/n el "alor cero, entonces habr trascurrido un segundo.
En los siguientes esuemas se muestra la 'uncin del bit del P;%.
0a 'uncin del P;% cuando el bit esta en 0.
0a 'uncin del P;% cuando el bit esta en 1
En adicin al lo mencionado anteriormente, esto tambi/n es de mucha utilidad saberlo&
3uando el prescaler es asignado al tempori.adorLcontador, cualuier registro del
6+50 limpiara el prescaler.
3uando el prescaler es asignado al tempori.ador 4atch@dog, una instruccin 305K-6
limpiara ambos, al prescaler y al K-6.
3uando el registro escrito en 6+50 sea usado como tempori.ador, no causara el
pulso continuo para empe.ar inmediatamente, solamente cuando se cumplan dos
instrucciones del retardo del ciclo. -e acuerdo a esto, es necesario a(ustar el "alor
escrito en el registro del contador 6+50.
3uando el microcontrolador esta en modo sleep, el oscilador esta apagado. El
o"er'lo4 no puede ocurrir por ue no hay pulsos para contar. Esto es el porue la
interrupcin o"er'lo4 del 6+50 no puede despertar el procesador del modo sleep.
3uando se usa un contador externo sin prescaler, la m!nima longitud de un pulso o una
pausa entre dos pulsos debe ser A 6osc P A0 n; 6osc es la se$al peridica del
oscilador
3uando se usa un contador externo con prescaler, la m!nima longitud de un pulso o una
pausa entre dos pulsos ser de 10n;.
El registro prescaler no esta disponible al usuario, lo cual signi'ica ue este no puede
ser directamente le!do o escrito.
Ca)it*lo ( OTROS CIRCUITOS DEL
ICROCONTROLADOR
:scilador Externo& Es instalado con el microcontrolador a conectado al pin :;31 y :;3A, es
llamado [Externo\ porue se necesita de una circuiter!a externa para generar la se$al de relo( y
la 'recuencia de estabili.acin, los cuales pueden ser un oscilador de cristal, un resonador
cermico o un circuito 53. El modo oscilador es seleccionado byte a byte en la programacin y
es llamado con'iguracin de palabra.
:scilador interno& 3onsiste de dos osciladores externos
separados&
El HFINTOSC es un oscilador interno de altas 'recuencias el cual opera a >+HC. El
microcontrolador puede usar una se$al de relo( a esa 'recuencia y luego di"idirla en el
prescaler.
El LFINTOSC es un oscilador interno el cual opera a ,1BHC. Esta 'recuencia es usada por el
4atch@dog y el po4er@up timer.
Oscilado,es e7te,nos
El modo 0P, X6 y H; soportan el uso del oscilador interno para
con'igurar la 'recuencia de traba(o, Esta 'recuencia es
determinada por el cristal o por el resonador cermico conectado al
pin :;31 y :;3A. -ependiendo de las caracter!sticas de los
componentes ue
se usan se selecciona uno de los siguientes modos&
Modo LP H0o4 po4erI es usado para ba(as 'recuencias solamente. Este modo es
dise$ado para mane(ar 'recuencias de ,A.*<>Bh. usualmente usado en los relo(es de cuar.o.
Es 'cil de reconocer por su 'orma cil!ndrica plana. 3onsumo de corriente menor ue los otros
modos.
Modo T es usado para 'recuencias intermedias arriba de >+HC. El consumo de corriente
es intermedio de los tres modos.
Modo HS HHigh ;peedI es usado para altas 'recuencias por encima de >+HC. El consumo de
corriente es el mayor de los tres modos.
PIN
CLR
2n cero lgico en el pin +305 causa un reinicio
inmediato. ;e recomienda ue sea conectado como
se muestra en la siguiente 'igura.
3uando el reset "uel"e a su normalidad el
microcontrolador se reinicia automticamente.
Concl*si-n
Esperamos ue la 'inalidad de este paper haya sido cumplido en su totalidad y ue
luego de leer este documento podamos estar claro del la poderosa herramienta
electrnica ue tenemos al alcance de nuestras manos.
0a "ida cotidiana esta llena de necesidades de las ue como 'uturos ingenieros somos
responsables de satis'acer con las herramientas ue exponemos en este paper ue
(uega un papel 'undamental en el mundo tecnolgico de automati.acin y domtica
para hacer una "ida mas 'cil y cmoda para bien de la humanidad.
;olamente nos resta poner manos a la obra y sumergirnos dentro de este inmenso
mundo de los microcontroladores y explorar las mara"illas tecnolgicas ue son
posibles gracias a los microcontroladores.
Biblio0,a28a
Gerle, +iln. !PIC Microcon"rollers#
;erra, Enric. [PIC 1$F%&'\ Escola Pro'essional ;alesians ]oan XX999.
!C(rso a)an*ado de +icro con"roladores PIC#

Potrebbero piacerti anche