Sei sulla pagina 1di 20

PRACTIC¿\ I

Ill'N B0 I (t\,ilCROCONTROt.¡\DOl{trS r

F UCI IA ITIIALIZ¡\CITf N :

MANE,JO DET, SOF'-I'WAITE MPI-AB PARA


TRABAJAR CON LOS MICI(OCONI'I{OI-ADOI(ES PIC

OIUETM.- Inlrocluoir al alunrno en el proccso dc prograrnación de los


irricrocontroladores PIC. Una herramienta de gran ayuda es el software MPLAB de
\licrochip. que permite simular, clcpurar en linea y programar los microcontroladores
PIC tabricados por Microchip.

Para cllo en las siguietrtes hoi¡s. sc proporciona úr'l tutorial de nlancjo tlc cste programa.

Asi, mismo se entrega una copia en CD del programa de instalacion MPLAB y la


descripción del KIT demo PIC,DEM2PLUS, junto con el KIT ICD2 (In circuit
Debuguer) que es una herramienta para la depuración en linea, en el desarrollo de
prograruas para los microcontrolaiiores.

I:l prograrnndcnro quc vicnc cn cl ¡lriuroconl.roladr': PICI(rliS77 r¡ttc l'iene con cl [il1'
DEMO PICDEM2 PLUS es'¿r conlbrnraio ¡xrr 3 progranias. que tambien se proporr:iona
en el CD, al inicio de las practicas de Laboratorio. de la presente materia ETN 801.

Esta infbrmación es una guia util, para el resto del curso )'pretende incentil'ar al alumrro
a progrrrmar sin dificultad cualquier microcontrolador de Ia serie PIC.
\

Tutorial MPt-AB v6,X

=ROYECTO
l-ea:ién de Provecto_

-- proyecto es un conjunto de archivos fuente e instrucciones glre permiten construir el cbjeto


.. ::drgo ejecutable para una aplicación.

=ei'a crear un nusvo proyecto se


cebe ir a la opción Nery en el
cempo Project.

Se abrirá una ventana en la que se introdt¡cirá el nombre del proyecto en el campo Project
Nane, y se elegirá la carpeta en el campo Project Directory en Conde se guardará el proyecto.
Una vez elegidos estos, se acepta en ei botón OK. Los prcyectos en la versión tvtPLAB 6.3
tierren la extens¡ón
*.rrcp.

Cre+er-ótLdsirqhry

Se debe crear un archivo de texto en donde se va a escribir el programa que queremos


ejecutar.

Para ello se crea un nuevo archivo en la


opción New del menú F/e.

3",'so lu4icrocontroiadoles PtC'l 6F 84 (..arlin P¡irez Cuba


)
)
)
)
:;¡-'3':e u¡ta nueva ventana, corno muestra la figura inferior. con la paiabra Untilled indicando
) : -: - r i€ne nombre.
)
)
)

)
)
)

Cuancjo uno ve la pantalla en blanco nc sabe por donde ei'npezar. esio puede ser superado
)
usando una plantilla. Existen plantillas para cada t¡po de microcontroladares ae l.¿ í.-¡ntia de
Mícrochip.

Comc en est€ caso se va a trabajar con el F;C16FUA, se utílizará una plantíiia pura este
intogrado. Esta plantilla está identificada como i84atemp.asm, y está ubicado junto con las
d enrás en : C :tA rc h ivo s de p rog ra nt alh'l P LA B I D EIM C H I P-Tool slTE M PLA TA C o d e

Para abrir el archivo, se elige la opción Open


del menú File.
S-,' diriger s ls ubicación ya indicada y se abro
la plantiila con lu que se quiera trabajor, en
este caso es el fS4atemp.asm

Curso lvlicroconlrcladoie.s {-'lC:161'84 i)arlítt Í'ere¿ Cu!¡a

r
3¡ s=.ecciona todo el contenido de la plantilla y se copia el ccnte¡,Co de a plantilla al nuevo
3-:.,o abierto (el que aparece como Untitled), este proceso se pueie hacer ccn la ayuda de
:s conendos dei menú Edit.

