Sei sulla pagina 1di 29

Universidad Autnoma del Carmen Microprocesadores

Facultad de Ingeniera Microcontrolador PIC16F877


Universidad Autnoma del Carmen
Facultad de Ingeniera
Microprocesadores
PIC16F877
!eportes de pr"cticas de la#oratorio$
Pro%esor& Ing$ 'uan Agustn Pedra(a )rtega
Cd$ del Carmen* Campec+e
1
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Objetivo General
Aprender a utilizar el microcontrolador PIC16F877 de Microchip el
cual pertenece a la familia de los microcontroladores de 8 bits (bus
de datos) el cual se le denomina PIC el modelo 16F877 posee
!arias caracter"sticas #ue hacen a este microcontrolador un
dispositi!o mu !ers$til% eficiente pr$ctico #ue tienen
caracter"sticas como&
Ar#uitectura 'ar!ard
(ecnolo)"a *I+C
(ecnolo)"a CM,+
Adem$s% aprenderemos el mane-o confi)uraci.n de los puertos
paralelos de entrada/salida de dicho microcontrolador el cual posee
0 puertos denominados P,*(A% P,*(1% P,*(C% P,*(2 3
P,*(45
6n microcontrolador es un microprocesador optimizado para ser
utilizado para controlar e#uipos electr.nicos5 +e denomina
microcontrolador a un dispositi!o pro)ramable capaz de realizar
diferentes acti!idades #ue re#uieran del procesamiento de datos
di)itales del control comunicaci.n di)ital de diferentes
dispositi!os5
2
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Prctica N 1
4n esta pr$ctica utilizamos el PORTA del microcontrolador el cual
posee 6 l"neas bidireccionales tiene 7 re)istros asociados&
Registro PORTA (05H): *e)istro del estado del Puerto A%
cada uno de los 6 bits menos si)nificati!os (*A0% *A8% *A7%
*A9% *A1 *A:) de este re)istro est$n asociados a la l"nea
f"sica correspondiente del puerto5
3
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Registro TR!A ("5H): Cada bit de este re)istro confi)ura la
direcci.n en #ue flue la informaci.n de la patita
correspondiente del puerto A% as"% para ;<:%1%=5505

#it $ %e TR!A & 1 confi)ura la patita *A; del puerto A como 4ntrada5
#it $ %e TR!A & 0 confi)ura la patita *A; del puerto A como +alida5
Registro A'(ON1 ()*H): >as patitas *A:% *A1% *A9% *A7 3
*A0 est$n multiple?adas con las entradas anal.)icas
A@:%A@1% A@9% A@7% A@8% de manera #ue antes de utilizarlas
debemos confi)urar si ser$n usadas como entradas
anal.)icas o como entradas / salidas di)itales5 Para
seleccionar la se)unda opci.n (entradas / salidas di)itales) se
debe colocar en la mitad menos si)nificati!a de este re)istro
un :11:
9
% es decir% un :6h5
4st$ pr$ctica nos referimos a las salidas di)itales% en el cual se
confi)uran las patitas *A:%=5% *A7 del puerto A para mane-ar el
encendido apa)ado de 8 >42s o diodos luminosos conectados a
las patitas con las respecti!as resistencias limitadoras de corriente5
+aterial
Cantidad 2escripci.n Precio 6nitario Costo (otal
1 PIC16F877 A 765:: A 765::
8 >42s A95:: A85::
8 *esistencias de 77:B A50: A95::
9 Capacitares de 99pF A95:: A85::
1 Cristal de 8M'z A65:: A65::
(otal AC65::
4
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Progra,a en +P-A#
include DP16F8775I@CD
d e#u :?8:
n e#u :?1A
m e#u :?FF
ret1 e#u :?9:
ret9 e#u :?91
ret7 e#u :?99
or) :?:::
clrf +(A(6+
clrf P,*(A
bsf +(A(6+%*P:
mo!lE :?:6
mo!Ef A2C,@1
mo!lE :?::
mo!Ef (*I+A
bcf +(A(6+% *P:
clo clrf P,*(A
call del
bsf P,*(A% :
call del
bsf P,*(A% 1
call del
bsf P,*(A% 9
call del
bsf P,*(A% 7
call del
)oto clo
Fretardo de un se)undo
del mo!lE d
mo!Ef ret7
cic call pau
decfsz ret7%1
)oto cic
return
Frutina de tiempo
pau mo!lE n
mo!Ef ret1
re1 mo!lE m
mo!Ef ret9
re9 decfsz ret9%1
5
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
)oto re9
decfsz ret1%1
)oto re1
return
end
*oto 1
*oto .
6
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto /
*oto 0
7
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Prctica N .
4n esta pr$ctica utilizamos el P,*(1 del microcontrolador
PIC16F877% el cual es un puerto di)ital de 8 bits% todas sus patitas
son bidireccionales traba-a en forma similar al puerto A5 (iene tres
re)istros asociados& 4l re)istro de datos P,*(1% el re)istro de
direcci.n de los datos (*I+1 el re)istro ,P(I,@G*4H5
Registro PORT# (01H2 101H): >os ocho bits #ue contiene
refle-an directamente el estado de las ocho patitas del puerto
1 *1:% *11% *19% *17% *18% *10% *16% *175
Registro TR!# ("1H2 1"1H): 4n forma similar a (*I+A% al
poner un : en un bit de (*I+1 se confi)ura la patita *1
correspondiente como salida al poner un 1 enun bit de
(*I+1 se confi)ura la patita *1 correspondiente como
entrada5
Registro OPTON3R4G ("1H2 1"1H): 4l bit 7 de este re)istro%
denominado *1P6 es usado para conectar/desconectar una
resistencia IpullJupK conectada a cada patita *15 Poniendo un
: en este bit todas las resistencias se conectan5 Para
desconectar las resistencias IpullJupK se debe de poner ese bit
en 1% tambiLn se desconectan autom$ticamente cuando la
patita correspondiente es confi)urada como salida5 6n *eset
desconecta todas las resistencias5
8
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877

>as patitas *18% *10% *16 *17 del puerto 1 tienen la capacidad
de )enerar una solicitud de interrupci.n a la CP6 cuando est$n
confi)uradas como entradas5
4st$ pr$ctica consiste en realizar un encendido secuencial de 8
>42s conectados a *1:%=5% *17% es decir% se enciende *1:
durante 1 se)undo% lue)o *11 as" sucesi!amente hasta lle)ar a
*17 para !ol!er a comenzar el ciclo con *1:5
+aterial
Cantidad 2escripci.n Precio 6nitario Costo (otal
1 PIC16F877 A 765:: A 765::
8 >42s A95:: A165::
8 *esistencias de 7C:B A50: A85::
9 Capacitares de 99pF A95:: A85::
1 Cristal de 8M'z A65:: A65::
(otal A1:65::
Progra,a en +P-A#
I@C>624 Dp16f8775incD
n e#u :?1A
m e#u :?FF
d e#u :?89
ret1 e#u :?9:
ret9 e#u :?91
ret7 e#u :?99
or) :?:::
clrf +(A(6+
clrf P,*(1
bsf +(A(6+% *P:
clrf (*I+1
clrf +(A(6+
clrf P,*(1
bsf P,*(1%:
cls call del
9
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
rlf P,*(1%1
)oto cls
Fretardo de un se)undo
del mo!lE d
mo!Ef ret7
cic call pau
decfsz ret7%1
)oto cic
return
Frutina de tiempo
pau mo!lE n
mo!Ef ret1
re1 mo!lE m
mo!Ef ret9
re9 decfsz ret9%1
)oto re9
decfsz ret1%1
)oto re1
return
end
*oto 1
10
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto .
*oto /
11
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto 0
12
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Prctica N /
4n est$ pr$ctica !ol!emos a utilizar el P,*(A del microcontrolador
PIC16F877%cual como se menciono en la pr$ctica @M 1
mencionamos posee 6 l"neas bidireccionales 7 re)istros asociado&
*e)istro P,*(A (:0')
*e)istro (*I+A (80')
*e)istro A24C,@ (CF')
4n est$ pr$ctica nos referimos a las entradas di)itales% en el se
confi)ura la patita *A0 del puerto A como salida conectada a un
>42% el cual se controla de acuerdo al estado de la patita *A:
*A1 confi)uradas como entradas5
+aterial
Cantidad 2escripci.n Precio 6nitario Costo (otal
1 PIC16F877 A 765:: A 765::
1 >42s A95:: A95::
7 *esistencias de 1NB A:50: A150:
1 *esistencia de 7C:B A:50: A:50:
9 +Eitches A75:: 65::
9 Capacitares de 99pF A95:: A85::
1 Cristal de 8M'z A65:: A65::
(otal AC65::
13
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Progra,a +P-A#
I@C>624 DP16F8775I@CD
- e#u :?1A
r e#u :?FF
ret1 e#u :?9:
ret9 e#u :?91
,*H :O::::
C>*F +(A(6+
C>*F P,*(A
1+F +(A(6+% *P:
M,P>Q :O:6 Fentrada salida
M,PQF A2C,@1 F di)ital
M,P>Q :?1F
M,PQF (*I+A
F >44 >A+ PA(I(A+
1CF +(A(6+% *P:
C': 1(F++ P,*(A%:
H,(, C'1
1CF P,*(A%0 Fapa)a
C'1 1(F++ P,*(A%1
H,(, C':
1+F P,*(A%0 Fenciende
CA>> 24>
H,(, C':
F *6(I@A 24 9:M+4H
24> M,P>Q -
M,PQF ret1
re1 M,P>Q r
M,PQF ret9
re9 24CF+R ret9%1
H,(, re9
24CF+R ret1%1
H,(, re1
*4(6*@
4@2
14
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto 1
*oto .
*oto /
15
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto 0
16
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Prctica N 0
4n est$ pr$ctica utilizamos el P,*(1 el P,*(C del
microcontrolador PIC16F877% el cual el P,*(1 es un puerto di)ital
de 8 bits% donde todas sus patitas son bidireccionales traba-a en
forma similar #ue el P,*(A5 4ste puerto tiene tres re)istros
asociados&
*e)istro P,*(1 (:6'% 1:6')
*e)istro (*I+1 (86'% 186')
*e)istro ,P(I,@G*4H (81'% 181')
4l P,*(C consta de 8 l"neas bidireccionales traba-a de forma
similar a los puertos 1 C% este puerto tiene dos re)istros
asociados&
Registro PORT( (05H): 4s el re)istro de datos cuos 8 bits
*C7% *C6%=% *C: refle-an directamente el !alor l.)ico de las
l"neas f"sicas del puerto C5
Registro TR!( ("5H): *e)istro de control de direcci.n de las
l"neas del puerto C5 Poniendo un 1 en un bit del re)istro
(*I+C se confi)ura la l"nea correspondiente como entrada
poniendo un : se confi)ura la l"nea correspondiente como
salida5
>as l"neas del P,*(C se encuentra multiple?adas con !arias l"neas
controladas por otros perifLricos% cuando se habilita la l"neas del
perifLrico respecti!o puede ser i)norada la confi)uraci.n de (*I+C%
de hecho al)unos perifLricos confi)uran la l"nea como salida
mientras #ue otros la confi)uran como entrada5 Cada entrada del
puerto C posee un buffer como disparador +chmitt5
17
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
4n est$ pr$ctica se realiza la simulaci.n la cone?i.n de un teclado
matricial% es decir% #ue el microcontrolador acepta datos numLricos
o alfanumLricos suministrados por un operador mediante un
teclado5 4l teclado est$ or)anizado en forma matricial como un
con-unto de sEitches en las intersecciones de !arios ren)lones
columnas conductoras5
>a cone?i.n del teclado se realiza con tres l"neas de salida del
puerto 1 #ue controla las columnas cuatro l"neas de salida del
mismo puerto #ue reco)en la informaci.n de los ren)lones5
+e coloca un diodo de protecci.n en cada l"nea de salida del puerto
1 para e!itar #ue al acti!ar m$s de una columna a la !ez se
produzca un corto circuito5
18
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Para la detecci.n asi)naci.n de c.di)o se)Sn la tecla presionada
se realiza de la si)uiente manera&
'etecci6n: +e ponen en ba-o todos los ren)lones cuidando
#ue haan diodos de protecci.n se leen las columnas5
+i ha una columna acti!a se limpia el rebote% si es tecla
!$lida se pasa al paso 7% sino es tecla !$lida se asi)na un
c.di)o de Inin)una tecla presionadaK5
(o%i7icaci6n: 4l puerto acti!a un ren)l.n a la !ez colocando
un cero l.)ico en la l"nea correspondiente al ren)l.n a acti!ar5
Por cada ren)l.n acti!o se lee la informaci.n de columnas
dependiendo del ren)l.n la columna acti!ada en ba-o se
asi)na el c.di)o a la tecla de la intersecci.n5
(ambiLn en est$ pr$ctica se muestra el mane-o de un displa de 7
se)mentos% el cual es un displa de $nodo comSn conectado al
puerto C5
Arre)lo de +e)mentos del 2ispla
19
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
4l pro)rama !isualiza d")itos numLricos he?adecimales en el
displa% de acuerdo a la codificaci.n #ue se muestra en la si)uiente
tabla&
+aterial
Cantidad 2escripci.n Precio 6nitario Costo (otal
1 PIC16F877 A 765:: A 765::
19 +Eitches A75:: A765::
8 *esistencias de 1NB A:50: A95::
7 *esistencia de 77:B A:50: A750:
1 2ispla de 7 se)mentos A85:: A85::
7 2iodos A15:: A75::
9 Capacitares de 99pF A95:: A85::
1 Cristal de 8M'z A65:: A65::
(otal A17850:
20
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
Progra,a +P-A#
I@C>624 DP16F8775I@CD
n e#u :?1A
m e#u :?FF
ret1 e#u :?9:
ret9 e#u :?91
,*H :?::
C>*F +(A(6+ F1an; :
C>*F P,*(1
C>*F P,*(C
1+F +(A(6+%*P: F1an; 1
M,P>Q :?F:
M,PQF (*I+1 F*755*8 entradas *755*: como
salida
C>*F (*I+C Fpuertos en salida
1CF ,P(I,@G*4H%7
1CF +(A(6+%*P: Fre)resa a 1an; :
Fdetecci.n de teclas presionadas
24( C>*F P,*(1
1(F++ P,*(1%7 Flee ren)l.n 1%9%7
H,(, *41
1(F++ P,*(1%6 Flee ren)l.n 8%0%6
H,(, *41
1(F++ P,*(1%0 Flee ren)l.n 7%8%C
H,(, *41
1(F++ P,*(1%8 Flee ren)l.n T%:%U
H,(, *41
*41 CA>> PA6
1(F++ P,*(1%7 Flee ren)l.n 1%9%7
*4(>Q :?FF
CA>> PA6
1(F++ P,*(1%6 Flee ren)l.n 8%0%6
*4(>Q :?FF
CA>> PA6
1(F++ P,*(1%0 Flee ren)l.n 7%8%C
*4(>Q :?FF
CA>> PA6
1(F++ P,*(1%8 Flee ren)l.n T%:%U
*4(>Q :?FF
CA>> PA6
21
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
FCodificaci.n del teclado
C,2 M,P>Q :?F7
M,PQF P,*(1
1(F++ P,*(1%7 F4s la tecla 1V
CA>> *1
1(F++ P,*(1%6 F4s la tecla 8V
CA>> *8
1(F++ P,*(1%0 F4s la tecla 7V
CA>> *7
1(F++ P,*(1%8 F4s la tecla TV
CA>> *A
M,P>Q :?F1
M,PQF P,*(1
1(F++ P,*(1%7 F4s la tecla 9V
CA>> *9
1(F++ P,*(1%6 F4s la tecla 0V
CA>> *0
1(F++ P,*(1%0 F4s la tecla 8V
CA>> *8
1(F++ P,*(1%8 F4s la tecla :V
CA>> *:
M,P>Q :?F2
M,PQF P,*(1
1(F++ P,*(1%7 F4s la tecla 7V
CA>> *7
1(F++ P,*(1%6 F4s la tecla 6V
CA>> *6
1(F++ P,*(1%0 F4s la tecla CV
CA>> *C
1(F++ P,*(1%8 F4s la tecla UV
CA>> *1
F*6(I@A 24 (I4MP,
PA6 mo!lE n
mo!Ef ret1
re1 mo!lE m
mo!Ef ret9
re9 decfsz ret9%1
)oto re9
decfsz ret1%1
)oto re1
return
F C,2IH, 24 >,+ @6M4*,+
*: M,P>Q :?:1 F*etorna c.di)o del W:X
22
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
M,PQF P,*(C
CA>> C,2
*1 M,P>Q :?8F Fretorna c.di)o del W1
M,PQF P,*(C
CA>> C,2
*9 M,P>Q :?19 Fretorna c.di)o del W9X
M,PQF P,*(C
CA>> C,2
*7 M,P>Q :?:6 Fretorna c.di)o del W7X
M,PQF P,*(C
CA>> C,2
*8 M,P>Q :O8C Fretorna c.di)o del W8X
M,PQF P,*(C
CA>> C,2
*0 M,P>Q :?98 Fretorna c.di)o del W0X
M,PQF P,*(C
CA>> C,2
*6 M,P>Q :?9: Fretorna c.di)o del W6X
M,PQF P,*(C
CA>> C,2
*7 M,P>Q :?:F Fretorna c.di)o del W7X
M,PQF P,*(C
CA>> C,2
*8 M,P>Q :?:: Fretorna c.di)o del W8X
M,PQF P,*(C
CA>> C,2
*C M,P>Q :?:8 Fretorna c.di)o del WCX
M,PQF P,*(C
CA>> C,2
*A M,P>Q :?:8 F*etorna c.di)o del WTX
M,PQF P,*(C
CA>> C,2
*1 M,P>Q :?71 F*etorna c.di)o del WUX
M,PQF P,*(C
CA>> C,2
end
23
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto 1
*oto .
24
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto /
*oto 0
25
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*oto 5
26
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
PRA(T(A 5
8999999999999999999999999999999999999999999999999999999999999999999999999
list :&117"55a
;incl<%e =P11*"55a>N(=
i7n%e7 3117"55a
org 0?000
? e@< 0?05
n e@< 0?77
, e@< 0?77
ret1 e@< 0?.0
ret. e@< 0?.1
ret/ e@< 0?..
cont e@< 0?.0
org 0?0000
inic
#!* !TATA!2RP0 8banco 1
+OB-C 0?"0 8To%os los bits %el :<erto ( co,o sali%as
+OBC* TR!( 8D el +!# co,o entra%a
#(* !TATA!2RP0 8regresa al #anco 0
+OB-C 0?01 8
+OBC* PORT( 8'es:liega <n cero
(-R* cont 8nicialiEa conta%or en cero
tecla #T*!! PORT(25 8cFeca bot6n
GOTO tecla 8!i no se Fa :resiona%o es:era
(A-- r1s 8:a<sa %e .0 ,iliseg<n%os
#T*!! PORT(25 8cFeca n<eva,ente el bot6n
GOTO tecla 8tecla 7alsa2 es:era %e n<evo
N(* cont21 8tecla vli%a2 incre,enta conta%or
(A-- co%igo 8obtiene c6%igo :ara %es:legar el conta%or
+OBC* PORT( 8%es:liega conta%or
s<elt #T*!( PORT(25 8cFeca %e n<evo el bot6n
GOTO s<elt 8si sig<e :resiona%o es:era
GOTO tecla 8si Da se solt6 es:era n<eva :resi6n>
co%igo:
+OB-C 0?0* 8carga ,scara
AN'C* cont20 8en,ascara el conta%or D lo %eja en C
27
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
A''C* P(-21 8!alta C instr<cciones a%elante
R4T-C 0?01 8c6%igo %el 0
R4T-C 0?0* 8c6%igo %el 1
R4T-C 0?1. 8c6%igo %el .
R4T-C 0?01 8c6%igo %el /
R4T-C 0?0( 8c6%igo %el 0
R4T-C 0?.0 8c6%igo %el 5
R4T-C 0?.0 8c6%igo %el 1
R4T-C 0?0* 8c6%igo %el 5
R4T-C 0?00 8c6%igo %el "
R4T-C 0?00 8c6%igo %el )
R4T-C 0?0" 8c6%igo %e la A
R4T-C 0?10 8c6%igo %e la b
R4T-C 0?/1 8c6%igo %e la c
R4T-C 0?0. 8c6%igo %e la %
R4T-C 0?/0 8c6%igo %e la e
R4T-C 0?/" 8c6%igo %e la *
r1s ,ovlG ?
,ovG7 ret/
re/ call r1
%ec7sE ret/21
goto re/
ret<rn
8 7inal :ri,ero
8seg<n%o
r1 ,ovlG n
,ovG7 ret1
re1 ,ovlG ,
,ovG7 ret.
re. %ec7sE ret.21
goto re.
%ec7sE ret121
goto re1
ret<rn
en%
28
Universidad Autnoma del Carmen Microprocesadores
Facultad de Ingeniera Microcontrolador PIC16F877
*OTO!
29

Potrebbero piacerti anche