Una vez copiado el contenido a la ventana nueva, se cierra la paltilla fE4atemp.asm

Cuí so 1,,'l i c ro ccn troladores P IC 16 F 84 Carlin Pérez Cuba


)
)
I
)
desde la c'a'i a se ¡ua'ja el nue'ro
? estructura del programa
-*"no ; 3 rr3
,ez que ya se copió la bl'" ¡" b"t r'1"' como rr'!eslrr
L3

, c de texto utiirzando
? '' "ot'L"
?
]
),
)t
,
,I
?
ta
?
¡D

I ,}

?
a
In
\
n
e
4
4
1
4
4
a) del ProYacto, aunque no
63 nQCS56no'
=a)
l¿ Los orchivos de texto
en donde se Programa
a tienen
uiu*Pt" *.asm'
extensión
la

l¿
rl¡
l¿
ar
+
aa
-,_aa
,l¡
ila ¡c16F84
Cai/ír¡ Pérez ut¡ua
rf +
laa
liln
j¿¡=ejea3regar(enlazar)estenuevoarchivocomopartedelpro,ecto,Earae|lcsehace
á"'t, ,ántuná a. x;a mc|i¡ eti3 er30
i:" F 'es'
i: e )3:3n 0",..ho Ío'i/" §;;;H.;
= =.-

l.
\'
l,

ll
i.

Se elige el archivo de texto '1,

que se acaba de crear' ¡

Al hacer clic en el botón 1

:
Abrir, Y queda agreEado' I
l

i
t

t:

i
+
I

i
I

t
t

a
a,u
--
lerz '!'r¿ izar con la etapa
:a lirnaf el proyecto de
-I,J9SO programa, es
-B:esario indicar con qué
rs) de dÉpositivo se va a
:-aoajar. El Kid.rcp'
t:
?zra esto, se elige la I i Kllxm
spcrón Select Device del i He.dn FilÉs
rr.enú Ccnfigure- ' L]tisl Fir,es ! I6r6{l
I Lü¡slrF*es f,lr,'lq4A r!rr
I Lirka Scrirrr

Aparecerá una pantalla como la


que se muestra a la derecha, se
elige el dispositívo, en este caso És
el P|C16F84A, y luego ss acoi,ia
con el botén OK.

Una manera de saber si el programa que se ha realizado funciona como se desea, es


sirnulendo su proceso en la computadora. Por esto Microchip facililó algunos ulilitarios como el
¡\4PLAB SIM que nos p€rmitirÉ obs€n,ar el compoilarnientro del programa-

Hay que habilitar la


opción del simulador
sel€ccionando la opcién
de IYIPLAB SIM en
Se/ecf lool del menú
Dobugger.

EI'KU.mcp'
Fl
¡. He¡der Files
j- 0biect Files Ir:.¡_. ¡_ -l6F84A
i' ltu.rr, Files üi-¡cl rr,l¡ -¡: IrFÉ.1^¿.- rtr:
i. iirf<¿r Scripts

C urso Microcontroladores PlCl 6F 84 Carlln Pérez Cuba

./
^>€ cile de asegurar que la frecuencia
* cnstal con la que se va a trabajar en el
-scu'-to de prueba sea la misma del
s¡r¡¿¡lador; para ello, se dobe ir a la opción
oe Sefühgs de Debugger y elegir la
f.recr¡en ci a adecuada.

1G

C'
e:i

Con esta configuración ya se


puede empezar a trabajar en
elprograma que se quiere :¡:
implementar. La figura guto

muestra la zona en donde se


deben escribir los comandos !PC :.rir:'T: :e-_:¡r 1..!:1in
del programa. Una vez runrf
mv{
If -"::-rr.
L:i'e:_:.iiur
! r..ir_"tt.:
rEqr=1Er rn'a E !,
finalizado, se debe ejecutar el mwt --ir". .(f :i,r,i,:r,'.-_ .f -_f:T'.-l r.
programa para verificar que no
haya errores, esto se hace at.d ás a.sl-t
presionando la tecla F10.
s

Aparecerá una lista con los


errores y la línea dónde se I
i rr¡r t'1 ¡l:r- l.¡f
; rÉsf,.)rE pré-
produjo ésta. Sí se hace doble
clic en la línea donde indica el , ,!,r,r,r |r+
tipo de error el progromo i r.'l .il ri lr,.¡,

saltará automáticamente a la
llnoa que debe ser conegida.
Corregir los enores y volver a
presionar F10 para veriflcor
que no haya errores.

Cuando no se generen
erores, aparecerá al final de
todas la llneas BUILD
SUCCEEOEO, esto indica que 100
no se encontraron errores de L0l
compilación y uno puede r02
r03 .l r !,' r r.. '. I
=r,
empezar a simular r.0{

q# ...-..i-

Cu rso M i c roco ntroladores P IC 16 F 84 Carlín Pérez Cuba


e ínenú de MPLAB se encuentra
=
Ja>4-"er esta lista de opciones para el
¡r¡-urior permite realizar lo siguiente:

thm <F9>: Ejecuta la simulación y se detiene


:.s.Éo encuentra un brcakpoint.
§ep lnto <F7>: Ejecuta línea a lfnea el
E'Kkl-¡¡cp'
Í93rE¡ma.
Step Over <FD: Ejecuta línea a línea el

Er-cArama y ejecuta hasta finalizar la


i l- Kidam
'nstn¡cción ce//. ¡ X""¿"r f¡us
Bretkpolnts: Permile realizar un punto de i otf,rt Fles
detención al programa cuando se ejecuta la I Lüxuy Fles
lec.la <F9>.
i- Linkc¡ Scripts
Stopwatch: Permite ver en una ventana el
tiempo que se ejecuta cada comando o entre
breakpoints.
St¡mulus: Permite simular entradas digitales,
cambios de estado y pulsos de los puertos.

Uno podrá apreciar mejor el comportamiento


del dispositivo con la lista de opciones del
menú Vi ¡rt
Program Memory: Nluoslra la momoria de
programa y las instrucciones en su verdadera
posición.
EEPROM: Muestra la memoria EE2P.OM en
formato hexadecimal.
Speclal Functlon Reglsters: Muestra los
y su valor actual, los cuales
registros SFR
cambian conforme el programa los modifique.
Watch: Permite agnagar en una ventana los
registros SFR o GPR que desean ser
observados durante la simulación.
Hardwore Stack: Permite observar los valores
de las posiciones durante las llamadas cal/ y
las interrupciones

Curso Microcontroladores PIC 1 6FB4 CarlÍn Pérez Cuba


I

)
:. -fr: :É-- -?::a-'3- e'
) l= eLT :i:E - es'iaDa
Bü]lry{-Jl :É:€ if á la
) ,Qe+eni
:Er3rtr,r -1€
) rr!-J¡aJtá--8s 33 rnenu File Y
s6!¡r a ;r-:.,e;3.
)
)
)
)
)
t
I
I
I
,
f
I
t
t
I
I
u
t
,
,
,
,
,
a
t
,
,
,
{
,
,
{
{
{
4 Cartln Pérez Cut¡a
-4
{
=a
PIEACE E{ilrt #D
L[ - -xre lCimocontruladures P[[ v LAE. SIGLA:ET¡¡-801 I

l¡:¡:e€e: lnq. Alberto l{endieta


ll".E¿,.-.r:e; Edwin Hartinez Ehambi

, .asm r***rf i**^t


0,1
I
=;,. ,:-< -eds conectados al Pr"rerto t'ísualiza el va!,.¡r ¿Je una constante, ¡ror e.iemplo el
-\--:-: !"nario b'01 01 01 01'.

.'.#tHtff**r*t* 02.asm *r*****************ir*r*

-:-< LEDs conectados al nibble bajo del Puerto B se apagan y los conectados al nibble
a:r se encienden.

^ 03.asm
**Í*r*ir**iik***********

Pcr eJ Puerto B se obtiene eldatc¡ de las cinco lírreas del Puerto A alque está conect¡rjo
un áfr3t de ínternrptores. Por e.jentplo, si por el Puerto A se r¡ifrc,luce "---110Ü1", por el
Pueito B aparecerá "xxx11001" (ei valor de las tres líneas superiores no intporta).

04. asm
*****t**ti***ti*ttÉr ñt**

J Pl;eilo B, que actua como salida es contrr:lado por el bit 0 del Puerto A, que actúe
::-: entrada. De manera talque:
- S¡ el bit 0 del PORTA es "1", se encienden todos los LEDs de salida.
- Si el bit 0 del PORTA es "0", se encienden los LEDs del nihble alto y se apag¡an los
-:a
,
05.asnl *,ri{'{.r*rir*s*ñ ¡r*.irr*
----- -e Cato del puerto de entrada I-'ORTA y un "tlumero" (por ejemplo el l3):
- : ='¿
=3RTA) = Nun'lero, se encicncien todos los LEDs de salida.
- :. =: =TA.) y l'.1úmero no sorr iguales, se activan los l-EDs pares de saliela y apagan
:-:¿-=

0€. asrn *****ará**r**ir*f,****i*r

l-r-:e-= e :=lc i:rtroducido por el F'r;erlo A que actr.¡a como en{rada, con un "f'lu,nero":
- S >3iT,A I es rnayor o igual qur' "l'.lurnero" se errcianden todos las LFDs de salirla.
: -SGfA)es rnerlor que "Numeroo se activan los LEDs p.ües de salida.

07-aSm 'ht*******t*.ff *ff ***ft*i

:fnd dato del puerto de entrada PORTA col un "Numero" (por eiemplo el 13):
; -gffifA) es mayor que "Nurncro" se encienden todos los LEDs de salida.
;n-Etarr¡i}r
-§@FfA) es menor *tt*.t*t*.**it***rf
o igual que "Numero" se actlvan los LEDs peres de salida.
*rtrt
08. aSm
frrCdeto del puerto de entrada PORTA con un "Numero". Tres posibilidades:
-A@f[[A) = Numero se encienden todos los LEDg de salida.
--$(FORTA) > Numero se activan los LEDs pares de salida.
-§(FORTA) < Numero se encienden los LEDs del nibble alto y se apagan los delbajo.
mlq:destacar que al no haber instrucciones de comparación, estas se realizan
Éerestas.

09,asm Í******t**t****r*****r**
Eerentar una tabla de la verdad mediante elmanejo de tablas grabadas en ROM.
keimplo, la tabla será de 3 entradas y 6 salidas talcorno la siguiente:
cBAlsss4sss2sfs0
.--t-
000 0010 l0 ; (Configuración 0).
001 0010 01 ;(Corfiguración 1).
010 1000 11 ; (Confrguración 2).
011 0011 11 ; (Configurackin 3).
100 1000 00 ; (Configuración 4).
101 0001 11 ; (Configuración 5).
110 0101 11 ; (Configuración 6).
111 1111 11 ; (Configuracíón 7).

16 ertrradas C, B, A se cor¡ectarán a las lÍneas del puerto A: RA2 (C), RAi (B) y RAC
(^}
l¡s sCdas se obtienen en el puerto B:
Ei(S5), RB4 (S4), RB3 (S3), RB2 (S2), RBl (S1) y RBO (S0).
ECilA PNESENTACON:
I'lLACl-tC¡'- i
[1'N 801 ( iv'llCROCONrI(OLADORI.S r

FI:CHr\ hN'l'l{lrcA O IiEALIZACION:

INTIT DTJCCIÓN A I,A PITOGRAI\,ÍACIÓN


MICITOCON'II(OI-ADOII I'tC I 6X84

(Jts-JETI\-O.- Introducir al alunrno en el proceso cle programaci«in de los


- ,::--ii-::roladorcs l'lC l(rX84. lrl proptisito tlc la ¡rrcscrrtc ¡rráctic:r cs quc cl alunrno
: l-.--- jn orogranta en lcnguaje cnsanrblador que pcrnrita un contc«r y visualización de
J:-*:

FI. \_D.{\ I ENTOS TEÓIUCOS. -


:- .;3S-r de instrucciones para el PIC 16X84 sc rcduce a 35 y utiliza 2 nrodos de
- --¡-cionamiento para accede a la memoria de datos, el mudo directo y el indirecto . Cada
..r-1cción sc cjccuta cn un ciclo clc rnírr¡uina cxccptua¡rdo las ir¡stnrccioncs dc salto que
'¿^isr e[ doble (Esta característica dc los PIC es gracias a la Arquiteotura HARVARD,
P:txesador tipo RISC y procesamientr; seg¡nentado de las instrucciones que poseen).
Gracias a la arquitectura IIARVARD se puede acceder de lbrma sinrultánca e
nJependiente a la memoria de datos y ala memoria de instrucci«rnes.
(lltra característica importante de los PIC es el manejo intensivo del Banco de Registros,
;.uc- participan dc nraneftr nruy activa cn la e.iecución cle las instn¡cciorrcs. En la fig.
sirluic¡ltc sc tlbscryrt cl cs(lttcnl¡r tlc lrls rlilcrc¡rlcs clclrclrlos (llrc l)r()lx)rcirxr¿r ltrs o¡lcriurttos
: i¡ ALU. El resultado se puede cargar en cualquier registro o en \\'.

=f .-rsTRo oE BUS DE DATOS


..,iSTBUCCION

: 3--ctr de Registros esta confomrado por Los registros espccíficos y l-os de propósito
---:--: : E,<[os se encuentran implcmcutados en las pr:siciones de la Memoria de Datos.
: ?:. . óX81 admite interrupciones, ulra de ellas al activarse la patita RB0/INT. Cuando se
:i':.: --.r :¡: intemrpión se guurrJu en la I'ila cl cottcnitlo actual dt:l l'C y el I'C se ca.rga
-- - .. '':¡cción4, que es la destinada al vector de interrupción. En nluchos programas no
- i:-. :-:e-r:pciones y por lo tanto la tlirc.cci(rn
4 .lc la nrcmoria dc progTmta se ¡rodría
,.:=::-l;irte, siu enrbargo por nonna es mcjor que el prograrna dc aplicación n«¡
----.-
- . r,- -= ;;;s.,-ción 4 por lo que es conveniente que se inicie en la clirección 5; para ello se
j---;:: =¡ciñcer acorde a lo siguiente:
- ;. - - : r-l programa cornicnz¿ cn la dircccitin 0 (vector de resct)
i-:.- -',-- f : se salta a la etiqueta inicio
- i- - -' : se asigna la direoción 5 a la siguiente instrucción «¡ue contiene
: Ia etiqueta inicio
1-- l-- 'ientes hojas el alumno, podrá encontrar la teoría nocesariapara entender la
.=".
L-r------:l- interna del PIC l6C84. la nremoria de prograrna. la memoria ile datos 1' sus 2
-!:ú¡r-{ -:e direccionamiento, junto a una tlcscripción y cxplicacirin del registro de estado.

IJERCICIO PRACTICO.-
'-
-.;¿=.io las siguiente instrucciones .'' las de movinriento (descritas en clase) confeccionar
-- r'i¡lrama cuya descripción se halla en el punto b).

:¡-r. ESTADO, x; explora el bit x del rcgistro ESTADO, si vale 1 salta a la subsiguiente
::---,mcción, si vale 0 salta a la siguientc instrucción (x csta entre 0 a 7)
E: büis ESTADO,4 ; Explora el bit 4 del registro ESTADO
goto VALORO ; ejecuta esta instrucción si el bit 4 vale 0
toto VALORI : c.iccuta esta instn¡ccitin si el bit 4 valc I

flra-< i nstrucciones son:

¡irt REGISTRO ; Pone a 0 "'l contenido de REGISTI{O


,rcf t-.d ; incrementa en I el contenido de f, si d:0 dcposita el resultado en W,
d:l
si deposita el resultado en f.
:]ii l.d ; decrerncnta cn I cl contcniclo de I, si d=0 deposita c[ rcsultado en W,
rl:l
si deposita e[ resultado en f.
¡:::i; t-.d ; resta el contenido de W al colrtenido de f y si d:0 deposita el
resulta«lo en W. Sid:l lo dcposita en [.
.-:.-¡ k y
; k-W almacena el resultado en W " )

: - ::-i i-.d ; Conrplementa el rc¡¡islro f (cambia los I por 0 y viceversa), el resultado


tl:l
Io dc¡xrsita crt \tr'.si <l:0 ¡'si kr dr¡ro.sil:r c-tt f.
:': :.i ; rotu f'a ln iz.r¡uicrda ¿r tlnvés dcl acarrco, si tl---0 dc¡xrsitu el rcsultadu en
W, d:l deposita en f.
: rota f a la derecha a través dcl acarrec, si cl:O deposita el resultado en W,
d:l deposita en f.
: Intercambia nibbles,

: >: -ex-¿ ,.-laborar un progranra para sl PlCl6L-.84 (I'ractica utilizanclo el l'lC 16F-877)
r--É-::,:--i-', a'l VIHz con oscilador externo tipo XT, que tiene I intemrptor actuando
-;r,-n. tdailnco de entrada quc esta conectado a las lfnea I(40 de la puerta A- Conlo
:r. --:. ¡":= j¡ sLlida se tienen 4 dir.rdos led unidos a las líneas RB0-RII3 de la puerta B.
---:-=- - JisF',ne de un pulsador nlanual para provocar el reset.
- - -'-§¡ a, esluema electrt'inico dc conexionado del PIC.
I :--:--.:¡:s ei Ciasrama tle flujo para el programa que utiliza un contador CONTEO el cual
-
*c¡=a¡i¡ en 0. luego se va incrementando CONTEO en uno hasta alcanzar el valor
=
--r;.ln: - I i t. ras lo cual se detiene de contar para entrar en un bucle infinito no operativo.
a -.2.::.= conteo se ira visualizando en los 4 leds de salida conectados a la Puerta B. Dada
¿¿ fu"-,*'uia de operación del PIC se raquiere además que el programa proporcione un

"-#¡ .l¡¡r sofhvare para pocler visualiz;rr claramente el conteo en los 4 leds; este retardo
¡*e ser mÍrs o nlenos dc 200nrscg. paru cllo co¡rsidcrar quc cl gldo dc instrucción del PIC
es ,l ,;seg c¡¡,rndo funciona a 4 MÍlZ (no olvidar que cada instrucción dcl PIC 16X84 tarda
- ,--klo de instrucción, mientras que las instrucciones de salto ta¡dan 2 ciclos.
-:-- P¿¡a el diagrama de flujo elaborado en el punto 2 presentar el programa en lenguaje
en¡amblador MPASM.
j.- El prograrna ensamblado correrlo en el MPLAB utilizando el hardware del PICDEI\{
:]LL S.

SEGL\DO PROGRAMA:
i.- Elaborar el diagrama de flujo para el progftima que de manera secuencial desplaza el
enceadido de lcds de izq a derecha (RB3 a RBO) cuanclo el pulsador RAO esta abierto y
u:ambia el sentido de desplazamient«r. es decir de derccha a izq (RBO a RB3) cuando RAO
rTts ccrrado. Sc tlcbc considcrar cl corrospondictrtc rrtartlo dc I scg para cada situaoión dc
encendido de led, de rnanera que pueda visualiza¡se f;icilmente por el ojo humano. El PIC
I6F877 utiliza un cristal de 4MHZ.
l.- El programa ensamblado correrlo en el MPLAB utilizando el hardware del PICDEM
]PLUS.

PREINFORME:
PRE\1O A LA RtrALIZACION DE LA PRACTICA DEBEN SBR ELABORADOS
LOS PROGRAMAS CORRESI'ONDIENTES. §Ii DEBE ENTREGAR UN
PREI\FORME POR GRUPO.

I\TOR\TE Y EXAMEN DE LA PRACTICA:


L.\ SIGUIENTE SBMANA T{)S'I'IIRIOR A T,A RIIAI,IZACTON DII I,A
PR{,CTICA, SE TOMARA UN EXAMEN INDMDTIAL SOITRE LA PRACTICA.
T.T\ÍBTE\ DEBE SER ENTR.trGADO UN INFORME POR GRUPOS QUE
f\-DIQtT LOS RESULTADOS y CONLUSIONES OTITENIDOS, EN LA
RL{LTZ{.CION DE LA PRACTICA.

I
PRACTICA 4
, ETN 801 (MTCROCONTROLAT)ORES)
FECI.IA ENTREGA O REALIZACION:

TEMPORIZACION E INTERRUPCIONES
MICROCONTRÓLADOR PIC I6X84, PIC I6F877

El propósito de la presente pníctica es que el alumno analizé los 2


riguientes y elabore variantcs de los mism«rs cn lcnguaje ensamblador.
FhErejemplo, el alumno aprende'ní a controlar el tiempo y el segundo es un
del manejo de intemrpciones.

: Controlando el tiempo.

Esquema de Montaje

I l¡F

2 IPF

frr¡paón: Programa que ilu-stra crimo realiz¡u una tem¡rorización sin emplear
Lrr4ciones.

f,hF- cn Assemblen

ilSTF¡trll.
HEX
PUERTAA EQU 0x06
Hlu 0x0l
ror 0x03
tml
t;Ebd prograrna Én
0

b ll0l 0l l0 ; Valor a cargar en

Otn
; La Puerta B salida
EEITADO,S
-IfPIJERTAB ; Banco 0
rtr"t ERTAB; Las líneas de salida
;t?B a 0
lrybdPLIERTAB,T ; Enciende el led RB7: 1

clrcta¡do ; Llamada a subrutina de


;IETARDO
HPUEK-TAB,I ; Ayaga el led, RB7 : 0
cdtñtardo
¡Olo ParPa

rado clrf TMR0 ; TMRO:0 y empieza su


; imemento

crplffi¿ btfss TMR0,4; TMR0<4> - l?


goo explo¡a ; No ha llegado TMRO a l6d
Etn; Ha llegado TMRO al
;tah l6d y retorna
;dpograma principal

E{D
IIEÜCICIO:
tEúr¿rrm programa en lenguaje ensamblador MPASM, para el PIC 16F877, que
FÉohenerretardos de I segundo.
)Lqorrili*¡do
"¡tio)jrmto el ICD2 (El depurador en línea con el PICDEM2 PLUS de
al software MPLAB, hacer correr el programa, efectuando la
f-fAcorrespondiente y mostrar su funcionamiento real iluminando el le,'d RBO por
dQlD&¡ttardo indicado.
IIDr,ftIAPRESENTE PRACTICA SE LA DEBE EFECTUAR POR GRUPOS.
Manejando Intemrpciones.

Esquema de Montaje

P¡C I6X84 fi,,^


l.
{-_--" -'ltr¡¡r - 1. óiirsiÁi
s
c 'll.rlr \tH¡

[BT-1 [:ir--t¡,
l-3501 - [>¡__1¡

| 3301 [,;^!,;"i,

Ilcrcripción: Refleja el estadode dos intemrptores situados en RAO y ttAl


oüserriandolos en los le{s RBO y RBI mientras hace parpadear un diodo en la línea RB7.

Ihcarema en Assembler:

BADD( IIEX

UEQU O
FEI' I
il._(PT EQU 0x0l ; TMRO en banco 0 OPTION en banco I
Ef,AIX) EQU 0x03
IEITAA EQU 0x05 ; PA en banco 0 TRISA en bancol
f,Ef,AB EQU Ox06 ; PB en banco 0 TRISB en bancol
f,IOfNEQIJ 0x0B ;
Gllff,AQU 0xl0 ; Contador auxiliar
()RG 0; Ydor de Reset
!É¡iiD
(rc4; Yccor de Intemrpción
3lbAr;
(x¡5
Salta a comienzo de rutina de intemrpción

ÉMESTADO,5 ; Selección del banco I


üHTERTAB ; Configura PUERTA B como salida

Dtsb0000001 l' ; Configura RAO, RAI como enfadas


¡nTfPLJERTAA

DUtw b'0m001 I I'


rtrtrTMR_OPT
tEfEI|TADO,S ; Banco 0

Dvtwb'10100000'l Se permite intemrpción del


UTmtrINTCON ; TMR0 y la globla (GIE)

mvhr Oxl0
mwf CONTA; Se carga CONTA con 16 decimal
mvlw0x0c
DvwfTMR_OPT ; Se carga TMRO con 12 decimal

EHsc PUERTAA,O ; Explora RAO y brinco si vale 0


EEb rú_l ; salta a RA0_1
HPIIERTAB,O; Si RAO:0 sacaporRBO un 0
¡lbnlx; A explorar RAI

l_l bdPUERTAB,0 ; Si IlA0 = I se saca por Rll0 un I


drLÉcPLTERTAA,I ; Exarninaral y brinco si es 0
ttDar l ; Salta si R¡\l : I
EItIEf,feB,l ; Si RAI = 0, RBl = 0

H?t ERTAB,I ; SiRAI : l,RBI : I


llbh¡e; Bucle indefinido, se sale por la interrupción
D
)
D
D
D i::',-. ;eclsz CONI'r\,1 ; RSI. I)scrctncnLa CONI'A y brinco si vale 0
D -:.J :a¡.illl
D
¡ ;*.-= ,.,,movlu'0x10 ; Si CONTA:0 sc carga
-' -- .-'-.i CC'\TA
D
D
D
D
D
D --_l bcf PUERTAB,T ; Si I{BT: I , $e invierte
D
D \-!uir nioylw b'10100000' : Sc rcstatrra INTCON por clcsactivar las

D sovrrf IN1'CON ; intcrrupcitlllcs tl ¡rroc:csttdot


D =.rvlrr,0x0c
::'onrf TMR_OPT; Se rccarga ]-lvf I(0 colt l2
D .-eü-le
D
c'nd
D
D
D LIERCICIO:
D a) \fodificar algunas instruccioues dcl progranra atttcrior . para el PIC 161t877.
b) Luego utiliznndo el ICD2 (El depurador en línea con el PICDEM2 PLUS de
D
L:boratorio) junto al software MPLAB, hacer correr cl p«rgl',una, efectuattdo la
D J-purlción corrcspondicntc y rnostrar su furrcio¡rauricnto real. Adicionar cn un proto el
I ..-J*'a¡e nccesario para acoplarlo a[ PIC DfM 2 PLUS.
) -\,iiza¡ el funcionarniento del nrismo.
)
l.e-rT.\: LA PRESENTE PRACTICA SI1 LA DEBE EFECTUAR I'OR GRUPOS.
)
) FI{EI.\FORI}IE:
) PRE}'IO A LA RIIAI,IZACT0N ¡)II ¡,A I'ITA(]'I'I(IA T)I'ITI'N SI'IT I|I,AII0TTADOS
LOS PROGRAMAS COIUIJISI'ONDII¡N'I'IS. SIi DII,TIE IIN'I'IU'GAR UN
) FREDiFORME POR GITUPO.
)
) N;OR\ÍE Y EXAMEN DE LA PRACTICA:
) L{ SIGLIENTE SEMANA POSTERIOR N. LA REALIZACION DE L¡\
) PRICTICA, SE TOI\ÍAITA UN EXAMBN II.iDIVIDI,]AL SORII.E LA PRACTICA.
)
T.$IBIL\ DEDE SBR ENTRBGADO UN INFORME, POII GITUI'OS QUE
L\'D{QTT LOS RESULTADOS Y CONLUSIONE§ OI}'[IINII)OS, EN LA
) R.LTLIZI.CION DE LA IDRACTICA.
)
)
)
)
)

)
)

Potrebbero piacerti anche