You are on page 1of 92

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

MICROCONTROLADOR 16F628
DESCRIPCION DE PINES

Nombre
RA! / AN! RA1 / AN1 RA2 / AN2 / "REF RA# / AN# / CMP1 RA$ / TOC%I / CMP2 RA& / MCLR / T'" RA6 / OSC2 / CL%O(T RA) / OSC1 / CL%IN RB! / INT RB1 / R* / DT RB2 / T* / C% RB# / CCP1 RB$ / P+M RB& RB6 / T1OSO / T1C%I RB) / T1OSI "SS "DD

Pin #
17 18 1 2 3 4 15 16 6 7 8 9 10 11 12 13 5 14

Tipo E/S/P
E/S E/S E/S E/S E/S E/P E/S E/S E/S E/S E/S E/S E/S E/S E/S/P E/S/P P P

Tipo Bu
ST ST ST ST ST ST ST ST TTL TTL TTL TTL TTL TTL TTL TTL -------

er

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

BANCOS DE REGISTROS DEL PIC 16F628

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

CONJUNTO DE INSTRUCCIONES
El conjunto de inst ucciones de los !ic o" oces#do es PIC 16F$$$ consiste en un "e%ue&o e"e to io de solo '( inst ucciones) En este cu so se *# o"t#do "o cl#si+ic# l#s, desde el "unto de -ist# del " o. #!#do , en cinco c#te.o /#s 0ien de+inid#s de #cue do con l# +unci1n 2 el ti"o de o"e #ndos in-oluc #dos)

Instrucciones de Byte que operan con Registros


Est#s inst ucciones "ueden se de si!"le o do0le o"e #ndo de o i.en) El " i!e o"e #ndo de o i.en se 3 sie!" e el e.ist o seleccion#do en l# inst ucci1n, el se.undo, en c#so de e4isti , se 3 el e.ist o 5) El destino, es deci donde se .u# d# # el esult#do, se 3 el e.ist o seleccion#do o el 5, se.6n se seleccione con un 0it de l# inst ucci1n) El +o !#to .en7 ico de est#s inst ucciones es el si.uiente 8
11 19 : 8 ; 6 ( < ' 2 1 9

Los 0its 9 # < =( 0its>, deno!in#dos ?+@ "e !iten seleccion# uno de '( e.ist os de l# !e!o i# inte n#) El 0it (, deno!in#do ?d@, "e !ite es"eci+ic# el destino del esult#do) Si d = 1 el esult#do se .u# d# # en el e.ist o seleccion#do) Si d = 0 el esult#do se .u# d# # en W) Los 0its 6 # 11 identi+ic#n l# inst ucci1n es"eci+ic# # e#liA# ) Inst ucciones de o"e #ciones l1.ic#s de do0le o"e #ndo 8
ANDWF f,d ;operacin AND !ica, de"#ino = W $ f IORWF f,d ;operacin OR !ica, de"#ino =W%f &ORWF f,d ;operacin &OR !ica, de"#ino = W ' f

Los no!0 es !ne!1nicos de est#s inst ucciones " o-ienen de 8 AND W c ! F" I!c#$%&'( OR W C ! F ) *OR W c ! F+ I!%,-$cc& !(% .( /(-0c& !(% 0-&,12,&c0% ) #34&c0% %(!c&##0% .( %&1/#( /(-0!. 5
(O)F f,d ;*o+i*ien#o de da#o", de"#ino = f CO(F f,d ;co*p e*en#o !ico, de"#ino = NOT f INCF f,d ;incre*en#o ari#*,#ico, de"#ino = f - 1 DECF f,d ;decre*en#o ari#*,#ico, de"#ino = f . 1

Los !ne!1nicos de est#s inst ucciones " o-ienen de 8 BOCe File, COB"le!ent File, NC e!ent File 2 DEC e!ent File) En l#s siete inst ucciones #nte io es el 6nico 0it #+ect#do de l# "#l#0 # de est#do del " oces#do es el D, %ue se "one en 1 si el esult#do de l# o"e #ci1n es 99999999, 2 se "one en 9 si el esult#do tiene cu#l%uie ot o -#lo )

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Inst ucciones de ot#ci1n de 0its # t #-7s del CARRE 8


R/F f,d ;ro#acin a a i012ierda, de"#ino = f ROT RRF f,d ;ro#acin a a derec3a, de"#ino = f ROT

En est#s o"e #ciones 4Rot#te Le+t File 2 Rot#te Ri.*t File> los 0its son des"l#A#dos de c#d# "osici1n # l# si.uiente, en sentido de ec*o o iA%uie do) El des"l#A#!iento es ce #do, +o !#ndo un #nillo, con el 5i# C 4CARR67 de l# "#l#0 # de est#do) En est#s dos inst ucciones, el 6nico 0it #+ect#do de l# "#l#0 # de est#do del " oces#do es el 0it C, %ue to!# 3 el -#lo %ue teni# el 0it ; o el 0it 9, se.6n se# el sentido del des"l#A#!iento) Est#s inst ucciones son !u2 6tiles "# # l# !#ni"ul#ci1n de 0its, 2 #de!3s "# # e#liA# o"e #ciones # it!7tic#s, 2# %ue en nu!e #ci1n 0in# i#, des"l#A# un n6!e o # l# iA%uie d# es e%ui-#lente # !ulti"lic# lo "o 2, 2 *#ci# l# de ec*#, # di-idi lo "o 2) Inst ucci1n %ue e#liA# el inte c#!0io de "osiciones ent e los cu#t o 0its !enos si.ni+ic#ti-os 2 los cu#t o !3s si.ni+ic#ti-os =ni00le 0#jo 2 ni00le #lto>)
SWA8F f,d ;in#erca*5ia ni55 e", de"#ino = SWA8 f

Est# inst ucci1n =S5AP File> no #+ect# nin.uno de los 0its de l# "#l#0 # de est#do del " oces#do ) Est# inst ucci1n es !u2 6til "# # el !#ni"uleo de n6!e os BCD e!"#%uet#dos, en los %ue en un solo 02te se .u# d#n dos d/.itos BCD =uno en c#d# ni00le>) Inst ucciones de o"e #ciones de l# su!# 2 l# est# # it!7tic#s 8
ADDWF f,d ;"2*a ari#*,#ica, de"#ino = f - W SU9WF f,d ;re"#a ari#*,#ica, de"#ino = f . W

Est#s o"e #ciones 4ADD 5 # F 2 SFBst #ct 5 de F7 #+ect#n # los t es 0its de est#do C, DC 2 D) El 0it D se "one en 1 si el esult#do de l# o"e #ci1n es 99999999, 2 se "one en 9 si el esult#do tiene cu#l%uie ot o -#lo ) L# su!# se e#liA# en # it!7tic# 0in# i# "u # sin si.no) Si *#2 un #c# eo del 0it ;, es deci %ue el esult#do es !#2o %ue 2((, el 0it C 4carr:7 esult# 1, en c#so cont # io esult# 0) Si *#2 un #c# eo del 0it ', es deci %ue l# su!# de l#s dos !it#des 4ni55 e"> !enos si.ni+ic#ti-#s 45i#" 0 a ;7 esult# !#2o %ue 1(, se "one en 1 el 0it DC 4di!i# carr:7, en c#so cont # io se "one en 9)
Eje!"los 8

1919 9919 G 9199 1111 1111 0001 C DC < G 0 1 0

1191 9999 9119 1111 0011 1111 C DC < 1 0 0

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

L# est# se e#liA# su!#ndo, en 0in# io "u o sin si.no, el e.ist o + !3s el co!"le!ento # dos de 5 =el co!"le!ento # 1, o co!"le!ento l1.ico, !3s 1> E,emp-o. / f W 9199 9199 H 9919 1999 0001 1100 e%ui-#lente # 8
f

9919 1999 C DC < 1 0 0 H 9199 9199 1110 0100 C DC < 0 1 0

9199 9199 C DC < 1 0 0 0001 1100

9919 1999 G 1911 1199 1110 0100 C DC < 0 1 0

c*p=> W G 1191 1999

Los 0its de est#do C 2 DC to!#n el -#lo no !#l co es"ondiente # l# su!# de + con el co!"le!ento # 2 de 5) De est# !#ne # el si.ni+ic#do "# # l# o"e #ci1n de est# esult# in-e tido, es deci %ue C =c# 2> es 1 si no *u0o des0o de en l# est#, o dic*o de ot # !#ne #, si el contenido de 5 es !eno %ue el de +) El 0it DC se co!"o t# de !#ne # si!il# , es deci %ue DC es 1 si no *u0o des0o de en l# !it#d !enos si.ni+ic#ti-#, lo %ue e%ui-#le # deci %ue el ni00le 0#jo del contenido de 5 es !eno %ue el del e.ist o+) Inst ucciones de si!"le o"e #ndo 2 el destino es sie!" e el e.ist o seleccion#do 8
C/RF f ;5orrado de con#enido, f = 0

(O)WF f ;copia con#enido W a f, f = W

L# inst ucci1n CLRF =CLe#R File> #+ect# solo #l 0it D %ue esult# sie!" e 9) L# inst ucci1n BOC5F =BOCe 5 # F> no #+ect# nin.6n 0it de l# "#l#0 # de est#do)

In"#r2ccione" de 9:#e 12e operan "o5re W : /i#era e"

Est#s inst ucciones se e+ie en tod#s #l e.ist o W, es deci %ue uno de los o"e #ndos de o i.en 2 el o"e #ndo de destino son sie!" e el e.ist o W) En l#s inst ucciones de este . u"o %ue tienen un se.undo o"e #ndo de o i.en, este es sie!" e un# const#nte de " o. #!# lite #l!ente incluid# en l# inst ucci1n, ll#!#d# const#nte lite #l o si!"le!ente lite #l) El +o !#to .en7 ico de est#s inst ucciones es el si.uiente 8
11 19 : 8 ; 6 ( < ' 2 1 9

Los 0its 9 # ; es"eci+ic#n l# const#nte lite #l de 8 0its %ue se utiliA# # en l# o"e #ci1n)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

L#s t es inst ucciones %ue si.uen son l#s o"e #ciones l1.ic#s t #dicion#les, si!il# es # l#s %ue 2# -i!os #nte io !ente, "e o e#liA#d#s ent e un# const#nte de " o. #!# 2 el e.ist o 58
IOR/W ? ; operacin OR !ica, W = W % ? AND/W ? ; operacin AND !ica, W = W $ ? &OR/W ? ; operacin &OR !ica, W = W ' ?

En est#s t es inst ucciones =Inclusi-e OR Lite #l 5, AND Lite #l 5 2 $OR Lite #l 5> el 6nico 0it #+ect#do de l# "#l#0 # de est#do del " oces#do es el D, %ue se "one en 1 si el esult#do de l# o"e #ci1n es 99999999, 2 se "one en 0 si el esult#do tiene cu#l%uie ot o -#lo ) Inst ucci1n %ue c# .# un# const#nte de " o. #!# en el e.ist o 5 8
(O)/W ? ;car!a con"#an#e en W, W = @

Est# =BOCe Lite #l 5> inst ucci1n no #+ect# nin.uno de los 0its de est#do del " oces#do ) L# inst ucci1n %ue si.ue 4C/eaR W7 no co es"onde /# inclui l# en este . u"o, 2 "e tenece en e#lid#d #l " i!e o, el de l#s inst ucciones %ue o"e #n so0 e e.ist os, 2# %ue se t #t# de un c#so es"eci#l de l# inst ucci1n CLRF, con destino 5, 2 + I 9) L# inclui!os #%u/ "o %ue co!o se le *# #si.n#do un !ne!1nico "# ticul# e+e ido es"ec/+ic#!ente #l e.ist o 5, c ee!os %ue, desde el "unto de -ist# del " o. #!#do , es !3s 6til -e l# dent o del . u"o de inst ucciones e+e id#s # 5)
C/RW ;5orra e con#enido de W, W = 0

Al i.u#l %ue en l# inst ucci1n CLRF, el 6nico 0it de est#do #+ect#do es el D %ue esult#1 . In"#r2ccione" de 9i# El +o !#to .en7 ico de est#s inst ucciones es el si.uiente 8
11 19 : 8 ; 6 ( < ' 2 1 9

L % 6&,% 0 0 4 7& bi0.8" .(! 1&!0. % 9 :" /(-1&,(! %(#(cc& !0- $! .( #& re1i.0ro. .( #0 1(1 -&0 &!,(-!0+ L % 6&,% 5 0 7" .(! 1&!0. % 9b:" /(-1&,(! (%/(c&;&c0- (# !$1(- .( 6&, 70 0 78 % 6-( (# <$( %( /(-0-0+ E%,0% &!%,-$cc& !(% /(-0! % #01(!,( % 6-( (# 6&, (%/(c&;&c0. " (# -(%, .( # % 6&,% .(# -(4&%,! % ! 0#,(-0. %+ E%,0% &!%,-$cc& !(% ! ,&(!(! (%/(c&;&c0c&3! .( .(%,&! " )0 <$( (# 1&%1 (% %&(1/-( (# -(4&%,%(#(cc& !0. +
9CF f,5 ; 5orra e 5i# 5 de f ;5i# f457 = 0 9SF f,5 ; co oca en 2no e 5i# 5 de f ;5i# f457 = 1

Est#s inst ucciones =9i# C ear Fi e : 9i# Se# Fi e> no #+ect#n nin.6n 0it de l# "#l#0 # de est#do del " oces#do +

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

H In"#r2ccione" de Con#ro =OTO 2 3.4-0o 4 -4 po.i5i6n 2 78 bi0.9 :e- pro1r4m4 Est# es l# t/"ic# inst ucci1n de s#lto incondicion#l # cu#l%uie "osici1n de l# !e!o i# de " o. #!# ) L# const#nte i#era ? es l# di ecci1n de destino del "a #o, es deci l# nue-# di ecci1n de !e!o i# de " o. #!# # "# ti de l# cu#l co!enA# 3n # lee se l#s inst ucciones des"u7s de ejecut# l# inst ucci1n GOTO) Est# inst ucci1n si!"le!ente c# .# l# const#nte J en el e.ist o PC =cont#do de " o. #!#>) L# 6nic# co!"lic#ci1n de est# inst ucci1n es %ue l# const#nte J es de solo : 0its, !ient #s %ue el e.ist o 8C es de 11 0its, 2# %ue en el 1AFA>B de0e "e !iti di eccion# un# !e!o i# de " o. #!# de 2 K) Los dos 0its +#lt#ntes, 0it : 2 19 del PC, son to!#dos es"ecti-#!ente de los 0its de selecci1n de "3.in# PA9 2 PA1 de l# "#l#0 # de est#do) Este co!"o t#!iento "# ticul# *#ce %ue l# !e!o i# de " o. #!# #"# eAc# co!o di-idid# en "#.in#s de (12 "osiciones co!o se -e # !3s #del#nte) El " o. #!#do de0e tene en cuent# %ue #ntes de ejecut# un# inst ucci1n GOTO es "osi0le %ue *#2# %ue " o. #!# los 0its PA9 2 PA1) CA// ? ;s#lto # l# su0 utin# en l# "osici1n J =8 0its> Su co!"o t#!iento es !u2 si!il# #l de l# inst ucci1n GOTO, s#l-o %ue #de!3s de s#lt# .u# d# en el st#cJ l# di ecci1n de eto no de l# su0 utin# 4para a in"#r2ccin RET/W7) Esto lo *#ce si!"le!ente .u# d#ndo en el st#cJ un# co"i# del PC inc e!ent#do, #ntes de %ue el !is!o se# c# .#do con l# nue-# di ecci1n J) L# 6nic# di+e enci# con l# inst ucci1n GOTO es"ecto de l# +o !# en l# %ue se e#liA# el s#lto, es %ue en l# inst ucci1n CALL l# const#nte J tiene solo 8 0its en -eA de :) En este c#so t#!0i7n se utiliA#n PA9 2 PA1 "# # c# .# los 0its : 2 19 del PC, "e o #de!3s el 0it 8 del PC es c# .#do sie!" e con 9) Esto *#ce %ue los s#ltos # su0 utin# solo "ued#n e#liA# se # "osiciones %ue est7n en l#s " i!e #s !it#des de l#s "#.in#s !encion#d#s) El " o. #!#do de0e tene en cuent# este co!"o t#!iento 2 #se.u # se de u0ic# l#s "osiciones de inicio de l#s su0 utin#s en l#s " i!e #s !it#des de l#s "#.in#s) L# inst ucci1n %ue #"# ece # continu#ci1n es l# de eto no de su0 utin#8 RET/W ? ; eto no de su0 utin# con const#nte J, 5 I J E%,0 7RETurn 5on Li0er4- in ;8 &!%,-$cc&3! /- .$c( (# -(, -! .( %$6-$,&!0 c ! $!0 c !%,0!,( #&,(-0# > (! (# -(4&%,- W+ L0 /(-0c&3! <$( -(0#&?0 c !%&%,( %&1/#(1(!,( (! %0c0- .(# %,0c> $! '0# - ) c0-40-# (! (# PC+

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Ese -#lo es el 8C incre*en#ado #ntes de e#liA# el s#lto, de l# ulti!# inst ucci1n CALL ejecut#d#, "o lo t#nto es l# di ecci1n de l# inst ucci1n si.uiente # dic*o CALL) D#do %ue el st#cJ es de 11 0its, el -#lo c# .#do en el PC es un# di ecci1n co!"let#, 2 "o lo t#nto se "uede eto n# # cu#l%uie "osici1n de l# !e!o i# de " o. #!#, sin i!"o t# co!o est7n los 0its de selecci1n de "#.in#) Est# inst ucci1n #de!3s c# .# sie!" e un# const#nte lite #l en el e.ist o 5) E# %ue est# es l# 6nic# inst ucci1n de eto no de su0 utin# de los 8IC1AF&&&, no *#2 en estos !ic o" oces#do es +o !# de eto n# de un# su0 utin# sin #lte # el e.ist o 5) Po ot o l#do, 2 con un# !etodolo./# es"eci#l de " o. #!#ci1n, un conjunto de sucesi-#s inst ucciones RET/W "uede se us#do co!o un# t#0l# de -#lo es const#ntes incluid# en el " o. #!# =Ej) 8 t#0l#s BCDL; se.)>) In"#r2ccione" de C"a #oD 4"?ip7 condiciona = Est#s inst ucciones son los 6nicos !edios "# # i!"le!ent# 0i+u c#ciones condicion#les en un " o. #!#) Son !u2 .ene #les 2 !u2 "ode os#s 2# %ue "e !iten #l " o. #!# to!# decisiones en +unci1n de cu#l%uie 0it de cu#l%uie "osici1n de l# !e!o i# inte n# de d#tos, 2 eso inclu2e # los e.ist os de "e i+7 icos, los "ue tos de ent #d#Ls#lid# e incluso l# "#l#0 # de est#do del " oces#do ) Est#s dos inst ucciones ree*p a0an 2 su"e #n # todo el conjunto de inst ucciones de s#lto condicion#l %ue "oseen los !ic o" oces#do es sencillos con-encion#les =s#lto "o ce o, "o no ce o, "o c# 2, etc)>)
9TFSC f,5 ;"a #a "i 5i# = 0 9TFSS f,5 ;"a #a "i 5i# = 1

9TFSC =Bit Test File #nd SJi" i+ Cle# > s#lte# l# " 14i!# inst ucci1n si el 0it 0 del e.ist o + es ce o) 9TFSS =Bit Test File #nd SJi" i+ Set> s#lte# si el 0it es 1) Est#s inst ucciones "ueden us# se "# # e#liA# o no un# #cci1n se.6n se# el est#do de un 0it, o, en co!0in#ci1n con GOTO, "# # e#liA# un# 0i+u c#ci1n condicion#l) EEe*p o 1 F EEe*p o >F

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

L#s inst ucciones %ue si.uen son c#sos es"eci#les de l#s de inc e!ento 2 dec e!ento Est#s inst ucciones "od /#n c#te.o iA# se dent o del . u"o de inst ucciones o ient#d#s # 02te so0 e e.ist os =" i!e . u"o>, 2# %ue e+ecti-#!ente o"e #n so0 e los !is!os, 2 el +o !#to del c1di.o de l# inst ucci1n es"onde #l de ese . u"o, "e o, # di+e enci# de l#s ot #s, "ueden #de!3s #lte # el +lujo line#l del " o. #!# 2 "o eso se les inclu21 en este . u"o)
DECFS< f,d ;decre*en#a : "a #a "G 0, de"#ino= f . 1 INCFS< f,d ;incre*en#a : "a #a "G 0, de"#ino= f - 1

Est#s dos inst ucciones =DEC e!ent File #nd SJi" i+ De o, e INC e!ent File #nd SJi" i+ De o> se co!"o t#n de !#ne # si!il# # DECF e INCF, s#l-o %ue no #+ect#n # nin.6n 0it de l# "#l#0 # de est#do) Fn# -eA e#liA#do el inc e!ento o dec e!ento, si el esult#do es 99999999, el !ic o" oces#do s#lt# l# " 14i!# inst ucci1n del " o. #!#) Est#s inst ucciones se utiliA#n .ene #l!ente en co!0in#ci1n con un# inst ucci1n de s#lto 4HOTO>, "# # el dise&o de ciclos o l#Aos =loo"s> de inst ucciones %ue de0en e"eti se un# c#ntid#d dete !in#d# de -eces)

In"#r2ccione" E"pecia e"

Inst ucciones %ue cont ol#n +unciones es"ec/+ic#s del !ic o" oces#do o %ue #ct6#n so0 e e.ist os es"eci#les no di eccion#dos co!o !e!o i# inte n# no !#l) L# inst ucci1n %ue si.ue es l# t/"ic# NO OPERATION)
NO8 ;no 3ace nada, con"2*e #ie*po

Est# inst ucci1n solo si -e "# # int oduci un# de!o # en el " o. #!#, e%ui-#lente #l tie!"o de ejecuci1n de un# inst ucci1n) No #+ect# nin.6n 0it de l# "#l#0 # de est#do) L# inst ucci1n %ue si.ue 0o # el cont#do del M#tc* do. ti!e ) Este e.ist o t#!"oco est# #ccesi0le co!o !e!o i#, 2 est# es l# 6nic# inst ucci1n %ue lo !odi+ic#) C/RWDT ;5orra e Ia#c3 do! #i*er, WDT = 0 Est# inst ucci1n, #de!3s, coloc# en uno los 0its PD ="oMe doMn> 2 TO =ti!eHout> de l# "#l#0 # de est#do) L# si.uiente es un# inst ucci1n es"eci#l de cont ol del !ic ocont ol#do %ue lo "one en el !odo "oMe doMn) En este !odo el !ic o" oces#do se detiene, el oscil#do se #"#.#, los e.ist os 2 "ue tos conse -#n su est#do, 2 el consu!o se educe #l !/ni!o) L# 6nic# +o !# de s#li de este est#do es "o !edio de un eset o "o ti!eHout del M#tc* do. ti!e )
S/EE8 ;co oca e JC en *odo " eep, WDT = 0

Est# inst ucci1n, #de!3s, 0o # el 0it PD ="oMe doMn> 2 sete# el 0it TO =ti!eHout> de l# "#l#0 # de est#do+

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

INSTR(CCIONES DEL PIC 16F***

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

10

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 1 ENCENDER (N LED A TRA"ES DEL P(ERTOB DEL PIC


Puer0o. :e En0r4:4 < S4-i:4
L# " inci"#l utilid#d de l#s "#tit#s %ue contiene un !ic ocont ol#do es so"o t# l#s l/ne#s de ELS %ue co!unic#n #l co!"ut#do inte no con los "e i+7 icos e4te io es) Se.6n los cont ol#do es de "e i+7 icos de los !ic ocont ol#do es, l#s l/ne#s de ELS se destin#n # " o"o cion# el so"o te # l#s se&#les de ent #d#, s#lid# 2 cont ol)

Re-o, prin5ip4El oscil#do .ene # un# ond# cu#d #d# de #lt# + ecuenci#, %ue con+i.u # los i!"ulsos de eloj us#dos en l# sinc oniA#ci1n de l#s o"e #ciones del siste!#) Gene #l!ente, el ci cuito de eloj est3 inco "o #do en el !ic ocont ol#do 2 s1lo se necesit#n unos "ocos co!"onentes e4te io es "# # seleccion# 2 est#0iliA# l# + ecuenci# de t #0#jo) Dic*os co!"onentes suelen consisti en un c ist#l de cu# Ao junto # ele!entos "#si-os o 0ien un eson#do ce 3!ico o un# ed RHC) Au!ent# l# + ecuenci# de eloj su"one dis!inui el tie!"o en %ue se ejecut#n l#s inst ucciones "e o lle-# #"# ej#do un inc e!ento del consu!o de ene ./# P# # l#s "e son#s %ue no est3n de todo +#!ili# iA#dos con el te!# es 0ueno eco d# %ue es el led) LED se.6n sus si.l#s en in.les =Li.*t E!ittin. Diode> se t #duce co!o diodo e!iso de luA, %ue es un dis"ositi-o se!iconducto =-e# el di0ujo de #0#jo> de dos te !in#les no!in#dos co!o c3todo =te !in#l ne.#ti-#> 2 3nodo =te !in#l "ositi-#>) Si "ol# iA#!os nuest o led di ect#!ente este -# # " oduci un *#A de luA 2 con l# "ol# iA#ci1n in-e s# -# # "e !#nece #"#.#do) A -eces el +uncion#!iento de los diodos es co!"# #do con los sMitc*es %ue se " enden 2 se #"#.#n)

@! . A

@! . --

-u=
CB, . A CB, . Polarizacin inversa

Polarizacin directa

Fn# -eA +#!ili# iA#dos con el *# dM# e "ode!os " ose.ui con el so+tM# e) Antes de "one se # esc i0i el " o. #!# es #consej#0le #n#liA# " i!e o los e.ist os %ue se -#n # e!"le# en el dic*o " o. #!#)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

11

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Re!i"#ro STATUS

Nosot os es"et# e!os l# no!encl#tu # in.les#, "e o esc i0i e!os l#s -# i#0les %ue nos inte es#n) El !oti-o es !u2 si!"le8 en ese PIC16F628 no se *# conside #do el " o0le!# de los 0#ncos de !e!o i#, %ue se de0en inte c#!0i# # t #-7s del e.ist o de est#do) De este !odo "# # nosot os PORTB e" esent# 3 #l "ue to B, TRISB se 3 el !is!o 2 5 se 3 el e.ist o de t #0#jo) El " o. #!#, "o lo de!3s, es 0#st#nte e-idente) Necesit#!os s1lo int oduci el sentido de los TRIS) Este e.ist o est3 #soci#do # los distintos "ue tos 2 en 7l c#d# 0it e" esent# un "in del "ue to #l %ue se e+ie #) Fn 9 en uno de sus 0its e" esent# 3 %ue el "in es de s#lid#, 2 un 1 %ue es de ent #d#) De este !odo c#d# "in se 3 inde"endiente, d3ndonos !#2o +le4i0ilid#d "# # l# i!"le!ent#ci1n +/sic# de los dise&os) Es "osi0le incluso, #un%ue no *#0itu#l, c#!0i# l# di ecci1n del "in du #nte l# ejecuci1n del " o. #!#) Est# o"ci1n "uede lle.# # d# nos l# "osi0ilid#d de !#nej# -# ios dis"ositi-os con un solo "ue to)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

12

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

SET DE INSTR(CCIONES (TILI>ADAS EN LA PRO+RAMACION 1= 9CF f, 5 F C ! (%,0 &!%,-$cc&3! %( / !( (! ! (# 6&, b .(# -(4&%,EC(1/# 5 S& %( ,&(!( (! (# /$(-, A 7 PORTA 8 D 1010 ) %( <$&(-( c # c0- (! c(- (# ,(-c(- 6&," #0 &!%,-$cc&3! (% #0 %&4$&(!,(5 BCF PORTA ? #+ >= 9SF f, 5 F C ! (%,0 &!%,-$cc&3! %( / !( (! 1 (# 6&, b .(# -(4&%,EC(1/# 5 S& %( ,&(!( (! (# /$(-, A 7 PORTA 8 D 1010 ) %( <$&(-( c # c0- (! ENO (# ,(-c(- 6&," #0 &!%,-$cc&3! (% #0 %&4$&(!,(5 BSF PORTA ? #+ ;= HOTO @ / -(0#&?0 $! %0#, &!c !.&c& !0# 0 #0 .&-(cc&3! ##010.0 2 .(# /- 4-010 EC(1/# 5 +OTO CONFI+ <$&(-( .(c&- %0#,( 0 #0 /0-,( .( c !;&4$-0c&3! .(# /- 4-010+ K)C/RF F F F --0 (# c !,(!&. .(# -(4&%,- " c$) '0# - <$(.0-G0 (! !!!!!!!!

DESCRIPCI@N DE N(ESTRA PRACTICA ENCENDER (N LED


Co!o inicio #ntes de e!"eA# el " o. #!# en si, se de0e 3 con+i.u # el PIC, de +o !# %ue +unciones # nuest #s necesid#des, esto %uie e deci %ue de0e!os deci le co!o -#!os # us# sus "ue tos, si -#n # se de ent #d# o de s#lid#, en nuest o c#so solo e%ue i!os de un solo "ue to 4p2er#o 5L>, 2 conect#do # 7l, el es"ecti-o led # encende con su esistenci# "# # e-it# un +lujo de co iente !u2 . #nde, t#l %ue "ued# d#&# nuest o "ic) Des"u7s de l# con+i.u #ci1n inici#l, 2 *#0e "#s#do "o los es"ecti-os 0#ncos co!o se ilust # 3 en el " o. #!#, #se.u # e!os de %ue el "ue to0 este en ce os 2 "# # ello 0o # e!os el contenido con l# inst ucci1n de 5orra re!i"#ro 4C/RF7, en este c#so di i.ido #l e.ist o 8ORT9, %ue es el "ue to 0 %ue -#!os # !#ni"ul# ) Lue.o sencill#!ente d# e!os l# o den de encender e ed, 2 esto se lo. # con en-i# un uno o "ositi-o "o el p2er#o5,L, 2 con ello se encende 3 el led) S( (H/#&c0 (! c$0.- # % -(4&%,- % TRISF"PORTF Y (# 6&, RP0 .(# -(4&%,- STATES

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

13

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIAHRA(A ESMUE(ATICO DE/ CIRCUITO


)

DIA+RAMA DE FL(AO DEL PRO+RAMA DE ENCENDER EL LED INICIO


FANCO1

TRIS"7 DI 0

FANCO!

F --0- /$(-, B

P -,6"7DI 1

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

14

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

8ROHRA(A 8ARA ENCENDER UN /ED CON E/ 8IC 1AFA>B


LIST PI16F628 INCLFDE NP16F628)INCO ORG GOTO ORG 9SF BCF 9CF CLRF BSF GOTO END 99 INI 9( STATUS,R80 TRISB,; STATUS,R80 PORTB PORTB,; R

INI

PIREBOS AL BANCO1 PEL PFERTO RB; ESTARA COBO SALIDA PDECFELTA AL BANCO9 PPARA BORRAR EL PFERTO E QFEDE EN CEROS PENCIA FN 1=(C> A RB; PARA ENCENDER LED PEL CONTADOR DEL PROGRABA SE QFEDARS AQFI

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

15

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 2 E- ENCENDIDO DE (N LED EN FORMA INTERMITENTE


Aco d7!onos %ue el o0jeti-o est# -eA no es sol#!ente " ende el led sino t#!0i7n #"#.# lo 2 -ol-e # " ende en un# +o !# "e i1dic# o c/clic# L# " e.unt# es8 TC1!o se lo. # l# se!ej#nte o"e #ci1nU L# es"uest# # es# " e.unt# es SU9RUTINA) L# " e.unt# de in!edi#t# %ue su .e es8 N: 12e e" 2na "25r2#inaO Fn# su0 utin# es un# "# te del " o. #!# " inci"#l %ue se dedic# # un# t# e# es"eci+ic#)

E,emp-o. :e .ubru0in4./
$!0 %$6-$,&!0 <$( /(-&3.&c01(!,( 1( 6%(-'0 (# (%,0. #34&c .( $! /$(-, $!0 %$6-$,&!0 <$( %( (!c0-4$( .( -(0#&?0- cB#c$# % .( .(,(-1&!0.0% '0-&06#(%

en +in es l# li0e t#d del " o. #!#do de #si.n# un# dete !in#d# t# e# # l# su0 utin#) El uso de su0 utin#s, siendo sencillo 2 no e%ui iendo un #"# t#do es"ec/+ico, es esenci#l, "uesto %ue si!"li+ic# los " o. #!#s, *#ci7ndolos, #de!3s, !3s !odul# es) Ll#!# e!os # un# su0 utin# con l# inst ucci1n CA//, se.uid# de l# eti%uet# %ue l# enc#0eA# o su di ecci1n en !e!o i#) P# # e. es# # l# si.uiente inst ucci1n t #s el CALL 0#st# 3 con situ# , en l# 6lti!# l/ne# de l# su0 utin#, el co!#ndo RETURNP t#!0i7n se 3 "osi0le e!"le# RET/W ?, el cu3l se di+e enci# del #nte io "o situ# en el e.ist o 5 el -#lo J) En el c#so de nuest # " #ctic# -#!os # des# oll# un# su0 utin# %ue se conoce con el no!0 e de et# do) El et# do o su0 utin# se enc# .# de %ue el " o. #!# " inci"#l en un dete !in#do !o!ento se %ued# "# #d# "o un tie!"o %ue nosot os %ue e!os %ue se deten.#) P# # se !#s conc eto, #l " ende el led necesit#!os %ue se %uede " endido "o un tie!"o, des"u7s tene!os %ue #"#.# lo 2 !#ntene lo #"#.#do "o ot o #to 2 -ol-e # *#ce todo el " ocedi!iento de nue-o) A*o #, co!o se # !# un# su0 utin# en el len.u#je de " o. #!#ci1n %ue nosot os est#!os us#ndo o se# (8/A9O L# +o !# !#s cl3sic# de # !# un# su0 utin# es us#ndo l#s inst ucciones CA// : RETURN) Donde l# inst ucci1n CA// es us#do "o el " o. #!# " inci"#l "# # ll#!# l# su0 utin# , donde es# # su -eA e#liA# su t# e# #si.n#d# = en n2e"#ro ca"o e" 2n re#ardo en e #ie*po> 2 eto n# #l " o. #!# " inci"#l de donde l# ll#!# on us#ndo l# inst ucci1n RETURN) E# s#0iendo co!o se # !# un# su0 utin# necesit#!os s#0e co!o se *#ce el dic*o et# do del tie!"o %ue es l# t# e# de l# su0 utin#, "# # eso o0se -#!os l# si.uiente su0 utin#8

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

16

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

RETARDO OTRACED

BOCL5 BOC5F DECFSD GOTO RETFRN

)2(( PSe c# .# un e.ist o CONTADOR CONTADOR Pcon un -#lo !34i!o deci!#l de 2(( CONTADOR PSe dec e!ent# el dic*o e.ist o en uno OTRACED PSi CONTADOR no es ce o se dec e!ent# Pot # -eA PAl lle.# # ce o l# su0 utin# RETARDO P eto n# #l " o. #!# " inci"#l

E%0!. $! .&04-010 .( ;#$C % #0 -$,&!0 0!,(-& - %( /$(.( -(/-(%(!,0- .( #0 %&4$&(!,( ; -10+ CONTADOR V255

CONTADOR - 1

JCONTADO R

D0K NO SI RETORNAR Del eje!"lo #nte io lo %ue -e!os es %ue l# su0 utin# RETARDO se to!# >PP -eces *#ciendo l# !is!# inst ucci1n DECFSD #ntes de eto n# #l " o. #!# " inci"#l) S/ nos #co d#!os %ue est#!os t #0#j#ndo con un cri"#a de K (Q0, donde es# + ecuenci# es di-idid# inte n#!ente "o el C "o cu#t o, K(Q0RK = 1(Q0, eso %uie e deci %ue el !ic o se de*ora 1 *icro"e!2ndo "# # e#liA# un# inst ucci1n T = 1Rf = 1R1(Q0 = 1 "e!= Po lo t#nto l# su0 utin# RETARDO lo %ue *#ce es *#ce un et# do #" o4i!#d#!ente de 2(( !ic ose.undos) Des#+o tun#d#!ente en l# -id# e#l un et# do de 2(( !ic ose.undos es de!#si#do 3"ido "# # el ojo *u!#no 2 no es "e ci0ido) P# # solucion# este " o0le!# se ecu e # un# t7cnic# ll#!#d# anida*ien#o, lo %ue *#ce es en si es !#ni"ul# -# i#s -# i#0les, 2 dec e!ent# l#s de +o !# %ue cu#ndo te !ine un# contin6e con l# ot #, !ejo %ue cu#ndo un# -# i#0le te !ine, dec e!ente l# ot # en un# unid#d, 2 -uel-# 2 se c# .ue de nue-o con un -#lo , lo %ue %uie e deci %ue sus c#ntid#des se !ulti"lic# /#n)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

17

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Ce#!os un eje!"lo8

-(,0-.
-(41D100 -(42D30 -(43D30 -(43 - 1D-(43

-(43D 0 -(42 - 1D-(42 -(42D 0 -(41 - 1D-(41 -(41D 0

-(, -!(
Cu#ndo e.' se -# dec e!ent#ndo, ,lo si.ue *#ciendo *#st# %ue su -#lo est#0lecido lle.ue # ce o, 2 cu#ndo esto "#s#, dec e!ent# # l# si.uiente -# i#0le = e.2>, un# unid#d, 2 de nue-o se c# .# e.' con el -#lo est#0lecido, lo %ue %ui e deci %ue este #nid#!iento consu!i # #" o4i!#d#!ente S0=000 cic o" de inst ucion #" o4i!#d#!ente, o %uiA#s !uc*o !#s si es i!"le!ent#do en un "ic, "ues l#s inst ucciones #"lic#d#s "# # estos dec e!entos se.6n el c#so en un "ic, suelen consu!i 2 ciclos de inst uccion, "o lo %ue %uie e deci %ue si tene!os en cuent# estos eto nos 4e +o +er a 2n p2n#o de anida*ien#o7, "od i#n consu!i con estos -#lo es no :9)999 sino *#st# c#si 2;9)999 ciclos de inst uccion #" o4i!#d#!ente, #un%ue los #nid#!ientos se "ueden *#ce de !uc*#s +o !#s se.6n el " o. #!#do , "o lo %ue no e4iste un solo !etodo, sino !uc*os 2 c#d# cu#l se #co!od# # -# i#s

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

18

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

necesid#des, "e o en nuest # " #ctic# se i!"le!ent# 3 un# de l#s !#s sencill#s +o !#s, e incluso de l#s !#s us#d#s) El #nid#!iento tiene co!o +uncion !#s co!un l# de c e# et# dos en el " o. #!#, esto es "o %ue #l.un#s #cti-id#des %ue *#ce el "ic son !u2 #"id#s, 2 "# # %ue los *u!#nos l#s "od#!os "e ci0i , de0e!os dil#t# el tie!"o "# # "e ci0i lo %ue "#s#) P ecis#!ente , el "e ci0i o etene tie!"o,se 3 l# #"lic#ci1n en nuest # " #ctic#, "ues el o0jeti-o es el de encende 2 #"#.# el led, 2 ent e el encendido 2 #"#.#do, de0e!os dej# %ue du e un tie!"o encendido 2 un tie!"o #"#.#do) SET DE INSTR(CCIONES N(E"AS (TILI>ADAS EN LA PRO+RAMACION DECFS< f,d/ .(c-(1(!,0 (# -(4&%,(! $! ) %0#,0 %& (# -(%$#,0. '0# - # 0#10c(!0 (! (# -(4&%,- L (! (# -(4&%,- B (% c(- " (#

Eje!"lo8 Se c# .# l# +aria5 e nu!e o con P 2 se dese# decre*en#ar l# -# i#0le nu!e o en 1 *#st# %ue el re"2 #ado se# cero , si es #s/ s#lte # l# di ecci1n +in , si no continu7 dec e!ent#ndo *#st# %ue se# ce o BOCL5 BOC5F DECFSD GOTO GOTO DW9( NFBERO NFBERO,1 SIGFE FIN

SIGFE

DESCRIPCION DEL CIRC(ITO


Co!o se *#0/# dic*o #nte io !ente, el o0jeti-o e # el de encende un led de +o !# inte !itente, "# # %ue se o0se -# # este e+ecto, de de0e ecu i # los et# dos "o #nid#!iento) Inici#!os " i!e o con+i.u #ndo el "ic, en el c#so "# # %ue el "in RB; nos +uncione co!o s#lid#) Des"u7s "# # #se.u # de %ue e!"iece #"#.#do, 0o # e!os el "ue to con l# inst ucci1n CLRF PORTB, lue.o si d#!os l# o den %ue se enciend# el led, 2 "# # %ue "od#!os -e si se enciende 2 se #"#.#, d# e!os un et# do de encendido, %ue du # # !#s o !enos un se.undo, si se us# un c ist#l de <BXA, lue.o de %ue te !ine el et# do, #"#.# e!os el led, 2 de nue-o ll#!# e!os el et# do, 2 se e"eti 3 este ciclo inde+inid#!ente, "o lo %ue no tiene +in#l, # !enos %ue %uite!os l# #li!ent#ci1n)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

19

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO PARA EL LED INTERMITENTE


INICIO

CONFI=ERACIMN DEL PEERTO

LINPIAR PORTF

ENCENDER LED LLANAR RETARDO

APA=AR EL LED

LLANAR RETARDO

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

20

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

8ROHRA(A 8ARA E/ /ED INTER(ITENTE CON E/ 8IC 1AFA>B


LIST P=16F628 INCLUDE <P16F628.INC> CONT1 EQF 29 PREGISTROS PARA EL ANIDABIENTO CONT2 EQF 21 CONT' EQF 22 ORG 99 GOTO INICIO ORG 9( INICIO 9SF STATUS,R80 ;SELECCIONA BANCO1 BCF TRISB,; ;PUERTO RB7 COMO SALIDA 9CF STATUS,R80 ;AL BANCO0 CLRF PORTB ;BORRAR EL PUERTOB START BSF PORTB,; ;LED ENCENDIDO CALL RETARDO ;TIEMPO PARA QUE EL LED DURE ENCENDIDO BCF PORTB,; ;APAGAR EL LED CALL RETARDO ;TIEMPO QUE DURA APAGADO GOTO START ;VUELVE A START PARA QUE REPITA EL CICLO ;*********************************** RETARDO BOCL5 )6 BOC5F CONT' BOCL5 )2(9 BOC5F CONT2 BOCL5 )2(9 BOC5F CONT1 DECFSD GOTO BOCL5 BOC5F DECFSD GOTO BOCL5 BOC5F DECFSD GOTO RETFRN END CONT1,F RH1 )2(9 CONT1 CONT2,F RH( )2(9 CONT2 CONT',F RH: ;DECREMENTE LA VARIABLE CONT1 1 SALTA ;CUANDO LLEGA A 0 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ;ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR EL ;ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA ;CUANDO LLEGA A CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE ;%& LLAM'

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

21

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA # E- ENCENDIDO DE (N LED CON (N P(LSADOR


A*o #, el encendido 2 #"#.#do de un led, 2# no -# # se cont ol#do inde"endiente!ente "o el !ic ocont ol#do , sino %ue #*o # es# o den de encendido o #"#.#do se le #si.n# # # un inte u"to no !#l!ente #0ie to %ue se conect# #l "ue to B, !#s e4#ct#!ente en el "in RB9 %ue se -# # co!"o t# co!o un "ue to de ent #d# 2 en el "in RB; del "ue to B se -# # conect# el led) L# ide# de este ci cuito es el !#nejo del est#do del led # t #-7s de el inte u"to ) Al o" i!i el inte u"to el led tiene %ue #"#.# se s/ est#0# " endido 1 " ende se s/ est#0# #"#.#do) P# # %ue se cu!"l# este e%uisito es 0ueno #ntes %ue todo #n#liA# de c1!o -#!os # s#0e cu#ndo el inte u"to 1 "uls#do est# o" i!ido 1 suelto) S/ #n#liA#!os con !#s det#lle el ci cuito del "uls#do nos -#!os # d# cunet# de %ue cu#ndo el "uls#do est# #0ie to -#!os # tene un -olt#je de ( -oltios el "in RB9 =un 1 l1.ico> 2 cundo el "uls#do est# ce #do " o"o cion# un -olt#je de 9 -oltios =un 9 l1.ico> en el !is!o "in) Entonces s/ nos enc# .#!os de !onito e# el "in RB9 "ode!os e#liA# el o0jeti-o de est# " #ctic#) P# # e+ectu# el dic*o !onito eo -#!os # us# l# inst ucci1n BTFSC %ue se -# enc# .# de in+o !# nos cu#ndo el "in RB9 est# con ce o -oltios o se# el "uls#do o" i!ido) Al s#0e eso lo %ue -#!os # *#ce es co!"let# di.it#l!ente 1 en 0in# io el est#do l1.ico del "ue to RB;) 1 B BTFSC / S& (# 6&, 6 .(# -(4&%,- ; (% 0" %( %0#,0 $!0 &!%,-$cc&3! ) %( c !,&!O0 c ! #0 (C(c$c&3!+ E! c0% .( %0#, " c$/0-B . % c&c# % .( -(# C+ E,emp-o/ REVISAR FTFSC =OTO FTFSC =OTO =OTO PORTF"3 REVISAR PORTF"7 LEDOFF LEDON

El # e.lo del "in RB9 5V

RF0

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

22

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

EL RETARDO DE ANTIREBOTE Cu#ndo un "uls#do co!o el del eje!"lo, no se encuent # "uls#do=1>, no !#l!ente tend 3 un ni-el l1.ico est#0le =en el c#so se 3 de (C>, "e o i!#.in#ndo %ue "udi7 #!os "e ci0i el tie!"o en !ilise.undos, #"en#s "uls#!os este suic*e=2>, no -# # .ene # un 9C est#0le, !#s 0ien un# es"ecie de ond#, l# cu#l no "osee un ni-el l1.ico est#0le, "o lo %ue si no "usi7 #!os este et# do) El PIC inte " et# /# est# ond# co!o -# i#s "uls#ciones continu#s, situ#ci1n %ue en nuest # e#lid#d es +#ls#, "ues solo "uls#!os el suic*e un# -eA, "o ello el PIC solo lee 3 el " i!e est#do 0#jo %ue sens# =2A> Al c#0o de #l.unos !ilise.undos =#0# c# un #n.o de 19!S *#st# '99!S>) Este e0ote se est#0iliA# 2 el ni-el l1.ico 2# se est#0iliA# # 9C='>) Entonces este et# do se enc# .# de ocu"# #l PIC este tie!"o, "# # %ue no le# est#s +#ls#s lectu #s, 2 -uel-e # lee en este c#so RB9 2 2# tend 3 un ni-el l1.ico est#0le

&"

Si0u45i6n i:e4- :e -e50ur4 P4r4 e- PIC !" 719 72A9 EL DIAGRABA DE FLFYO PRACTICA NZ ' 729 7#9 0 7mS9

N(ESTRO CIRC(ITO DE PRACTICA


Est# -eA el encendido 2 #"#.#do co e "o cont ol del "uls#do S1, el cu#l # t #-7s del "ue to RB9 %ue +uncion# # co!o ent #d#, el PIC lee 3 su est#do, 2 cu#ndo sense un 9 =9->, o den# # #l PIC %ue enciend# el led 2 si est#0# encendido, %ue lo #"#.ue) En el di#. #!# de +lujo se o0se -# %ue des"u7s de %ue el "uls#do en-/# un ce o "o " i!e # -eA, lo inte " et# co!o "ulso, lue.o se #"lic# el !encion#do et# do de #nti e0ote, %ue en si no es !#s %ue un et# do co!6n "o #nid#!iento, des"u7s de te !in#do el et# do de #nti e0ote, " ocede # lee el est#do del led "o !edio del "in RB;8 si est#0# encendido %ue lo #"#.ue 2 lo cont # io, si est#0# #"#.#do, %ue lo enciend#)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

23

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIAGRAMA DE FLUJO
RETARDO ANTIREFOTE CONT1 DI +200 CONT2 DI +80 CONT3 DI +2

INICIO

CONFI=ERA PEERTOS

CONT1D CONT1-1 RF0 D0K

CONT 1 D 0K CONT1D+200 CONT2 D CONT2-1

ANTIREFOTE

CONT 2 D0K CONT2 D+80 CONT3 D CONT3-1 PRENDER

RF7 D 0K

APA=AR

CONT 3 D0K

RETERN

DIA+RAMA ESC(EMATICO DEL CIRC(ITO


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

24

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

8ROHRA(A 8ARA ENCENDER 6 A8AHAR UN /ED (EDIANTE UN 8U/SADOR


LIST INCLUDE EQU EQU EQU ORG GOTO ORG BSF MOVL) MOV)F BCF CLRF BTFSC GOTO CALL BTFSC . ON OFF GOTO BSF GOTO BCF GOTO P=16F628 <P16F628.INC> 20 ;REGISTROS PARA EL ANIDAMIENTO 21 22 00 INICIO 0" STATUS(RP0 ;SELECCIONA BANCO1 B*01111111* TRISB ;RB7 COMO SALIDA + COMO ENTRADAS ,RB6 A RB0STATUS(RP0 ;AL BANCO0 PORTB ;BORRAR EL PUERTOB PORTB(0 ;PREGUNTA POR EL ESTADO DEL PULSADOR EN RB0 START ;SI ES IGUAL A 1( VUELVA + PREGUNTE .ASTA ; QUE SEA CERO REANTIR ;LLAMA UN RETARDO DE ANTIREBOTE PAR EL ; PULSADOR PORTB(7 ;PREGUNTA EN QUE ESTADO ESTA EL LED SI ;PRENDIDO O APAGADO OFF ;SI VA A OFF ES PORQUE EL LED ESTABA ;ENCENDIDO + LO VA APAGAR PORTB(7 ;LED ENCENDIDO START ;VUELVE + PREGUNTA ESTADO DEL PULSADOR PORTB(7 ;APAGAR EL LED START ;VUELVE + PREGUNTA ESTADO DEL PULSADOR

CONT1 CONT2 CONT$

INICIO

START

;///////////////////////////////////

REANTIR

MOVL) MOV)F

.$ CONT$

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

25

NIVEL 1 PIC 16F628 MOVL) MOV)F MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO RETURN END .180 CONT2 .200 CONT1 CONT1(F ! 1 .200 CONT1 CONT2(F ! " .180 CONT2 CONT$(F ! #

TEORIA Y PRACTICA

;DECREMENTE CONT1 1 SALTA CUANDO LLEGA A 0 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ANTES ;SE RECARGA CONT1 POR EL ANIDAMIENTO ;DECREMENTE CONT2 1 SALTA CUANDO LLEGA A . ;CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE ;LLAM' .

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

26

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA $ ENCENDIDO DE LEDS MEDIANTE LA LECT(RA DE (N DIPS(IC'E


El o0jeti-o es est# -eA es l# se se.6n l# "osici1n del dip"2ic3e, encende 3 o #"#.# # dos leds, uno "# # c#d# uno es"ecti-#!ente) Esto se *#ce con el +in de se.6n un d#to es"eci+ico seleccion#do en los dos di"suic*es, el 8IC e+ect6e < #cciones di+e entes, se# un ed encendido4R907, 2 el ot o apa!ado4R917, "i#2acin con#raria, R90 apa!ado : R91 encendido, #!0os encendidos o #!0os #"#.#dos= P# # est#s situ#ciones, # "es# %ue el di"suic*e es un inte u"to , no nece"i#a*o" re#ardo de an#irre5o#e, de0ido # %ue su est#do se 3 #0soluto, ose#, un# "osici1n es solo encendido 2 l# ot # solo #"#.#do)

ASPECTO FISICO DE AL+(NOS DIPS(IC'ES Estos di"suic*es "oseen inte n#!ente 8, ( ' o -# i#s c#ntid#des de inte u"to es "e%ue&os en un solo "#%uete line#l, # eso es su " e+ijo DIP =d2a in ine pac?a!e>, su -ent#j# es el "oco es"#cio %ue us#n en un ci cuito, 2 %ue el#ti-#!ente son econ1!icos, teniendo en cuent# l# c#ntid#d 2 es"#cio %ue ocu"#n) NUESTRO CIRCUITO E PR!CTIC! El o0jeti-o se 3 el de %ue se.6n est#do de los di"suic*es, nos encende 3 unos leds, un led "o c#d# di"suic*e, en l# " #ctic# se i!"le!ent#n dos di"suic*es, conect#dos "o RB; 2 RB6 2 los leds de es"uest# est# 3n conect#dos es"ecti-#!ente "o RB9 2 RB1 El PIC +uncion# # de +o !# %ue sie!" e est# 3 c*e%ue#ndo los est#dos de l#s ent #d#s co es"ondientes # l# cone4i1n con los di"suic*es, 2 #"en#s detect# un c#!0io, entonces e+ectu# 3 el encendido o #"#.#do, est#s o"e #ciones se *#cen t#n 3"ido %ue "# # nuest os ojos "# ece in!edi#to) Ce#!os el di#. #!# de +lujo "# # entende !ejo el co!o co e el " o. #!#

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

27

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO DEL CIRC(ITO INICIO C !;&4$-0c&3! .( + /$(-, % F --0 PORTF

RF7D0 K
NO

SI

SI

0 DI RF0
NO

RF6D0 K

0 DI RF1

1 DI RF0
SI

1 DI RF1

RF6D0 K
NO

0 DI RF1

0 DI RF1

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

28

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRO+RAMA PARA LA PRACTICA CON EL DIPS(IC'E /IST 8=1AFA>B INC/UDE T81AFA>B=INCU


ORG GOTO ORG BSF MOVL) MOV)F BCF CLRF BTFSC GOTO BCF BTFSC 00 INICIO 0" STATUS,RP0 B*11111100* TRISB STATUS,RP0 PORTB PORTB(7 RB0ON PORTB(0 PORTB(6

INICIO

;SELECCIONA BANCO1 ;RB7 + RB6 ENTRADAS POR DIPSUIC.E + RB0 + ;RB1 SALIDAS .ACIALOS LEDS ;AL BANCO0 ;BORRAR EL PUERTOB ;PREGUNTA POR EL ESTADO DEL DIPSUIC.E EN . ;RB7 ;APAGA EL LED DE RB0 DEL DIP DE RB7 ;PREGUNTA POR EL ESTADO DEL DIPSUIC.E EN . ;RB6 LED DE RB0 DEL DIP DE RB6

START .

GOTO RB1ON BCF PORTB(1 ;APAGA EL GOTO START ;///////////////////////////// RB0ON BSF PORTB(0 BTFSC PORTB(6 ;PREGUNTA ;RB6 GOTO RB1ON BCF PORTB(1 ;APAGA EL GOTO START ;VUELVE A ;///////////////////////////// RB1ON BSF PORTB(1 GOTO START END

POR EL ESTADO DEL DIPSUIC.E EN . LED DE RB0 DEL DIP DE RB6 LEER ESTADO DE LOS DIPSUIC.E

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

29

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA & MANEAO DE (NA TABLA DE DATOS PARA MANEAAR (N DISPLAD DE CATODO COM(N
El uso de l#s t#0l#s en los " o. #!#s con los PIC es !u2 us#do, "ues su " inci"#l +unci1n es l# de un d#to con-e ti lo en ot o, "# t# *#ce e%ui-#lenci#s o %ue un nu!e o es"eci#l nos lo e" esente con ot os -#lo es, %ue este -# # se nuest o c#so, "ues si conect#!os un dis"l#2, %ue son ; leds en un "#%uete, el cu#l tiene co!o +unci1n l# de e" esent# con ilu!in#ci1n los di+e entes n6!e os deci!#les 40 a S>, 2 #l.un#s let #s %ue se "ueden +o !# con este dis"l#2) Los dis"l#2s e4isten de dos ti"os, de cV#odo co*Wn 2 de Vnodo co*Wn, su di+e enci# #dic# en %ue los c3todos est3n todos unidos 2 en el ot o son los 3nodos es"ecti-#!ente+

DISPLAD CATODO ANODO Ejemplos de conexin de LEDS (ctodo comn y nodo comn)
A*o # teniendo en cuent# %ue los dis"l#2 son leds, entonces, si encende!os los leds #decu#dos, entonces +o !# e!os un nu!e o se.6n el encendido, "o lo %ue de0e!os conect# c#d# se.!ento # un "ue to del "ic, "# # "ode coo din# se.6n el encendido %ue nu!e o dese#!os -isu#liA# (ANEJO O FUNCION DE UNA TA9/A DE DATOS E!"eA#!os "o !encion# %ue en los e.ist os de 8 0its, el -#lo nu!7 ico de ( "o eje!"lo se i# en 0in# io B[99999191[ 2 en *e4#deci!#l 9$9(, si conect3 #!os los ; se.!entos #l "ue to B, inici#ndo el se.!ento A del dis"l#2 con el "in RB1 2 #s/ *#st# lle.# # se.!ento G con el "in RB;

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

30

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

TA9/A DE DATOS DE UN DIS8/A6 C=C


8IC R9L R9A R9P R9K R9; R9> R91 R90
DATO ! f e d c 5 a

0 1 > ; K P A L B S

9 9 1 1 1 1 1 9 1 1

1 9 9 9 1 1 1 9 1 1

1 9 1 9 9 9 1 9 1 9

1 1 1 1 9 1 1 9 1 1

1 1 9 1 1 1 1 1 1 1

1 9 1 1 1 9 9 1 1 1

1 9 1 1 9 1 1 1 1 1

9 9 9 9 9 9 9 9 9 9

CONECCION ENTRE E/ 8IC 6 E/ DIS8/A6


CATODO CONEN

P# # *#ce est# con-e si1n se i!"le!ent#n en este c#so un# t#0l#, "ues en ell# se est#0lece el +#cto de con-e si1n, el cu#l es +3cil de !#ni"ul# , eso si teniendo !uc*o cuid#do #l *#ce est#s su"uest#s con-e siones, #*o # -e#!os co!o +uncion#) A*o # !encion# e un# inst ucci1n %ue se enc# .# de eto n# de un# su0 utin#, 2 se ll#!# RET/W, est# es !u2 se!ej#nte en su +unci1n #l RETURN, solo %ue #de!3s se de-uel-e c# .#ndo #l e.ist o M con el -#lo %ue se le es"eci+ic1, -e#!os un eje!"lo8 RETL; BE!!!!!!!1E
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

31

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Cu#ndo el " o. #!# se encuent # con est# inst ucci1n, l# o den es %ue eto ne del ulti!o ll#!#do de un# "25r2#ina 4cu#ndo se us# un CALL>, c# .#ndo # 5 con el -#lo indic#do en este c#so, des"u7s de l# o den, M tiene #l!#cen#do el -#lo de B[99999991[ C#!os # utiliA# ot # nue-# inst ucci1n, ll#!#d# ADD5F, %ue en si es enc# .#d# de su!# el -#lo contenido en el e.ist o 5 !#s el e.ist o %ue se le indi%ue, 2 el esult#do "uede destin# se #l !is!o 5 o #l e.ist o con el %ue se e+ectu1 l# su!#) Qa!a*o" 2n eEe*p oF Di.#!os %ue en el e.ist o REG1, est# #l!#cen#do un -#lo de ( en deci!#l, 2 lue.o c# .#!os # 5 con un -#lo cu#l%uie # co!" endido ent e 9 2 2((, di.#!os %ue c# .#!os # 5 con ', 2 cu#ndo ejecut# l# inst ucci1n ADD5F REG,F, si.ni+ic# %ue el contenido de 5 se su!# # con el contenido del e.ist o REG1 2 %ue lo #l!#cene en el !is!o e.ist o REG1, lo %ue %uie e deci %ue des"u7s de l# su!#, el contenido de REG1 2# no es ( sino 8) NOVLW NOVWF NOVLW ADDWF +5 PSE CAR=A A W PARA LEE=O AL RE=ISTRO RE=1 RE=1 P AQORA RE=1 VALE 5 +3 PSE CAR=M A W CON 3 RE=1"F PSE SENA EL CONTENIDO DE RE=1 CON W Y SE P=EARDA EN EL RE=ISTO RE=1

Bien #*o # %ue s#0e!os co!o est# +uncion#ndo est# inst ucci1n, #*o # se co!ent# # de un e.ist o es"eci#l %ue i!"le!ent# el PIC 2 se ll#!# cont#do del " o. #!#, el cu#l const# de 2 e.ist os de 8 0its, "e o en tot#l solo se !#ni"ul#n 1' 0its 2 no 16 co!o "uede lle.# # "ens# se, el cu#l se ll#!#n l# "# te !eno PCL 2 l# "# te !#2o PCLATX o PCX, l# "# te !eno de 8 0its 2 l# "# te !#2o de ( 0its, un "oco !ejo eje!"li+ic#do en l# si.uiente +i.u #8
8CQ 1> B 8C/ 0

8C
8C/ATQ TKF0U B RESU/TADO DE /A A/U

8C/ATQ
8CQ 1> 11 10 8C/ 0

8C
11 DESDE E/ CODIHO O8 >

8C/ATQ

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

32

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

El nuest o c#so se !#ni"ul# # !#s %ue todo el e.ist o PCL, 2# %ue di eccion# l# "# te !eno de l# !e!o i# del " o. #!#, 2 es i!"o t#nte #cl# # %ue est#s t#0l#s sie!" e de0en u0ic# se #l co!ienAo de " o. #!# =ORG 9(>, "ues des"u7s de %ue el PCL su"e # # 2((, -uel-e # ce o, 2 nuest # t#0l# %ued# /# + #ccion#d# en dos "# tes 2 lo !#s se.u o es %ue no -# # +uncion# co!o de0e /#, #un%ue e4isten t7cnic#s "# # co!"ens# est# situ#ci1n, %ue tienen %ue -e #l !#ni"ul# el PCX o PCLATX, en nuest o c#so est3n +ue # del te!# # t #t# , %uiA3s "o %ue no -#!os # i!"le!ent# un# #a5 a t#n . #nde %ue #0# %ue >PP Gnea" del " o. #!#) )A*o # %ue !encion#!os el e.ist o es"eci#l PCL 2 co!ent#!os so0 e l# inst ucci1n de su!# ADD5F, t #t# e!os de deci cu#l es el t uco de l#s t#0l#s "# # %ue +uncionen 2 "od#!os -isu#liA# en el dis"l#2 el nu!e o %ue dese#!os) Di.#!os %ue el contenido del e.ist o #l %ue ll#!#!os CONTA, "osee co!o -#lo de contenido el nu!e o 9, 2 dese#!os -isu#liA# en el dis"l#2 el nu!e o ce o, %uie e deci %ue el -#lo 0in# io de ce o =0[99999999>, de0o "#s# lo # un -#lo %ue enciend# los es"ecti-os se.!entos, teniendo en cuent# %ue el se.!ento A del dis"l#2 est# conect#do #l "ue to RB1, el -#lo se i# #s/ =0[91111119[>, eco de!os %ue en el c#so el 0it 9 4R907 no se uso de0ido # %ue no est# conect#do con el dis"l#2, 2 lo coloc# e!os co!o -#lo de ce o 2 !o-e!os este -#lo #l "ue to B) A*o # -e#!os %ue *iAo en s/ el " o. #!# "# # est# con-e si1n8 I!#.ine!os %ue tene!os # CONTA con un -#lo de 9, NOVLW NOVWF +0 CONTA

A*o # -#!os # ll#!# l# su0 utin# #nte io ll#!#d# t#0l#8 CALL TAFLA

Entonces cu#ndo lle.#!os # l# su0 utin# ll#!#d# t#0l# tend 3 este #s"ecto
TAFLA ADDWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW PCL"F BF!111111!F BF!!!!11!!F BF1!11!11!F BF1!!1111!F BF11!!11!!F BF11!11!1!F BF11111!1!F BF!!!!111!F BF1111111!F BF11!1111!F PENCIENDE EN EL DISPLAY EL CERO PENCIENDE EL ENO PENCIENDE EL DOS PENCIENDE EL TRES PENCIENDE EL CEATRO PENCIENDE EL CINCO PENCIENDE EL SEIS PENCIENDE EL SIETE PENCIENDE EL OCQO PENCIENDE EL NEEVE

A*o # l# inst ucci1n %ue se encuent # + ente # l# eti%uet# de t#0l# es l# de su!# el contenido de M #l PCL o cont#do del " o. #!#, %ue "uede se cu#l%uie -#lo , no !#2o %ue 2<9, 2 le su!# # ce o, en consecuenci#, ejecut# 3 l# si.uiente l/ne# de inst ucci1n, de0ido # %ue l# su!# no #+ecto el contenido de PCL 2 se encont # # con est# inst ucci1n8
RETLW FR01111110R PENCIENDE EN EL DISPLAY EL CERO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

33

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

TRecue d#n %ue -#lo se necesit#0# "# # ilu!in# en el dis"l#2 el ce oU Si o0se -#n 0ien M se c# .# # con este -#lo , 2 eto n# # de est# su0 utin# 2 #*o # %ue tene!os el -#lo "# # encende los led %ue co es"onden #l ce o, se *# 3 esto8 NOVLW NOVWF CALL NOVWF +0 CONTA TAFLA PORTF

E #s/ en-i#ndo esto se encende 3 el dis"l#2 con el s/!0olo de ce o, "e o T%ue "#s# si -#le "o eje!"lo ;U X#.3!oslo nue-#!ente NOVLW NOVWF CALL +7 CONTA TAFLA

Bien, #*o # %ue tene!os el -#lo de siete 2 se su!# con el PCL, este #"unt# # ; l/ne#s #0#jo, !#s e4#ct#!ente #8 RETLW FR00001110R ;ENCIENDE EL SIETE

E "o consecuenci# de l# inst ucci1n, -ol-e 3 del ll#!#do, "e o est# -eA con l# in+o !#ci1n "# # encende el dis"l#2 2 %ue se -isu#lice el nu!e o ; NOVWF PORTF N(ESTRO PRIMER CIRC(ITO DE PR(EBA Est# -eA -#!os # *#ce un ci cuito %ue nos !uest e los n6!e os del 9 #l : co!o si +ue # un cont#do #scendente, 2 cu#ndo lle.ue # : , -uel-# # ce o) Est# +unci1n se lle-# # # c#0o !edi#nte ot # inst ucci1n %ue se 3 nue-# est# -eA "e o no di+/cil de entende , "ues su !isi1n es l# de su!# G1 un e.ist o o !#s 0ien inc e!ent# lo en un# unid#d, 2 su esult#do se "od 3 .u# d# se# en el !is!o e.ist o %ue inc e!ent#!os =lo !#s co!6n> o dej# lo en el e.ist o 5) Est# es l# inst ucci1nF INCF= )ea*o" 2n eEe*p oF si dese#!os e!"eA# # cont# desde ce o 2 %ue -#2# !ost #ndo los n6!e os, -#!os enc# .# el t #0#jo de %ue lle-e este cont ol un e.ist o #l %ue ll#!# e!os "o eje!"lo CONTA, eco de!os %ue e!"ieA# de ce o, 2 des"u7s de l# inst ucci1n -# # %ued# en su contenido 1 CLRF CONTA INCF CONTA"F PDESANOS CONTA EN CERO PINCRENENTA EN ENO EL RE=ISTRO CONTA

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

34

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Ot # co!#ndo # i!"le!ent# , tiene co!o +unci1n !o-e el contenido de un e.ist o #l e.ist o 5 o #l !is!o =est# +unci1n de !o-e lo #l !is!o e.ist o se *#ce "# # %ue con este ?!o-i!iento@ #+ecte l#s 0#nde #s de ce o =D> c# 2 o #c# eo =C>, 2 l#s ot #s 0#nde #s i!"le!ent#d#s en el e.ist o st#tus)>, 2 est# se ll#!# BOCF, lo %ue %uie e deci !o-e #l e.ist o, 2 seleccion#!os el destino, 2# co!ent#do, %uie e deci M o el !is!o e.ist o, "e o *#.#!os ot o eje!"lo8 CLRF INCF NOVF CONTA CONTA"F CONTA"W PCONTA D0 PCONTA A1 Y LO =EARDA EL RESELTADO EN CONTA PEL CONTENIDO DE CONTA SE COPIO EN W

Bien *#st# #*o # se *# e4"lic#do co!o t #0#j#, "e o si dese#!os !o-e el contenido, "o eje!"lo del e.ist o CONTA # PORTB, se *# /# esto8 NOVF NOVWF CONTA"W PORTF PCONTENIDO DE CONTA A W PEL CONTENIDO DE W SE COPIO EN EL PORTF

O0se -#!os %ue ent 1 ot # inst ucci1n, ll#!#d# BOC5F, ell# *#ce %ue el contenido #ctu#l de 5, se# destin#do # un e.ist o cu#l%uie # %ue "e !it# esc i0i se o los e.ist os %ue c#d# uno de nosot os #si.ne!os en l# !e!o i# RAB) A*o # con estos ?!o-i!ientos? de d#tos, -e#!os en %ue #2ud#n # nuest o cont#do 8 INCF NOVF CALL NOVWF CONTA"F CONTA"W TAFLA PORTF PINCRENENTA A CONTA A1 Y LO =EARDA EN CONTA PCOPIA EL CONTENIDO DE CONTA EN W PNEESTRA TAFLA DE DATOS PEL DATO CONVERTIDO EN LA TAFLA ESTA EN W Y ES PLLEVADO AL PEERTOF

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

35

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO DEL CONTADOR ASCENDENTE

TAFLA
PCLD PCL A W RETORNE FT01111110T RETORNE FT00000110T RETORNE FT10110110T RETORNE FT10011110T RETORNE FT11001100T RETORNE FT11011010T

INICIO
CONFI=ERAC+ DEL PIC

FORRAR PORTF

FORRAR CONTA

CONTA DI W RETARDO TAFLA

RETORNE FT11111010T RETORNE FT00001110T RETORNE FT11111110T RETORNE FT11011110T

NO
W DI PORTF
CONTA D 10K

CONTA DCONTAA1

SI
FORRAR CONTA

DIA+RAMA ESC(EMATICO PARA AMBOS CIRC(ITOS CATODO CONEN

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

36

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRO+RAMA EN MPLAB PARA EL CONTADOR ASCENDENTE


LIST INCLFDE EQU EQU EQU EQU ORG GOTO ORG TABLA ADD)F RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) BSF MOVL) MOV)F BCF CLRF CLRF CALL MOVF CALL MOV)F INCF MOVL) SUB)F PI16F628 NP16F628)INCO 20 21 22 2$ 00 INICIO 0" PCL(F B*01111110* B*00001100* B*10110110* B*10011110* B*11001100* B*11011010* B*11111010* B*00001110* B*11111110* B*11011110* STATUS(RP0 B*00000001* TRISB STATUS(RP0 PORTB CONTA RETARDO CONTA() TABLA PORTB CONTA(F .10 CONTA() ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE EN EL EL EL EL EL EL EL EL EL EL DISPLA+ EL CERO UNO DOS TRES CUATRO CINCO SEIS SIETE OC.O NUEVE

CONTA CONT1 CONT2 CONT$

INICIO

;SELECCIONA BANCO1 ;DE RB7 A RB1 SALIDAS + RB0 ENTRADA ;AL BANCO0 ;BORRAR EL PUERTOB ;BORRAMOS EL REGISTRRO DEL CONTEO ;ENVIAMOS EL CONTENIDO A ) ;LLAMA LA TABLA PARA TRAER LOS DATOS PARA ;ENCENDER LOS LED DEL DISPLA+ ;LO DE LA TABLA VA AL PUERTO DONDE ESTA ;EL DISPLA+ DE CATODO COMUN ;SUMAMOS 1 A CONTA ;MIRAMOS SI CONTA ES IGUAL A 10( SI LO ES ;LA RESTA SERA IGUAL A CERO + AFECTARA EL ;FLAG 0 ;PREGUNTAMOS SI LA OPERACION DIO CERO ;SI NO VUELVA A START

START

BTFSS STATUS(0 GOTO START CLRF CONTA GOTO START ;///////////////////////////////////////////////////////////////////// RETARDO MOVL) .6 MOV)F CONT$ MOVL) .2"0 MOV)F CONT2 MOVL) .2"0 MOV)F CONT1 DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

37

NIVEL 1 PIC 16F628 DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO RETURN END CONT1(F ! 1 .2"0 CONT1 CONT2(F ! " .2"0 CONT2 CONT$(F ! #

TEORIA Y PRACTICA ;DECREMENTE LA VARIABLE CONT1 1 SALTA ;CUANDO LLEGA A 0 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ;ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR ; E1 ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA ;CUANDO LLEGA A CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE ; SE LLAM'

CONTADOR ASCENDENTE D DESCENDENTE


A co!"le!ento del #nte io ci cuito, -#!os # #&#di %ue *#.# l# si.uiente +unci1n8 cont# # de ce o # nue-e 2 cu#ndo lle.ue # : desciend# # ce o 2 -uel-# 2 se e"it# el ciclo) X#st# #*o # est30#!os o0se -#ndo solo inc e!entos de G1 4INCF7, 2 su co!"#&e # %ue e+ect6# s#lto cu#ndo el conteo se des0o d# # ce o 4INCFS<7, #*o # -#!os # us# sus #nt1ni!#s, esto es %ue est# 1 4DECF7 2 su co!"#&e # %ue est# 1 2 s#lt# cu#ndo lle.# # ce o 4DECFS<7= Es de #cl# # %ue cu#ndo !e e+ie o # ?s#lt#@ es %ue s#lt# un# l/ne# del " o. #!# si l#s condiciones %ue e4i.e este co!#ndo se d#n) No se con+und#n, es !#s +3cil de lo %ue c een, 2 #*o # se -# # eje!"li+ic# 8 P i!e o -ol-#!os # ll#!# # nuest o e.ist o CONTA, solo %ue est# -eA i!#.in# e!os %ue tiene en su contenido el -#lo de nue-e, 2 lo -#!os # est# , solo %ue est# -eA, se su"e -is# # cu#ndo este conteo lle.# # ce o
OTRAC DECFSD GOTO GOTO P END CONTA,F OTRAC FIN PRESTE H1 DE CONTA E GFARDA EN CONTA PSI LA RESTA NO DIO 9,DIRIYASE A LA ETIQFETA POTRAC PSI SE DIO EL SALTO ES POR QFE CONTA LLEGO A PCERO E POR LO TANTO SE DIRIGIRA A LA ) P ETIQFETA FIN

Es de !encion# %ue t#nto el #nte io eje!"lo co!o en este se dio un et# do ent e conteo 2 conteo, esto con el +in de %ue se "ued#n -isu#liA# los et# dos 2 -e los n6!e os , 2# %ue si no se *#ce esto, los n6!e os no se -e /#n de lo 3"ido %ue i /# el conteo

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

38

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO INICIO CONFI=ERAC PIC FORRAR PORTF FORRAR CONTA CONTA DI W TAFLA W DI PORTF
CONTADCONTAA1

CONTA D 10K SI W D +9 W DI CONTA CONTA DI W TAFLA W DI PORTF

NO RETARDO

NO SI CONTA D 10K

CONTADCONTA-1

PRO+RAMA EN MPLAB PARA EL CONTADOR ASCENDENTE D DESCENDENTE


LIST INCLFDE PI16F628 NP16F628)INCO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

39

NIVEL 1 PIC 16F628 CONTA CONT1 CONT2 CONT$ EQU EQU EQU EQU ORG GOTO ORG TABLA ADD)F RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) BSF MOVL) MOV)F BCF CLRF CLRF CALL MOVF CALL MOV)F INCF MOVL) SUB)F BTFSS GOTO MOVL) MOV)F CALL MOVF CALL MOV)F DECFS0 GOTO GOTO 20 21 22 2$ 00 INICIO 0" PCL(F B*01111110* B*00001100* B*10110110* B*10011110* B*11001100* B*11011010* B*11111010* B*00001110* B*11111110* B*11011110* ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE EN EL EL EL EL EL EL EL EL EL

TEORIA Y PRACTICA

EL DISPLA+ EL CERO UNO DOS TRES CUATRO CINCO SEIS SIETE OC.O NUEVE

INICIO

STATUS,RP0 ;SELECCIONA BANCO1 B*00000001* TRISB ;DE RB7 A RB1 SALIDAS + RB0 ENTRADA STATUS,RP0 PORTB CONTA RETARDO CONTA() TABLA PORTB CONTA(F .10 CONTA() STATUS(0 ARRIBA .# CONTA RETARDO CONTA() TABLA PORTB CONTA(F ABA2O ARRIBA ;AL BANCO0 ;BORRAR EL PUERTOB ;BORRAMOS EL REGISTRRO DEL CONTEO ;ENVIAMOS EL CONTENIDO A ) ;LLAMA LA TABLA PARA TRAER LOS DATOS PARA ;ENCENDER LOS LED DEL DISPLA+ ;LO DE LA TABLA VA AL PUERTO DONDE ESTA EL ;DISPLA+ DE CATODO COMUN ;SUMAMOS 1 A CONTA ;MIRAMOS SI CONTA ES IGUAL A 10( SI LO ES LA ;RESTA SERA IGUAL A CERO + AFECTARA EL FLAG 0 ;PREGUNTAMOS SI LA OPERACION DIO CERO ;SI NO VUELVA A START ;SE CARGA CON NUEVE PARA DESCENSO ;.ACIA CONTA ;RETARDO PARA VER NUMERO A NUMERO ;MOVEMOS EL CONTENIDO DE CONTA A ) ;PARA LLAMAR LA TABLA ;.ACIA EL DISPLA+ ;RESTA 1 A CONTA SI ES CERO SALTA

ARRIBA

ABA2O

;///////////////////////////////////////////////////////////////////// RETARDO MOVL) MOV)F .6 CONT$

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

40

NIVEL 1 PIC 16F628 MOVL) MOV)F MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO RETURN END .2"0 CONT2 .2"0 CONT1 CONT1(F ! 1 .2"0 CONT1 CONT2(F ! " .2"0 CONT2 CONT$(F ! #

TEORIA Y PRACTICA

;DECREMENTE LA VARIABLE CONT1 1 SALTA CUANDO ;LLEGA A 0 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR EL ;ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA CUANDO ;LLEGA A CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE ;LLAM'

PRACTICA 6 666
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

41

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

(ANEJO DE UN DIS8/A6 DE ANODO CO(UN CON UN DECODIFICADOR TT/ LKKL


A di+e enci# del !#nejo de un# t#0l#, si o0se -#!os cu#ndo el -#lo de un e.ist o cu#ndo lo !o-e!os # un "ue to, este -#lo est# en 0in# io) Cu#ndo este -#lo 0in# io est# co!" endido ent e 9 2 1( 40000 : 11117, e4iste un decodi+ic#do %ue se enc# .# de !#nej# 2 !#ni"ul# c#d# led del dis"l#2, esto es el d#to 0in# io es en-i#do #l decodi+ic#do , 2 este econoce el -#lo 0in# io 2 enciende el nu!e o %ue e" esent#, "o eje!"lo si en-i#!os en 0in# io 9919 =2 en deci!#l> #l decodi+ic#do , entonces este s#0e %ue es el nu!e o 2 2 encende 3 en el dis"l#2 en nu!e o dos con los se.!entos de este dis"l#2) Es de !encion# %ue # di+e enci# del dis"l#2 de c3todo co!6n, con el cu#l los leds se #cti-#0#n cu#ndo lle.#0# un uno o (CP en el de 3nodo co!6n ocu e lo cont # io, sus 3nodos est3n conect#dos en co!6n con (C 2 sus c3todos se #cti-# #n con ce o o 9C)

DECODIFICADOR 9CD R L SEH(ENTOS . CI TT/ LKKL


Fn# de l#s !#ne #s !#s us#d#s "# # !ost # d#tos nu!7 icos 2 #l+#nu!7 icos en elect 1nic# di.it#l utiliA#ndo un Xdisplay de "#seg$entosX constituido "o un # e.lo de los diodos e!iso es de luA =LEDs>, un diodo "# # c#d# se.!ento) El # e.lo de leds "uede se conect#do co!o c3todoHco!6n o 3nodoHco!6n co!o se !uest # en l# +i.u # de #0#jo)

DISPLAD

CATODO COM(N

ANODO COM(N

En los dis"l#2 de ti"o c3todoHco!6n, todos los c3todos de leds son conect#dos # 9C) Los se.!entos indi-idu#les son #"lic#dos # (C "o 3nodo de c#d# led) P# # los dis"l#2 3nodoHco!6n, todos los 3nodos son li.#dos # Ccc en .ene #l de (C) C#d# se.!ento indi-idu#l "uede conect# se de 9C "o c3todo de led de se.!ento seleccion#do)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

42

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

L#s cu#t o ent #d#s 0in# i#s del ci cuito inte. #do ;<LS<; "e !iten 16 co!0in#ciones di+e entes de ent #d#)

ANODO CONEN

Pines del decodi+ic#do ;<<;, se ilust # en let #s !#26scul#s A,B,C,D, con e+e enci# # l#s ent #d#s 0in# i#s 2 l#s let #s !in6scul#s # l# s#lid# # los es"ecti-os se.!entos del dis"l#2 de 3nodo co!6n

DECI(A/ 9 1 2 ' < ( 6 ; 8 : 19 11 12 1' 1< 1(


9 9 9 9 9 9 9 9 1 1 1 1 1 1 1 1

8ORTA
9 9 9 9 1 1 1 1 9 9 9 9 1 1 1 1 9 9 1 1 9 9 1 1 9 9 1 1 9 9 1 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 9 9 9 9 9 9 9 1 1

9=C=D
9 9 9 9 1 1 1 1 9 9 9 9 1 1 9 9 1 1 9 9 9 1 9 1 9 1 9 1 9 1

QE&ADEC 9 1 2 ' < ( 6 ; 8 : A B C D E F

RA; RA> RA1 RA0 D C 9 A

Es i!"o t#nte #cl# # %ue si se dese# # conect# el PIC di ect#!ente con el dis"l#2 de 3nodo co!6n, si!"le!ente de0e!os c#!0i# los -#lo es de l# t#0l# 2 c#!0i# los unos "o ce os 2 -ice-e s#, "e o se s#le del te!# de est# " #ctic#, "ues se i# co!o e"eti te!#)
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

43

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

N(ESTRA PRACTICA Est# -eA # di+e enci# de l# " #ctic# No (, se e+ectu# # un cont#do #scendente 2 descendente, solo %ue l# s#lid# -# "o el "ue to A, "e o en l# l1.ic# si.ue siendo l# !is!#, # di+e enci# es %ue est# -eA no se i!"le!ent# # un# t#0l# de d#tos, sino %ue el d#to se en-i# # t#l co!o est# #l "ue to A, eso si teniendo en cuent# %ue el LKKL "o o *aneEa K 5i#", "o lo %ue los ot os cu#t o 0its !#s si.ni+ic#ti-os, no se "od 3n lee ) Pe o es i!"o t#nte dest#c# , #un%ue no es el o0jeti-o del !odulo, de %ue "# # !#ni"ul# el "ue to A del PIC 16+628, se le de0e deci #l PIC %ue este "ue to -# # t #0#j# co!o "ue tos de ent #d#s 2 s#lid#s di.it#les, "ues e 8IC po"ee incorporado 2n *od2 o de *aneEo de o" co*paradore", el cu#l !#nej# el "ue to A co!o "ue to #n3lo.os, ,2 si no es"eci+ic#!os " i!e o %ue dese#!os %ue estos "ue tos se#n di.it#les, e4isti 3n con+lictos 2 el " o. #!# no se ejecut# # co!o dese#!os) Se encont # # en el " o. #!# # inici# l# si.uiente sentenci#8 INICIO (O)/W (O)WF =L C(CON

Esto %uie e deci %ue el e.ist o enc# .#do de !#ni"ul# estos co!"# #do es es el e.ist o CBCON, 2 se c# .# con el -#lo de ;, el cu#l identi+ic# este -#lo co!o dej# el "ue to A co!o ent #d#s L s#lid#s di.it#les) B#s in+o !#ci1n est# 3 dis"oni0le en ot # " #ctic#) El " o. #!# -# # ejecut# un cont#do #scendente 2 descendente, !u2 se!ej#nte # l# " #ctic# #nte io )

DIA+RAMA DE FL(AO DEL CONTADOR ASCENDENTE D DESCENDENTE INICIO


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

44

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

CONFI= PIC CNCON DI +7

FORRAR PORTA
FORRAR CONTA

CONTA DI W W DI PORTA CONTA A 1 NO CONTA D 10K SI W D +9 NO W DI CONTA CONTA DI W W DI PORTA CONTADCONTA-1 CONTA D 10K SI RETARDO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

45

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIAHRA(A ESMUE(ATICO DE/ CONTADOR ASCENDENTE 6 DESCENDENTE CON DECODIFICADOR


ANODO CONEN

PRO+RAMA PARA EL CONTADOR CON EL DECODIFICADOR


LIST INCLFDE EQU EQU EQU EQU ORG GOTO ORG MOVL) MOV)F BSF MOVL) MOV)F BCF CLRF CLRF CALL MOVF MOV)F INCF MOVL) SUB)F BTFSS PI16F628 NP16F628)INCO 20 21 22 2$ 00 INICIO 0" .7 CMCON ;ESTO SE .ACE PARA QUE EL PUERTOA SIRVA COMO ;I3O DIGITALES IN.ABILITA EL M'DULO DE ;COMPARADORES STATUS(RP0 ;SELECCIONA BANCO1 B*11110000* TRISA ;DE RA$ A RA0 SALIDAS STATUS(RP0 ;AL BANCO0 PORTA ;BORRAR EL PUERTOA CONTA ;BORRAMOS EL REGISTRRO DEL CONTEO RETARDO CONTA() ;ENVIAMOS EL CONTENIDO A ) PORTA ;PUERTO DONDE ESTA EL DISPLA+ DE AC CONTA(F ;SUMAMOS 1 A CONTA .10 CONTA() ;SI CONTA ES IGUAL A 10( SI LO ES LA ;RESTA SERA = A CERO + AFECTARA EL FLAG 0 STATUS(0 ;PREGUNTAMOS SI LA OPERACION DIO CERO

CONTA CONT1 CONT2 CONT$

INICIO

ARRIBA

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

46

NIVEL 1 PIC 16F628 GOTO ARRIBA ;SI NO VUELVA A START

TEORIA Y PRACTICA

MOVL) .# ;SE CARGA CON NUEVE PARA DESCENSO MOV)F CONTA ;.ACIA CONTA ABA2O CALL RETARDO ;RETARDO PARA VER NUMERO A NUMERO MOVF CONTA() ;MOVEMOS EL CONTENIDO DE CONTA A ) MOV)F PORTA ;.ACIA EL DISPLA+ DECFS0 CONTA(F ;RESTA 1 A CONTA SI ES CERO SALTA GOTO ABA2O GOTO ARRIBA ;///////////////////////////////////////////////////////////////////// RETARDO MOVL) .6 MOV)F CONT$ MOVL) .2"0 MOV)F CONT2 MOVL) .2"0 MOV)F CONT1 DECFS0 CONT1(F ;DECREMENTE CONT1 1 SALTA CUANDO ;LLEGA A 0 GOTO MOVL) MOV)F DECFS0 GOTO MOVL) MOV)F DECFS0 GOTO RETURN END ! 1 .2"0 CONT1 CONT2(F ! " .2"0 CONT2 CONT$(F ! # ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR EL ;ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA CUANDO ;LLEGA A CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE ;LLAM'

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

47

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA ) M(LTIPLE*ADO DE DISPLAD DE CATODO COM(N PARA CONTADOR DE !! A 88


Si nos "one!os # "ens# en %ue !uc*os e%ui"os "oseen +ario" di"p a:", e4isten dos +o !#s co!unes de *#ce los t #0#j# 8 un# es %ue "o c#d# dis"l#2 ten.#!os un decodi+ic#do co!o el ;<<; o el ;<<8, 2 ot # es us#ndo solo un decodi+ic#do 2 ju.#ndo con los co!unes de los dis"l#2, el cu#l es el o0jeti-o, solo %ue no -#!os # us# un decodi+ic#do , sino un# t#0l# de d#tos "# # #*o # nos este inte. #do) El co!o +uncion# e#l!ente tiene un "oco de cienci# 2 +/sic#, esto "o %ue ocu e lo si.uiente #l ll#!#do e+ esco din3!ico u ot os no!0 es co!o se le conocen, "e o e#l!ente t #t# de esto8 cu#ndo -e!os t #0#j# un "# de dis"l#2s de est# +o !# , se -e co!o si #!0os estu-ie #n encendidos =%ue es l# . #ci#>, "e o l# e#lid#d es !u2 di+e ente, "ues si "udi7 #!os "e ci0i el tie!"o en !ilise.undos, nos d# /#!os de cuent# %ue esto es +#lso, de0ido # %ue c#d# dis"l#2 #lu!0 # /# de uno en uno inte c#l#d#!ente 2 no todos #l tie!"o co!o #"# ent#0#, esto se de0e # un +en1!eno 1"tico ll#!#do # -eces "e sistenci# de -isi1n, "ues nuest os ojos solo "ueden -e i!3.enes o #conteci!ientos se"# #dos un# # un# 2< i!3.enes "o se.undo, !#s #ll3 de est# -elocid#d -# # #"# ent# %ue se est# o0se -#ndo un# solo i!#.en) Este !is!o e+ecto es us#do en el tele-iso 2 el los " o2ecto es de cine) T#!0i7n este e+ecto "uede se #" o-ec*#do "o nosot os, "ues " inci"#l!ente "o %ue si!"li+ic# el ci cuito, econo!iA# co!"onentes 2 es"#cio)

DISPLAYS DE CATODO CONEN

As/ +uncion# i# nuest os dis"l#2s, " i!e o ent # /#!os # !#ni"ul# el pin co*Wn %ue "osee estos dis"l#2s en este c#so de cV#odo co*Wn, lo %ue se *# /# es est# encendiendo 2 #"#.#ndo secuenci#l!ente los dis"l#2s de est# +o !#8 i!#.ine!os %ue tene!os un# su0 utin#, en l# %ue "osee!os 2 dis"l#2s Ll#!#dos A 2 B) Al co!ienAo est3n #"#.#dos co!o !uest # l# i!#.en8 En ese !o!ento RA1 2 RA9 est3n en 1, "o lo %ue no " enden "o %ue el co!6n "# # los de c3todo co!6n, de0e se "ol# iA#do con un ce o )
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

48

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

A*o # el si.uiente "#so se i# en-i# el d#to "# # -isu#liA# el nu!e o '(, "# # ello se de0e *#ce " i!e o es en-i# el " i!e d#to ,se# el ' o el (, "# # nuest o eje!"lo e!"eA# e!os # en-i# el d#to "# # el encendido del nu!e o (, "o el "ue to B, "e o # "es# %ue #!0os dis"l#2s tienen este d#to, "o #*o # nin.uno est# encendido, "o %ue el co!6n no est# *#0ilit#do "o nin.uno de los "ines de RA9 2 RA1) Di.#!os %ue # "# ti de #*o # *#0ilit# e!os RA1 coloc#ndo un ce o "# # %ue se #li!enten los leds, 2 #*o # si se encende 3n los se.!entos co es"ondientes #l \ ()

DISPLAYS DE CATODO CONEN

Des"u7s de %ue se !#ndo l# o den de encende este dis"l#2, se de0e d# un tie!"o de et# do =del o den de !ilise.undos>, "# # %ue los leds se #lc#ncen # encende lo su+iciente "# # ilu!in# , des"u7s de este tie!"o, se en-i# # un 1 "o RA1 "# # #"#.# este dis"l#2, 2 nos #list# e!os "# # en-i# el d#to "# # encende el nu!e o ' en el dis"l#2, 2 "# # ello de nue-o se ll#!# 3 # l# t#0l# "# # %ue se ten.# el d#to "# # encende los se.!entos %ue +o !#n el nu!e o ' 2 se en-i# #n #l "ue to B, "e o en este !o!ento t#!"oco se encende 3 nin.6n dis"l#2, solo *#st# %ue se *#0ilite el "in %ue cont ol# el dis"l#2 =RA9>) A "# ti %ue se *# desc# .#do el -#lo en el "ue to 0, " ocede!os # #cti-# con ce o # RA9, 2 encende 3 el dis"l#2 de est# +o !#)

DISPLAYS DE CATODO CONEN

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

49

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Bien, des"u7s de este #conteci!iento, se d# 3 un et# do i.u#l #l #nte io "# # %ue se enciend#n 0ien los leds 2 se #"#.# # cu#ndo este et# do te !ine) Lo desc ito #nte io !ente +ue "o deci lo #s/ en c3!# # lent# "o %ue si "usi7 #!os # t #0#j# est# su0 utin#, se -e /# #s/8

DISPLAYS DE CATODO CONEN

P# # %ue nos !uest e est#s c#ntid#des, no !#l!ente c#d# di.ito se #l!#cen# en un e.ist o de l# !e!o i#, en l# " #ctic# uno se ll#!# FNID denot#ndo l#s unid#des, 2 DEC *#ce !enci1n # l#s decen#s) FUNCIONA(IENTO DE/ CONTADOR Si #n#liA#!os 2 eco d#!os 0ien, nuest # t#0l# !#ni"ul#d# #nte io !ente en ot #s " #ctic#s solo !#ni"ul#0# del ce o #l nue-e, entonces Tco!o *#ce!os "# # %ue nos lle-e el conteo desde 99 *#st# ::, !#s e4#ct#!ente cu#ndo "#s# de : # 19, etc)U L# es"uest# es de est# +o !#) Cu#ndo ten/#!os un e.ist o desde ce o =en este c#so FNID>, lo /0#!os inc e!ent#ndo, "e o cu#ndo lle.# # 19, en deci!#l se e%uie e de ot o di.ito "# # e" esent# el 19, esto %uie e deci %ue cu#ndo inc e!ent30#!os 2 lle.#!os # 19, se " e.unt#0# en el " o. #!# %ue si 2# *#0/# lle.#do FNID # 19, si no, continu# # inc e!ent#ndo, "e o en c#so cont # io, sencill#!ente 0o 30#!os FNID, 2 el e.ist o DEC lo inc e!ent30#!os en un# unid#d, #s/ se solucion# el " o0le!#, 2 "ode!os #!"li+ic# este !7todo cu#ntos e.ist os necesite!os) P# # ilust # lo !#s cl# o, se o0se -# 3 !ejo en el di#. #!# de +lujo N(ESTRO CIRC(ITO DE PRACTICA Est# -eA nuest o cont#do se enc# .# # de e+ectu# un conteo de 99 # :: 2 -ol-e # e"eti este ciclo, 2 c#d# inc e!ento lo *# 3 c#d# se.undo !#s o !enos) El o0jeti-o de est# " #ctic# e # l# de #"lic# el !ulti"le4#do de los dis"l#2s, 2 entende su t7cnic#) Es de #cl# # %ue e4isten !uc*#s +o !#s de lo. # el !ulti"le4#do, "e o tod#s "# ten del !is!o " inci"io "o lo %ue est# t7cnic# no es l# 6nic# 2 #0solut#) B#ni"ul# 3 ' su0 utin#s8 un# l# 2# conocid# t#0l# de con-e si1n, ot # su0 utin# un et# do %ue se -i 3 co!o tie!"o de -isu#liA#ci1n ent e d#to 2 d#to 2 t#!0i7n ent e inc e!ento e

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

50

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

inc e!ento, ot o et# do tend 3 l# !isi1n del tie!"o de e+ esco ent e dis"l#2 2 dis"l#2, 2 es !eno %ue el #nte io et# do en cu#nto # tie!"o) Co!o c#so es"eci#l en el " o. #!# del et# do de -isu#liA#ci1n, -e!os %ue se encuent # l# utin# de !ost # ent e l# del et# do, esto es "o %ue si se *#cen utin#s indi-idu#les, el e+ecto se i# el de -e un 0 e-e tie!"o los n6!e os en el dis"l#2 2 !#s o !enos 1 se.undo #"#.#do, de0ido # %ue el PIC no "uede *#ce 2 #cti-id#des # l# -eA, entonces lo %ue se *#ce es "o c#d# dec e!ento del et# do de -isu#liA#ci1n, se e"ite l# su0 utin# de !ost # , "# # %ue sie!" e est7n ilu!in#dos) T#!0i7n es de !encion# %ue "o est# !#ni"ul#ndo e p2er#o A, de0e!os esc i0i en el C(CON e da#o de L, "# # dej# los "ines del "ue to A co!o "ue tos di.it#les) DIAHRA(A DE F/UJO DE/ 8ROHRA(A INICIO
CONFI= DE FANCOS FORRAR PORTF FORRAR PORTA FORRAR ENID FORRAR DEC

RETARDO
CONT1DI +250 CONT2 DI +250

NOSTRAR
CONT1 D CONT1A1

RETARDO
ENIDD ENIDA1

NO NO
CONT1 D 10K

ENID D 10K

SI

SI
ENID D 0 DECD DECA1

CONT1 DI+250
CONT2 D CONT2A1

NO NO SI RETERN
CONT1 D 10K

DEC D 10K

SI DEC D 0

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

51

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

NOSTRAR ENID DI W DEC DI W

TAFLA WDI PORTF

TAFLA WDI PORTF

1DI RA0

1DI RA1

REFRSCO 0DI RA0

REFRESCO 0DI RA1

RETERN

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

52

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRO+RAMA EN MPLAB PARA LA PRACTICA DE M(LTIPLE*ADO D EL CONTADOR DE !! A 88


LIST INCLFDE
UNID CONT1 CONT2 CONT$ CONT4 CONT" DEC EQU EQU EQU EQU EQU EQU EQU ORG GOTO ORG ADD)F RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) MOVL) MOV)F BSF MOVL) MOV)F MOVL) MOV)F BCF CLRF CLRF CLRF CLRF CALL INCF MOVL) SUB)F BTFSS GOTO CLRF INCF MOVL) SUB)F BTFSS GOTO CLRF CLRF GOTO

PI16F628 NP16F628)INCO
20 21 22 2$ 24 2" 26 00 INICIO 0" PCL(F B*01111110* B*00001100* B*10110110* B*10011110* B*11001100* B*11011010* B*11111010* B*00001110* B*11111110* B*11011110* .7 CMCON STATUS,RP0 B*00000000* TRISB B*00000000* TRISA STATUS,RP0 PORTB PORTA UNID DEC RETARDO UNID(F .10 UNID() STATUS(0 ARRIBA UNID DEC(F .10 UNID() STATUS(0 ARRIBA DEC UNID ARRIBA

TABLA

;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE

EN EL EL EL EL EL EL EL EL EL

EL DISPLA+ EL CERO UNO DOS TRES CUATRO CINCO SEIS SIETE OC.O NUEVE

INICIO

;PARA DES.ABILITAR LOS COMPARADORES + ;DE2AR DIGITAL EL PUERTO A ;SELECCIONA BANCO1 ;DE RB7 A RB0 SALIDAS ;DE RA0 A RA4 COMO SALIDAS ;AL BANCO0 ;BORRAR EL PUERTOB

ARRIBA

;EN EL RETARDO SE INCLU+E LA VISUALI0ACION ;MULTIPLE5ADA ;SUMAMOS 1 A UNID COMO UNIDADES ;MIRAMOS SI CONTA ES IGUAL A 10( SI LO ES LA ;RESTA SERA IGUAL A CERO + AFECTARA 0 ;PREGUNTAMOS SI LA OPERACION DIO CERO ;SI NO VUELVA A START ;DE2AMOS A UNID EN CERO ;INCREMENTO EN 61 A DEC COMO DECENAS ;MIRAMOS SI EL CONTENIDO DE DEC ES IGUAL A 10 ;BORRA A DEC + EL CONTEO VUELVE A CERO ;BORRA TAMBIEN UNID

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

53

NIVEL 1 PIC 16F628


RETARDO MOVL) MOV)F MOVL) MOV)F MOVL) MOV)F CALL DECFSZ GOTO MOVL) MOV)F DECFSZ GOTO MOVL) MOV)F DECFSZ GOTO .2 CONT$ .10 CONT2 .10 CONT1 MOSTRAR CONT1,F ! 2 .10 CONT1 CONT2,F ! 6 .10 CONT2 CONT3,F ! .10

TEORIA Y PRACTICA

;SUBRUTINA ENCARGADA DE VISUALI0AR LOS DATOS ;EN LOS DISPLA+S ;DECREMENTE LA VARIABLE CONT1 1 SALTA CUANDO ;LLEGA A 0 ;! 2 SIGNIFICA QUE RETROCEDA DOS LINEA ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR EL ;ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA CUANDO ;LLEGA A CERO ;! 7 RETROCEDE 7 LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO

;RETROCEDE 11 LINEAS EN EL PROGRAMA( EL ;PUNTO ES PARA DECIRLE QUE EL DATO ES EN ;DECIMAL RETURN ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE ;LLAM' ;///////////////////////////////////////////////////// MOSTRAR CLRF PORTA MOVF UNID() ;SE MUEVE EL CONTENIDO DE UNID A ) CALL TABLA ;SE LLAMA LA TABLA MOV)F PORTB BSF PORTA(1 ;SE ACTIVA EL DISPLA+ DE UNIDADES CALL RETVER ;RETARDO DE VISUALI0ACION + REFRESCO BCF PORTA(1 ;SE APAGA DISPLA+ DE UNIDADES MOVF DEC() ;DE DEC A ) CALL TABLA ;TABLA PARA EL ENCENDIDO DE LOS DISPLA+S MOV)F PORTB BSF PORTA(0 ;SE ENCIENDE DISPLA+ DE DECENAS CALL RETVER ;RETARDO DE VISUALI0ACION BCF PORTA(0 RETURN ;////////////////////////////////////// RETVER ;RETARDO DE VISUALI0ACION DE LOS DISPLA+S MOVL) .100 MOV)F CONT4 MOVL) .10 MOV)F CONT" DECFSZ CONT4,F GOTO ! 1 MOVL) .100 MOV)F CONT4 DECFSZ CONT5,F GOTO ! " RETURN END

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

PRACTICA 8

54

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

ROTACI@N DE (N DATO A TRA"ES DE (N RE+ISTRO


L# " #ctic# en est# oc#si1n consisti 3 en l# utiliA#ci1n de dos inst ucciones, cu2# #cci1n es l# de ot# el -#lo de un e.ist o en sentido # l# de ec*# o # l# iA%uie d#) En est# " #ctic# se *# 3 con 8 leds ot# l# ilu!in#ci1n co!o si +ue # l#s luces de KITT de es# se ie de TC ll#!#d# el #uto +#nt3stico) As/ tend 3 ese e+ecto de luces secuenci#les) P i!e o un led "e !#nece encendido 2 lue.o c#!0i# # #l si.uiente led continuo, lue.o des"u7s de i #l 8-o -ol-e 3) P# # lo. # esto, -e#!os co!o +uncion#n est#s inst ucciones8 ROTAR E/ DATO A /A I<MUIERDAF E4iste un# inst ucci1n ll#!#d# RLF, l# cu#l si.ni+ic# ot# # l# iA%uie d# el -#lo e.ist o en un# "osici1n, lo %ue %uie e deci %ue el d#to se co e 3 # l# iA%uie d# un# "osici1n) Est# inst ucci1n est# #co!"#&#d# con el 0it del c# 2, lo %ue %uie e deci %ue co!o todo el d#to se co e un# "osici1n # l# iA%uie d#, el ;!o 0it co e #l c# 2, 2 el contenido del c# 2 co i1 #l 0it 9 del e.ist o %ue se !o-i1) El esult#do de est# o"e #ci1n "uede se .u# d#do en M o en el !is!o e.ist o %ue se solicito ot# ROTACI@N (NA POSICI@N A LA I>C(IERDA

RB;

RB6

RB(

RB<

RB'

RB2

RB1

RB9

0
CARRD

EEe*p o de a ro#acinF
(O)/W (O)WF 9CF R/F 9Y10000000Y REH1 STATUS,C REH1,F PSE CARGARA A REG1 CON ESTE CALOR PASEGFRABOS QFE EL CARRE ESTE EN CERO PSE ROT] EL REGISTRO REG1 A LA IDQFIERDA

DESPF^S DE LA INTRFCCION REG1 I B[99999999[, E EL CARRE CALE 1) XAGABOS OTRA ROTACI]N A LA IDQFIERDA8 R/F REH1,F PSE ROT] DE NFECO FNA POSICIO A LA DERECXA

DESPF^S DE LA INSTRFCCI]N REG1 IB[99999991[, E EL CARRE CALE 0)

ROTACION A /A DERECQA
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

55

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

E4iste l# inst ucci1n co!"le!ent# i# ll#!#d# RRF, l# cu#l si.ni+ic# ot# # l# de ec*# el -#lo e.ist o en un# "osici1n, lo %ue %uie e deci %ue el d#to se co e 3 # l# de ec*# un# "osici1n) Est# inst ucci1n est# #co!"#&#d# con el 0it del c# 2, lo %ue %uie e deci %ue co!o todo el d#to se co e un# "osici1n # l# de ec*#, el 0it9 co e #l c# 2, 2 el contenido del c# 2 co i1 #l 0it ; del e.ist o %ue se !o-i1) El esult#do de est# o"e #ci1n "uede se .u# d#do en M o en el !is!o e.ist o %ue se solicito ot# )

ROTACI@N (NA POSICION A LA I>C(IERDA

RB;

RB6

RB(

RB<

RB'

RB2

RB1

RB9

0
CARRD

EEe*p o de a ro#acinF
(O)/W (O)WF 9CF RRF 9Y00000001Y REH1 STATUS,C REH1,F PSE CARGARA A REG1 CON ESTE CALOR PASEGFRABOS QFE EL CARRE ESTE EN CERO PSE ROT] EL REGISTRO REG1 A LA DERECXA

DESPF^S DE LA INTRFCCION REG1 I B[91999999[, E EL CARRE CALE 1= XAGABOS OTRA ROTACI]N A LA IDQFIERDA8 RRF REH1,F PSE ROT] DE NFECO FNA POSICIO A LA DERECXA

DESPF^S DE LA INSTRFCCI]N REG1 IB[19199999[, E EL CARRE CALE 0)

N(ESTRO CIRC(ITO DE PRACTICA Co!o se *#0/# co!ent#do #ntes, se *# 3 un#s luces secuenci#les, us#ndo el "ue to B "# # este o0jeti-o) El ci cuito t #0#j# # !#s o !enos #s/8 Inici# # encendido el led del "in RB9, es"e # 3 !#s o !enos 1 se.undo 2 ot# 3 # l# iA%uie d#, %ued#ndo encendido el "in RB1, 2 se *# 3 est# secuenci# *#st# %ue lle.ue #l "in de RB;) Cu#ndo esto ocu e, es"e # un se.undo 2 ot# 3 "e o # l# de ec*#, ose# # RB6 2 es"e # # un se.undo, este ciclo se e"ite *#st# %ue el led encendido se# el de RB9, 2 de nue-o se e"eti 3 est# secuenci#)
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

56

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO DEL PRO+RAMA INICIO


CONFI= DEL PIC

FORRAR PORTF

FORRAR CARRY

1DI RF0
ROTAR IUV PORTF

NO RF7 D 1K SI
RETARDO 1SE= RETARDO 1SE=

NO RF0 D 1K SI
RETARDO 1SE= ROTAR DER PORTF

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

57

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

8ROHRA(A EN (8/A9 8ARA /AS /UCES SECUENCIA/ES


LIST INCLUDE CONT1 CONT2 CONT$ EQU EQU EQU ORG GOTO ORG BSF MOVL) MOV)F BCF CLRF BCF BSF STARTI STARTD BTFSS GOTO BTFSS GOTO CALL GOTO PI16F628 <P16F628.INC> 20 21 22 00 INICIO 0" STATUS,RP0 B*00000000* TRISB STATUS,RP0 PORTB STATUS(C PORTB(1 PORTB(7 ROTAI0 PORTB(0 ROTADER RETARDO STARTI ;REGISTROS PARA EL ANIDAMIENTO

INICIO

;SELECCIONA BANCO1 ;PUERTO RB COMO SALIDA ;AL BANCO0 ;BORRAR EL PUERTOB ;SE PONE A CERO EL BIT DEL CARR+ PARA ;ASEGURAR QUE SEA CERO ;SE PONE ESTE ESTADO DEL BIT A ROTAR

;///////////////////////////////

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

58

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

ROTADER

CALL RRF GOTO

RETARDO PORTB(F STARTD

;ROTE A LA DEREC.A EL PUERTOB

;//////////////////////////////// ROTAI0 CALL RETARDO ;TIEMPO PARA VISUALI0AR CADA POSICION ;DE ROTACION RLF PORTB(F ;ROTA A LA I0QUIERDA EL CONTENIDO DE . . ; PORTB GOTO STARTI ;/////////////////////////////////// RETARDO MOVL) .6 MOV)F CONT$ MOVL) .2"0 MOV)F CONT2 MOVL) .2"0 MOV)F CONT1 DECFSZ GOTO MOVL) MOV)F DECFSZ GOTO MOVL) MOV)F DECFSZ GOTO RETURN END CONT1(F ! 1 .2"0 CONT1 CONT2(F ! " .2"0 CONT2 CONT$(F ! # ;DECREMENTE LA VARIABLE CONT1 1 SALTA ;CUANDO LLEGA A 0 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ;ANTES ;SE RECARGA NUEVAMENTE EL REGISTRO POR ; EL ANIDAMINETO ;DECREMENTE LA VARIABLE CONT2 1 SALTA ;CUANDO LLEGA A CERO ;! " RETROCEDE " LINEAS EN EL PROGRAMA ;SE RECARGA CONT2 POR EL ANIDAMIENTO ;RETROCEDE # LINEAS EN EL PROGRAMA ;CUANDO CONT$ SEA CERO RETORNA DE DONDE ; SE LLAM'

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

59

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 8

LED INTERMITENTE POR MEDIO DEL RE+ISTRO TMR!


El " o. #!# "e !ite encende 2 #"#.# un led en RB; !edi#nte l# te!"o iA#ci1n "o el e.ist o T(RO) En este " o. #!# -#!os # conoce un nue-o ecu so %ue "osee el PIC 16F628 %ue se ll#!# TBR9) TBR9 no es ot # cos# %ue un e.ist o de 8 0its %ue nosot os "ode!os c# .# con un -#lo desde 99 *#st# FF en *e4#deci!#l) El uso de l# te!"o iA#ci1n se us# en c#si tod#s l#s #"lic#ciones, se!3+o os, #l# !#s, #cceso con cl#-e, #scenso es, co!unic#ci1n, etc) Al i.u#l %ue ten/#!os dos e.ist os TRISA 2 TRISB %ue con+i.u #0#n los "ines de los "ue tos co!o ent #d#s o s#lid#s) En l# te!"o iA#ci1n tene!os el e.ist o OPTION en el 0#nco 1, %ue le con+i.u # 3 el e.ist o TBR9 del 0#nco 9, 2# se# co!o te!"o iA#do o cont#do )

RE+ISTRO OPTION

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

60

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

(edida de #ie*po en 2n *icro, e"#V "2Ee#a a #re" #e*a"F Oscil#do e4te no Re.ist o TBR9 Di-iso de F ecuenci# El oscil#do e4te no c eo %ue 2# s#0en "e o *#.o eco d# , es el %ue !e de+ine l# -elocid#d del ciclo de inst ucci1n, 2 cu#ndo us#!os un oscil#do de c ist#l de cu# Ao =$T> de <B*A, tene!os 1 !ic ose.undo de ciclo de inst ucci1n) El e.ist o TBR9 de 8 0its se con+i.u # co!o te!"o iA#do "# # dete !in# inte -#los conc etos de tie!"o o co!o cont#do de i!"ulsos e4te nos ) EL di-iso de F ecuenci#, co!o su no!0 e lo dice di-ide l# + ecuenci# de eloj, %ue es lo !is!o deci %ue #u!ent# l# du #ci1n de los i!"ulsos de eloj) L# co!0in#ci1n 0in# i# de los 0its PS9, PS1 2 PS2, del e.ist o OPTION !e de+inen el #n.o del di-iso de + ecuenci#s) El -#lo c# .#do en el TBR9, es #%uel -#lo %ue le +#lt# # este e.ist o "# # %ue lle.ue # 2(( =-#lo !34i!o "# # un e.ist o de 8 0its>) EJE(8/O8 Si "o so+tM# e c# .o un -#lo de 12( en el e.ist o TBR9, entonces el -#lo %ue inte -iene en l# +1 !ul# es 1'9, -#lo %ue +#lt# "# # %ue se# des0o de =lle.ue # 2((> el e.ist o TBR9 =2((H12(I1'9>)

DIA+RAMA DE BLOC(ES DE TMR!

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

61

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Re!i"#ro de Con#ro de In#err2pcione" INTCON Este e.ist o ocu"# l# di ecci1n 9BX del 0#nco 9 2 0#nco 1

DES9ORDA(IENTO DE/ T(R0 Cu#ndo el TBR9 se des0o d# 2 "#s# del -#lo de FFX # 99X, el se&#liA#do o 0#nde # TOIF se "one #uto!3tic#!ente en 1)Cu#ndo se c# .# el TBR9 con un -#lo n en deci!#l, cuent# =2(6Hn> i!"ulsos, el tie!"o se cuent# !edi#nte l# si.uiente +o !ul#8 Te*pori0acion = 1U" & 4 >PA.n7 & Ran!o de di+i"or de frec2encia)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

62

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

SET DE INSTRUCCIONES UTI/I<ADAS EN /A 8ROHRA(ACION 1= 9SF f, 5 F Con est# inst ucci1n se "one en 1 el 0it 5 del e.ist o f

EEe*p o8 Si se tiene en el "ue to A = PTOA > I 1919 2 se %uie e coloc# en FNO el te ce 0it, l# inst ucci1n es l# si.uiente8 9SF 8ORTA , ;= >= 9TFSS s#lt# ) f, 5 F = BIT TEST FILE SKIP IF SET > E4"lo # un 0it del e.ist o f 2 si -#le uno)

EEe*p o 8 E4"lo # si el 0it 9 del e.ist o STATFS -#le uno) si es #s/ s#lt# # l# di ecci1n CONTINFAR si no s#lt# # l# di ecci1n SIGFE8 BTFSS GOTO GOTO STATFS,9 SIGFE CONTINFAR

eZp icacion de pro!ra*a


Al c# .# el e.ist o o"tion se #si.n# co!o di-iso de + ecuenci# 2(6) Al no #si.n# un -#lo #l TBR9 el #uto!#tic#!ente cuent# de 9 #2(6) Si.ni+ic# %ue con un c ist#l de <BXA l# te!"o iA#cion tiene un -#lo de8 Te*pori0acion = CI Z TBR9 Z DF Te*pori0acion = 1Fs Z 2(6 Z 2(6 = 6&B&m. Fr*2 a para ca c2 ar #ie*po" *a" a*p io" 2#i i0ando 2n con#ador Se #cti-# el e.ist o de inte u"ciones "o TBR9) L# -# i#0le REG1 es c# .#d# con 1( 2 se enciende el Led del "ue to RB;P se !#ntiene en un ciclo *#st# cu#ndo se " oduce un# inte u"ci1n l# cu#l es o i.in#d# "o l# te!"o iA#ci1n del TBR9, en el eje!"lo #nte io si.ni+ic# %ue cu#ndo *#2#n t #nscu idos 6()(!s se " oduce un# inte u"ci1n, este tie!"o es !ulti"lic#do "o 1( esto e%ui-#le # =1(_6(!s I 1se.undo #" o4>P du #nte el cu#l se !#ntiene encendido el led P Cu#ndo el cont#do lle.# # ce o 2 se .ene # un# nue-# inte u"ci1n, 2 se te!"o iA# nue-#!ente "e o "# # !#ntene el led #"#.#do du #nte 1s )

TI

=TBR9>

=Di-iso de Fecuenci#>

=Ciclos Inst uc>

=Cont#do >

C#lo B#4 >PA :

C#lo B#4 >PA

1 1 "

C#lo B#4 >PP

EJEMPLO: Con#ador I 1 Se.undo I 1)999)999 uS TBR9& D)F) 2(6 & 2(6 Tie*po 4"e!7

I 1)999)999 I 1P,> 1P 6()('6

Con#ador

1 1(

> '9

; <(

K 69

P ;(
63

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

N(ESTRO CIRC(ITO PROP(ESTO Se!ej#nte # l# " #ctic# nu!e o 2, "e o est# -eA se e!"le# # un et# do, "e o no en +o !# de #nid#!iento, sino est# -eA se e+ectu# # e!"le#ndo l#s c# #cte /stic#s del T(R0) Se e!"le# # el TBR9 # su !34i!o di-isi1n, %uie e deci %ue su " eesc#l# o " eesc#le est# 3 # un# " o"o ci1n de 1F>PA, 2 se es"e # 3 # %ue el +l#. o l# 0#nde # del e.ist o INTCON, T0IF, se "on.# # 1, indic#ndo %ue *# ocu ido un des0o d#!iento del TBR9, "o c#d# des0o d#!iento, dec e!ent# # l# -# i#0le REG1, el cu#l #l !ulti"lic# 1( des0o d#!ientos =-#lo del e.ist o REG1 I)1(> , se cu!"li 3 un se.undo #" o4i!#d#!ente) Cu#ndo REG1 lle.ue # ce o, entonces to!# # #cci1n so0 e si encende o #"#.# el led, de"endiendo de l# condici1n en %ue lo encuent e) El led est# 3 conect#do "o RB;, 2 se # inte !itente, "ues e!"le# # un et# do, lue.o enciendeP un et# do 2 lue.o se #"#.#) DIA+RAMA DE FL(AO DEL PRO+RAMA INICIO
CONFI= DEL PIC RE=ISTRO OPTIONWRE=

0 DI INTCON" T0IF

0 DI INTCON" T0IF RE=1 D +15 FORRAR TNR0 NO T0IFD1K SI RE=1 D RE=1-1 RF7 D 1 1 DI RF7 RE=1 D 0K

0 DI RF7

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

64

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

8ROHRA(A EN (8/A9 8ARA E/ /ED INTER(ITENTE CON T(R0


LIST INCLUDE
REG1 EQU ORG GOTO ORG BSF MOVL) MOV)F MOVL) MOV)F BCF CLRF BCF MOVL) MOV)F

P=16F628 <P16F628.INC>
20 00 INICIO 0" STATUS(RP0 B*00000000* TRISB B*10000111* OPTION7REG STATUS(RP0 PORTB INTCON(T0IF .1" REG1

INICIO

;SELECCIONA BANCO1 ;PUERTO RB COMO SALIDA ;PARA PROGRAMAR EL TMR0( PREESCALER ;AL BANCO0 ;BORRAR EL PUERTOB ;SE PONE A CERO EL FLAG DE TMR0 PARA SABER ;SI SE DESBORDA( CUANDO SE PONE EN UNO ;SE CARGA CON 1"( PARA QUE LOS ;DESBORDAMIENTOS DEL TMR0 SUMEN APRO5 1 SEG ;BORRAMOS A TMR0 COMO UN RESET ;C.EQUEAMOS SI +A SE PUSO A UNO EL FLAG DE ;TMR0 POR DESBORDAMIENTO ;SI NO VUELVA + PREGUNTE ;BORRAMOS ESTE FLAG( PUES ES UN REQUISITO( ;PARA OTRO DESBORDAMIENTO ;POR CADA DESBORDAMIENTO SE DECREMENTA ;REG1 ,PARA QUE DURE 1 SEGUNDO;PREGUNTA ESTADO DE RB7( PARA ENCENDERLO O ;APAGARLO ;SI ESTABA ENCENDIDO QUE LO APAGUE ;VUELVE A CARGAR CON 1" REG1 PARA OTRO ; CICLO

CARGA

CLRF
START BTFSS GOTO BCF DECFS0 GOTO BTFSS GOTO BCF GOTO BSF GOTO END

TMR0
INTCON(T0IF ! 1 INTCON(T0IF REG1(F START PORTB(7 LEDON PORTB(7 CARGA PORTB(7 CARGA

LEDOFF . LEDON

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

65

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 1!

(SO DEL P(ERTO RA$/T!C%I CON EL RE+ISTRO TMR!


P# # !encion# l#s c# #cte /stic#s de este "in, tiene co!o +unciones se un "ue to de ent #d#s L s#lid#s di.it#les o se l# ent #d# de un eloj e4te no, el cu#l #+ect# 3 di ect#!ente #l e.ist o TBR9, cu#ndo se seleccion# en el e.ist o OPTION`REG, TOCS) Est# se&#l *# 3 %ue se.6n el -#lo de " eesc#le del t! 9 , este se i 3 inc e!ent#ndo) Fn uso co!6n, es cu#ndo %ue un e.ist o se inc e!ente # un# -elocid#d lent#, 2 co!o los ciclos de inst ucci1n son tod#-/# !u2 3"idos, se us# un# +uente oscil#do # !uc*o !#s lent#) Pe o en e#lid#d, +unciones "# # esto son li!it#d#s solo # l# i!#.in#ci1n del dise&#do ) El o0jeti-o de l# " #ctic# se 3 el de en-i# un# se&#l de eloj de un !edio e4te no, en el c#so se us# 3 un /(PPP "# # .ene # est# se&#l, u ot # +uente, e incluso un "uls#do , 2 cu#ndo el e.ist o del TBR9 #lc#nce cie to -#lo , inc e!ent# 3 un cont#do %ue -# de ce o # : # t #-7s del "ue to A) A este "ue to, %ue no !#l!ente es de colecto #0ie to cu#ndo se us# co!o "ue to de s#lid#, ="o deci lo #s/ se e%uie e de un# esistenci# "# # %ue .ene e el est#do #lto>, 2 cu#ndo es ent #d# "uede se "# # ent #d# di.it#l , o %ue se dese# *#0ilit# l# c# #cte /stic# de inc e!ent# el t! 9 "o c#d# +l#nco, se# de su0id# o de 0#j#d#, esto se dete !in# en el 0it de TOSE del e.ist o O8TION[REH, =det#ll# en l# *oj# #nte io >, esto "# # %ue el TBR9 se inc e!ente # cie t# + ecuenci#, 2 co!o se !enciono de"ende en . #n "# te del -#lo #si.n#do #l " eesc#le ) En el di#. #!# es%ue!3tico del ci cuito, se o0se -# 3 %ue l# +uente del eloj us#d# = en el c#so del un ((( "o el "in ' %ue es su s#lid#>, su + ecuenci# e4te n# no e4cede 3 !#s >@Q0, "o lo %ue no *#2 " o0le!# con el PIC, 2# %ue si se in. es# un# + ecuenci# !u2 . #nde incluso !#s . #nde %ue l# del oscil#do del PIC, "uede %ue e4ist#n #l.un#s +#ll#s , "o lo %ue se eco!iend# no us# un# + ecuenci# !#s #lt# %ue los a de l# + ecuenci# del PIC, "e o estos -#lo es no son c /ticos 2 "ueden -# i# se.6n el dise&o) N(ESTRO CIRC(ITO DE PRACTICA Nuest o ci cuito de " #ctic# consisti 3 en %ue "o !edio de un (((, se .ene # 3 un# se&#l de eloj =+ ecuenci#>, del o den de XA *#st# *VZi*o >@Q0 con el c#"#cito 2 esistenci#s d#d#s en el es%ue!3tico, 2 l# s#lid# de este "in ='> del ((( i # # l# ent #d# del PIC "o el "ue to RAK, "o ende #+ect# # el e.ist o TBR9 2# con+i.u #do, de t#l +o !# %ue c#d# 8 ciclos del (((, el TBR9 se inc e!ent# 3 un# -eA =" eesc#le >, 2 cu#ndo el -#lo de TBR9 lle.ue # B[99999199[, entonces inc e!ent# 3 un cont#do en un# unid#d, este ilust #do # t #-7s del "ue to A co!o s#lid# 2 us#ndo el decodi+ic#do ;<<;, 2 el conteo i # de ce o # nue-e) Lue.o se 0o # 3 el t !9 "# # %ue el ciclo se cu!"l# de nue-o) Reco de!os %ue "o !#ni"ul# el "ue to A co!o s#lid# "# # -e el conteo, se de0e in*#0ilit# los co!"# #do es co!o se *#0/# !encion#do en ot #s .u/#s, c# .#ndo el e.ist o C(CON con =L=

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

66

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIAHRA(A DE F/UJO DE/ 8ROHRA(A


INICIO
CONFI=ERAR EL PIC Y DEL TNR0 EN EL RE=IST OPTION

FORRAR TNR0
NO

CONTA DI 0

TNR0"3 D 1K

CONTA DI W

SI
CONTAD CONTAA1

W DI PORTA
CONTA D 10K

NO SI

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

67

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRO+RAMA EN MPLAB PARA LA MANIP(LACI@N DEL &&& CON EL P(ERTO RA$/T!C%IB


LIST INCLUDE EQU ORG GOTO ORG MOVL) MOV)F BSF MOVL) MOV)F MOVL) MOV)F BCF CLRF CLRF MOVF MOV)F CLRF BTFSS GOTO INCF MOVL) SUB)F BTFSS GOTO GOTO END P=16F628 <P16F628.INC> 20 00 INICIO 0" .7 CMCON ;IN.ABILITAMOS LOS COMPARADORES INTERNOS STATUS,RP0 ;SELECCIONA BANCO1 B*11110000* ;PUERTO RA0 A RA$ COMO SALIDA RA4 COMO TRISA B*10100010* OPTION7REG STATUS,RP0 PORTA CONTA CONTA() PORTA TMR0 TMR0($ ! 1 CONTA(F .10 CONTA() STATUS(0 AAA START ;PARA PROGRAMAR EL TMR0( CON CICLOS DE ;RA43TOC8I + PREESCALER A 194 ;AL BANCO0 ;BORRAR EL PUERTOA ;BORRA EL REGISTRO PARA INICIAR ;ESTAS INTRUCCIONES SON PARA VISUALI0AR EN ;DISPLA+ A.COMUN ;SE PREGUNTA SI ESTE BIT +A LLEGO A 1 POR ;LOS INCREMENTO DEL """ POR RA4 ;SI +A LLEGO A UNO EL TMR0($ INCREMENTE EL ;DISPLA+ EN 1 ;SI +A LLEGO A 10( VUELVA A CERO EL CONTEO

CONTA

INICIO

ENTRADA

START AAA

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

68

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 11

LED INTERMITENTE A TRA"ES DE (NA INTERR(PCION POR EL RE+ISTRO TMR!


El " o. #!# "e !ite encende 2 #"#.# un led en RB; !edi#nte l# te!"o iA#ci1n "o el e.ist o TBRO ,"e o est# te!"o iA#cion se lle-# 3 # c#0o 6nic#!ente # t #-7s de un# inte u"ci1n .ene #d# "o el des0o d#!iento del e.ist o TBR9) TBR9 no es ot # cos# %ue un e.ist o de 8 0its %ue nosot os "ode!os c# .# con un -#lo desde 99 *#st# FF en *e4#deci!#l) Lo %ue *#ce di+e ente # este e.ist o de todos los de!3s es %ue nos "uede .ene # un# inte u"ci1n en el " o. #!# s/ nosot os con+i.u #!os #decu#d#!ente ot o e.ist o ll#!#do INTCON = e.ist o de cont ol de inte u"ciones> %ue t#!0i7n -# # se el o0jeto de nuest o estudio, i.u#l %ue el e.ist o OPTION, todo con el +in de #" ende # !#nej# l# te!"o iA#cion en un " o. #!# de !ic ocont ol#do ) Al i.u#l %ue ten/#!os dos e.ist os TRISA 2 TRISB %ue con+i.u #0#n los "ines de los "ue tos co!o ent #d#s o s#lid#s) En l# te!"o iA#ci1n tene!os el e.ist o OPTION en el 0#nco 1, %ue le con+i.u # 3 el e.ist o TBR9 del 0#nco 9, 2# se# co!o te!"o iA#do o cont#do ) Fr*2 a para ca c2 ar #ie*po" Al c# .# el e.ist o o"tion se #si.n# co!o di-iso de + ecuenci# 2(6) Al no #si.n# un -#lo #l TBR9 el #uto!#tic#!ente cuent# de 9 #2(6) Si.ni+ic# %ue con un c ist#l de <BXA l# te!"o iA#cion tiene un -#lo de8 Te*pori0acion I CI 4 TBR9 4 DF Te*pori0acion I 1Fs 4 2(6 4 2(6 I 6&B&m. L# !edid# de tie!"o en un !ic o, est3 sujet# # t es te!#s8
O"ci ador eZ#erno Re!i"#ro T(R0 Di+i"or de Frec2encia

El oscil#do e4te no c eo %ue 2# s#0en "e o *#.o eco d# , es el %ue !e de+ine l# -elocid#d del ciclo de inst ucci1n, 2 cu#ndo us#!os un oscil#do de c ist#l de cu# Ao =$T> de <B*A, tene!os 1 !ic ose.undo de ciclo de inst ucci1n) El e.ist o TBR9 de 8 0its se con+i.u # co!o te!"o iA#do "# # dete !in# inte -#los conc etos de tie!"o o co!o cont#do de i!"ulsos e4te nos )EL di-iso de F ecuenci#, co!o su no!0 e lo dice di-ide l# + ecuenci# de eloj, %ue es lo !is!o deci %ue #u!ent# l# du #ci1n de los i!"ulsos de eloj) L# co!0in#ci1n 0in# i# de los 0its PS9, PS1 2 PS2, del e.ist o OPTION !e de+inen el #n.o del di-iso de + ecuenci#s) El -#lo c# .#do en el T(R0, es #%uel -#lo %ue le +#lt# # este e.ist o "# # %ue lle.ue # 2(( =-#lo !34i!o "# # un e.ist o de 8 0its>)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

69

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

EAEMPLO/ Si "o so+tM# e c# .o un -#lo de 12( en el e.ist o TBR9, entonces el -#lo %ue inte -iene en l# +1 !ul# es 1'9, -#lo %ue +#lt# "# # %ue se# des0o de =lle.ue # 2((> el e.ist o TBR9 =2((H12(I1'9>) DIA+RAMA DE BLOC(ES DE TIMER !

INTERRU8CIONES AL i.u#l %ue l# inst ucci1n c#ll, un# inte u"ci1n !e .ene # un des-i1 del +lujo no !#l del " o. #!#, "e o l# di+e enci# sust#nci#l es %ue #l .ene # se l# inte u"ci1n, el PC no -# # cu#l%uie di ecci1n de l# !e!o i# FLASX, sino # l# "osici1n 9<, %ue es l# "osici1n ese -#d# "# # l# ll#!#d# #l t #t#!iento de l# inte u"ci1n) Qu7 es lo %ue .ene # inte u"cionesU En este ti"o de !ic ocont ol#do tene!os ( +uentes de inte u"ci1n .ene #les "o deci lo, es deci son ( l#s #Aones "o l#s %ue "uede ocu i un# inte u"ci1n est#s #Aones son8
1)Des0o d#!iento del e.ist o T(R0= 2)C#!0io de est#do en los "ines R9K . R9L del "ue to B ')Fin de esc itu # de l# EE8RO( de d#tos <)Po c#us# de un# inte u"ci1n e4te n#, "in R90RINT () C#us#d# "o los perif,rico" del PIC =Co!"# #do es, Co!"# #ci1n L c#"tu #H"M!,

!odulo de co!unic#ciones us# t, etc)> Re!i"#ro de Con#ro de In#err2pcione" INTCON P i!e o tene!os %ue *#0ilit# el HIE "# # "ode *#ce cu#l%uie ti"o de inte u"ci1n, lue.o conside #!os l#s inte u"ciones "e tinentes # nuest # #"lic#ci1n con los co es"ondientes 0its de "e !iso) Los 0its de se&#liA#ci1n son los enc# .#dos de #-is# %ue e-ento de inte u"ci1n *# ocu ido "oni7ndose # 1)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

70

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

P# # -ol-e # "one lo # 9 estos 0its de se&#liA#ci1n, de0e!os " o. #!# "o so+tM# e, "o %ue de no se #s/ no se "od 3 s#li de ellos) Du #nte el tie!"o %ue se est# ejecut#ndo l# inte u"ci1n, GIE se "one # ce o "# # e-it# tene en cuent# cu#l%uie ot o ti"o de inte u"ci1n)Si se %uie e eto n# de l# inte u"ci1n con el GIE nue-#!ente *#0ilit#do, se "one l# inst ucci1n RETFIE %ue "ond 3 # GIE #uto!3tic#!ente # 1) INTERRU8CION 8OR DES9ORDA(IENTO DE/ T(R0 Cu#ndo el TBR9 se des0o d# 2 "#s# del -#lo de FFX # 99X, el se&#liA#do o 0#nde # TOIF se "one #uto!3tic#!ente en 1) Cu#ndo se c# .# el TBR9 con un -#lo n en deci!#l, cuent# =2(6Hn> i!"ulsos) El tie!"o se cuent# !edi#nte l# si.uiente +o !ul# Te*pori0acion = < & Tosc & = 2(6Hn> & R#n.o del di-iso de + ecuenci#) SET DE INSTRUCCIONES UTI/I<ADAS EN /A 8ROHRA(ACION >= 9TFSS f, 5 F = BIT TEST FILE SKIP IF SET > E4"lo # un 0it =5> del e.ist o f 2

s#lt# si -#le uno) EEe*p o 8 E4"lo # si el 0it 9 del e.ist o STATFS -#le uno) si es #s/ s#lt# # l# di ecci1n CONTINFAR si no s#lt# # l# di ecci1n SIGFE8 BTFSS GOTO GOTO eZp icacion de pro!ra*a Al c# .# el e.ist o o"tion se #si.n# co!o di-iso de + ecuenci# 2(6) Al no #si.n# un -#lo #l TBR9 el #uto!#tic#!ente cuent# de 9 #2(6) Si.ni+ic# %ue con un c ist#l de <BXA l# te!"o iA#cion tiene un -#lo de8 STATFS,9 SIGFE CONTINFAR

te!"o iA#cion I<_T9sc_=2(6Hn>_di-iso de + ecuenci# te!"o iA#cion I <_2(9ns_2(6_2(6 I6()(!s


Se #cti-# el e.ist o de inte u"ciones "o TBR9) L# -# i#0le REG1 es c# .#d# con 1( 2 se enciende el Led del "ue to RB;P se !#ntiene en un ciclo *#st# cu#ndo se " oduce un# inte u"ci1n l# cu#l es o i.in#d# "o l# te!"o iA#ci1n del TBR9, en el eje!"lo #nte io si.ni+ic# %ue cu#ndo *#2#n t #nscu idos AP=P*" se " oduce un# inte u"ci1n, este tie!"o es !ulti"lic#do "o 1( esto e%ui-#le # =1(_6(!s I 1se.undo #" o4>P du #nte el cu#l se !#ntiene encendido el led P Cu#ndo el cont#do lle.# # ce o 2 se .ene # un# nue-# inte u"ci1n, 2 se te!"o iA# nue-#!ente "e o "# # !#ntene el led #"#.#do du #nte 1 se.undo )
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

71

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA=RANA DE FLESO DEL PRO=RANA POR INTERREPCION DE TNR0 INICIO


INTERREPCION

NO
CONFI=ERACIMN DEL PIC -RE=ISTROS OPTIONWRE= Y INTCON
RETFIE

T0IF D 1K

SI
0 DI INTCON"T0IF CONTA -1

CONTA DI +15

NO
FORRAR TNR0
RETFIE CONTA D 0K

SI
INTCON"=IE DI 1
CONTA DI +15

NO
ESPERA
1 DI RF7 RF7 D 1K

SI
RETFIE 0 DI RF7

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

72

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRO+RAMA EN MPLAB PARA (N LED INTERMITENTE POR TMRO LIST P=16F628 INCLUDE <P16F628.INC>
EQU ORG GOTO ORG GOTO 20 00 INICIO 04 INTERR

CONTA

INICIO

ORG BSF MOVL) MOV)F MOVL) MOV)F MOVL) MOV)F BCF MOVL) MOV)F

0" STATUS(RP0 B*00000000* TRISB B*10000111* OPTION_REG B*00100000* INTCON STATUS(RP0 .1" CONTA

;CUANDO .A+ INTERRUPCION SE DIRIGE A LA ;ETIQUETA DEMARCADA AQUI ;SELECCIONA BANCO1 ;PUERTO RB COMO SALIDA ;PARA PROGRAMAR EL TMR0( CON CICLOS DE ;INTRUCCION + PREESCALER A 192"6 ;GIE OFF( INTERRUPCION POR DESBORDAMIENTO ;DEL TMR0( FLAGS OFF ;AL BANCO0

;SE CARGA CON 1"( PARA QUE LOS ;DESBORDAMIENTOS DEL TMR0 ,1" EN TOTAL-( ;SUMEN APRO5 1 SEG CLRF TMR0 ;SE BORRA EL TMR0 PARA QUE EMPIECE DE CERO BSF INTCON(GIE ;.ABILITAMOS APARTIR DE A.ORA LA ;INTERRUPCION POR TMR0 GOTO $ ;SE QUEDA EN ESPERA .ASTA QUE OCURRA ALGO9 ;UNA INTERRUPCION ;////////////////////////////////////////////////////// INTERR BTFSS INTCON(T0IF ;PREGUNTAMOS SI FUE INTERRUPCION POR TMR0 RETFIE ;ESTE TIPO DE RETORNO PONE AUTOMATICAMENTE ;EL GIE EN 1 BCF INTCON(T0IF ;BORRAMOS EL FLAG POR REQUISITO DECFS0 CONTA(F ;POR CADA INTERRUCION VA DECREMENTANDO EL ;CONTA RETFIE ;SALE + ESPERA DE NUEVO MOVL) .1" MOV)F CONTA ;RECARGAMOS CONTA PARA OTRO CICLO BTFSS PORTB(7 ;PREGUNTA ESTADO DE RB7 PARA ENCENDERLO O ;APAGARLO GOTO LEDON LEDOFF BCF PORTB(7 RETFIE LEDON BSF PORTB(7 RETFIE END

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

73

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 12

ENCENDIDO D APA+ADO DE (N LED POR EL P(ERTO RB!/INT


En l# " #ctic# #nte io *e!os +o t#lecido el !#nejo de un ecu so ll#!#do TBR9 e#liA#ndo " #ctic#s con este) B#s e4#ct#!ente *e!os #" endido l#s inte u"ciones " o-oc#dos "o el des0o d#!iento del Ti!e 9) Est# -eA l# ide# es " o-oc# un# inte u"ci1n us#ndo el ecu so de l# inte u"ci1n e4te n# "o el "ue to RB9LINT) El "ue to RB9 -# # se un# ent #d# "# # l# dic*# inte u"ci1n e4te n# us#ndo un "uls#do co!o es !ost #do en l# +i.u # de # i0#) E en el "ue to RB; -#!os # "one un led %ue se -# # #"#.# o " ende c#d# -eA %ue nosot os -#!os # " o-oc# un# inte u"ci1n e4te n# us#ndo nuest o "uls#do de inte u"ci1n) Aco d7!onos %ue el !ic ocont ol#do tiene cinco +o !#s .en7 ic#s de inte u"ci1n8 1)Des0o d#!iento del e.ist o T(R0) >)C#!0io de est#do en los "ines R9K . R9L del p2er#o 9 ;)Fin de esc itu # de l# EE8RO( de da#o" K)Po c#us# de un# inte u"ci1n e4te n#, "in R90RINT P) Po los perif,rico" o !1dulos #cceso ios del "ic) Entonces -#!os # us# los !is!os e.ist os INTCON 2 OPTION solo %ue est# -eA tene!os %ue con+i.u # los un "oco di+e ente) En e.ist o INTCON se -# # con+i.u # de l# si.uiente !#ne #) Re!i"#ro INTCONF GIE 1 PEIE 9 TOIE 9 INTE 1 RBIE 9 TOIF 9 INTF 9 RBIF 9

El 0it GIE lo -#!os # "one en el 1 l1.ico "# # #cti-# el "e !iso .lo0#l "# # l# ejecuci1n de l#s inte u"ciones) El 0it INTE t#!0i7n *#2 %ue #cti-# lo en 1 "# # *#0ilit# l# inte u"ciones e4te n#s "o el "in RB9LINT de !ic ocont ol#do ) Es 0ueno t#!0i7n #se.u # se %ue el 0it de l# se&#liA#ci1n de inte u"ciones e4te n#s este 0o #do, #s/ #list3ndolo "# # l# inte u"ci1n e4te n# %ue -en.#) En el e.ist o OPTION t#!0i7n se -#n # " esent# le-es, "e o i!"o t#ntes c#!0ios) Re!i"#ro O8TIONF RPBF 1 INTEDG 9 TOCS 9 TOSE 1 PSA 9 PS2 9 PS1 9 PS9 9

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

74

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

I!%R!&!

E B'O(UES

E TI&ER )

N(ESTRO CIRC(ITO Co!o sie!" e lo " i!e o %ue -#!os # *#ce es con+i.u # los "ue tos, RB9 co!o ent #d# donde -#!os # conect# nuest o "uls#do de inte u"ciones 2 RB; co!o s#lid# donde conect#!os nuest o led) Des"ues con+i.u #!os el e.ist o O8TION donde el 0it INTEDG se "one en ce o "# # con+i.u # el +l#nco de 0#j#d# co!o inte u"cion) Lue.o #just#!os el GIE 2 0it INTE del e.ist o INTCON co!o 1 "# # #cti-# el "e !iso .lo0#l de l#s inte u"ciones, !#s e4#cto l#s inte u"cionese4te n#s "o R90RINT) Fn# -eA e#liA#d# l# con+i.u #cion nos #se.u #!os# #"#.# el led 2 se " ocede # es"e # l# inte u"cion e4te n#) Cu#ndo el " o. #!# detect# l# inte u"cion se "one # #-e i.u# el est#do del led s/ este est# #"#.#do se le enciende o -ice-e s# 2 se eto n# el " o. #!# # es"e # l# si.uiente inte u"cion)

DIA+RAMA DE FL(AO DEL PRO+RAMA


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

75

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA INTERREPCION

INICIO
CONFI=ERACIMN DEL PIC" DEL RE=ISTRO OPTIONWRE= Y INTCON" PARA INTERREPCIMN POR RF0+

NO
RETFIE
INTCON "I NTF D 1K

SI
0 DI INTCON" INTF

1DI INTCON"=IE

0 DI RF7 ESPERA

NO

RF7 D 1K

SI
0 DI RF7

RETARDO ANTIRREFOTE

RETFIE DIA+RAMA ESC(EMATICO DEL CIRC(ITO

8ROHRA(A 8ARA /A INTERRU8CION 8OR R90RINT


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

76

NIVEL 1 PIC 16F628


LIST INCLUDE EQU EQU EQU EQU ORG GOTO ORG GOTO ORG BSF MOVL) MOV)F MOVL) P=16F628 <P16F628.INC> 20 21 22 2$ 00 INICIO 04 INTERR 0" STATUS(RP0 B*00000001* TRISB B*10000000*

TEORIA Y PRACTICA

CONTA CONT$ CONT2 CONT1

;CUANDO .A+ INTERRUPCION SE DIRIGE A LA AQUI ;SELECCIONA BANCO1 ;PUERTO RB0 COMO ENTRADA ;PARA PROGRAMAR FLACO DEL RB0( EN ESTE CASO ;POR FLANCO DE BA2ADA

INICIO

MOV)F OPTION7REG MOVL) B*00010000* ;GIE OFF( INTERRUPCION POR FLACO DE RB0 MOV)F INTCON BCF STATUS(RP0 ;AL BANCO0 BSF INTCON(GIE ;.ABILITAMOS APARTIR DE A.ORA LA INT3RB0 GOTO ! ;ESPERA .ASTA QUE OCURRA UNA INTERRUPCION ;////////////////////////////////////////////////////// INTERR BTFSS INTCON(INTF ;PREGUNTAMOS SI FUE INTERRUPCION POR RB0 RETFIE ;RETORNO PONE AUTOMATICAMENTE EL GIE EN 1 BCF INTCON(INTF ;BORRAMOS EL FLAG POR REQUISITO BTFSS PORTB(7 ;PREGUNTA POR RB7 PARA ENCENDERLO O APAGARLO GOTO LEDON LEDOFF BCF PORTB(7 CALL REANTIR RETFIE LEDON BSF PORTB(7 CALL REANTIR RETFIE ;/////////////////////////////////// REANTIR MOVL) .$ MOV)F CONT$ MOVL) .180 MOV)F CONT2 MOVL) .200 MOV)F CONT1 DECFS0 CONT1(F ;DECREMENTE CONT1 1 SALTA CUANDO LLEGA A 0 GOTO ! 1 ;SIGNIFICA QUE RETROCEDA UNA LINEA ANTES MOVL) .200 MOV)F CONT1 ;SE RECARGA NUEVAMENTE DECFS0 CONT2(F ;DECREMENTE CONT2 1 SALTA CUANDO LLEGA A CERO GOTO ! " ;! " RETROCEDE " LINEAS EN EL PROGRAMA MOVL) .180 MOV)F CONT2 ;SE RECARGA CONT2 POR EL ANIDAMIENTO DECFS0 CONT$(F GOTO ! # ;RETROCEDE # LINEAS EN EL PROGRAMA RETURN ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE END ;LLAM'

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

77

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 1#

MANIP(LACI@N DE (N B(>>ER POR MEDIO DEL PIC


Es co!6n %ue # -eces necesite!os de un !edio #uditi-o "# # el econoci!iento de un# #cti-id#d, se# "o eje!"lo se cu#ndo un cont#do lle.1 # su +in, o co!o "#"el de #l# !# des"e t#do #) Los 0uAAe no !#l!ente son ele!entos !ec3nicos, %ue en un enc#"sul#do cil/nd ico, =no !#l!ente "l3stico ne. o>, el cu#l solo tienen eson#nci# en + ecuenci#s del #n.o de los ;(9 XA *#st# los (KXA, ,"e o estos -#lo es e#l!ente de"enden del +#0 ic#nte del ele!ento)

Aspecto comn de un buzzer visto desde arriba No !#l!ente estos 0uAAe tiene un# "ol# iA#ci1n , "o l# %ue de0e!os tene en cuent# #ntes de su cone4ion#do con el PIC o ci cuito # t #t# ) Su +uncion#!iento 03sico es sencillo8 el PIC o !ic ocont ol#do se enc# .# de .ene # est# se&#l o tono =de ;(9XA # (KXA #" o4i!#d#!ente>, 2 "o !edio de un t #nsisto "# # !#nej# l# c# .#, se conect# # #l 0uAAe ) Es de tene en cuent# %ue "o se un ele!ento elect o!ec3nico, .ene # 3 uido el7ct ico, "o lo %ue se eco!iend# us# +ilt os c#"#citi-os en el ci cuito, 2 " e+e i0le en "# #lelo con el 0uAAe ) N(ESTRO CIRC(ITO Nuest o ci cuito consisti 3 en %ue "o c#d# -eA %ue "ulse!os un inte u"to , inc e!ent# 3 un cont#do , !#nej#do "o un dis"l#2 de c3todo co!6n 2 un# t#0l# de d#tos, 2 t#!0i7n son# 3 el 0uAAe "o !edio de el "ue to RA', "# # !#s det#lles en el di#. #!# es%ue!3tico) El +uncion#!iento " inci"#l!ente del 0uAAe , se 0#s# en l# !#ni"ul#ci1n de un et# do =e 12e de#er*ina a frec2encia de #ra5aEo>, 2 un #nid#!iento de -# i#0les ,se!ej#nte en su est uctu # # un et# do , "# # el tie!"o en %ue du # 3 son#ndo el 0uAAe )

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

78

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

Ce#!os en el " o. #!# su +uncion#!iento8


BFDDER BOCL5 BOC5F BOCL5 BOC5F SOFND BSF CALL BCF DECFSD GOTO BOCL5 BOC5F DECFSD GOTO RETFRN )19 CONT2 )<9 CONT1 PORTA,' RET1BS PORTA,' CONT1,F SOFND )<9 CONT1 CONT2 SOFND

PCALORES QFE DIRAN POR CFANTO TIEBPO DFRARA EL PBFDDER

Al us# est# su0 utin# %ue *#ce son# el 0uAAe ocu e lo si.uiente8 Al ll#!#do de est# su0 utin#, se c# .#n unos e.ist os, enc# .#dos de dete !in# l# du #ci1n del sonido ="#"el %ue dese!"e&# CONT1 2 CONT2>) A "# ti de l# eti%uet# SOFND, -e!os %ue se #cti-# el "in de RA' =1>, lo cu#l #cti-# 3 el 0uAAe , "e o solo le en-i1 co iente, "o lo %ue solo #l 0uAAe solo *# oscil#do l# !it#d, des"u7s de l#!# un et# do, %ue en el c#so du # 1 !S, "o lo %ue #l c#lcul# l# + ecuenci#, se 3 de #" o4i!#d#!ente 1KXA) Des"u7s "# # co!"let# el ot o ciclo de oscil#ci1n, en-i#!os un ce o "o RA', 2 lue.o continu# el #nid#!iento, "o lo %ue # c#d# dec e!ento, -ol-e 3 # l# eti%uet# de sound 2 se e"eti 3 *#st# %ue CONT1 2 CONT2 se#n ce o, "o lo %ue su du #ci1n se 3 lo su+iciente "# # %ue "# eAc# de du #ci1n co!o l# "uls#ci1n) El ci cuito en .ene #l +uncion# #s/8 cu#ndo e4iste "uls#ci1n en el pin R90, ,en-/# un ce o #l PIC, cu#l #l detect# l# "uls#ci1n, ll#!# l# su0 utin# del 0uAAe , ,lue.o inc e!ent# el cont#do de 9 # : en un# unid#d) Es i!"o t#nte o0se -# %ue no e4iste et# do de #nti e0ote, esto es de0ido # %ue l# su0 utin# de 0uAAe consu!e el tie!"o su+iciente "# # ocu"# #l PIC !ient #s se disi"# el e0ote el7ct ico)

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

79

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA DE FL(AO DEL PRO+RAMA


INICIO
CONFI= DEL PIC" CONPARADORES PA=ADOS+ FORRAR PORTF FORRAR PORTA FORRAR CONTA 0DI RA3 CONT1-1

FEUUER
CONT1DI +40 CONT2DI +10 1 DI RA3 RETAR 1 1S

NO
RF0 D 0K

NO
CONT1 D 0K

SI SI
FEUUER

CONT1 XD +40 CONTA A1 CONT2-1

SI
CONTA D 10K FORRA CONTA CONT2 D 0K

NO

NO SI
CONTA DI W TAFLA W DI PORTF

RETERN

DIA+RAMA ESC(EMATICO DEL CIRC(ITO


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

80

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DISPLAD CBC

NPLAF PARA ESAR EL CONTADOR CON EL FEUUER+


CONTA CONT$ CONT2 CONT1 CONT4

LIST INCLUDE
EQU EQU EQU EQU EQU ORG GOTO ORG ADD)F RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) RETL) MOVL) MOV)F BSF MOVL) MOV)F BCF BCF CLRF

P=16F628 <P16F628.INC>
20 21 22 2$ 24 00 INICIO 0" PCL(F B*01111110* B*00001100* B*10110110* B*10011110* B*11001100* B*11011010* B*11111010* B*00001110* B*11111110* B*11011110* .7 CMCON STATUS(RP0 B*00000001* TRISB TRISA($ STATUS(RP0 PORTA

TABLA

;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE ;ENCIENDE

EN EL EL EL EL EL EL EL EL EL

EL DISPLA+ EL CERO UNO DOS TRES CUATRO CINCO SEIS SIETE OC.O NUEVE

INICIO

;IN.ABILITAMOS LOS COMPARADORES ;SELECCIONA BANCO1 ;PUERTO RB0 COMO ENTRADA ;RA$ COMO SALIDA ;AL BANCO0

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

81

NIVEL 1 PIC 16F628


CLRF CLRF BTFSC GOTO CALL INCF MOVL) SUB)F PORTB CONTA PORTB(0 ! 1 BU00ER CONTA(F .10 CONTA()

TEORIA Y PRACTICA

START

;ESTADO DEL PULSADOR ;VUELVA A PREGUNTAR POR ESTADO .ASTA QUE ;SEA CERO ;SUBRUTINA PARA .ACER SONAR EL BU00ER( ;SERVIRA COMO ANTIRREBOTE ;INCREMENTAMOS EL CONTADOR 61 ;PREGUNTAMOS SI +A ES 10( + EL RESULTADO ;SE DE2A EN )( PARA NO ALTERAR EL ;CONTENIDO DE CONTA ;FLAG DE CERO

BTFSC STATUS(0 CLRF CONTA MOVF CONTA() CALL TABLA MOV)F PORTB GOTO START ;//////////////////////////// BU00ER MOVL) .10 MOV)F CONT2 MOVL) .40 MOV)F CONT1 SOUND BSF PORTA($ CALL RET1MS BCF PORTA($ DECFS0 CONT1(F GOTO SOUND MOVL) .40 MOV)F CONT1 DECFS0 CONT2 GOTO SOUND RETURN ;////////////////////////// RET1MS MOVL) .$ MOV)F CONT$ MOVL) .111 MOV)F CONT4 LOOP DECFS0 CONT4(F GOTO LOOP MOVL) .111 MOV)F CONT4 DECFS0 CONT$(F GOTO LOOP RETURN END

;VALORES QUE DIRAN POR CUANTO TIEMPO ;DURARA EL BU00ER

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

82

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

PRACTICA 1$

MANEAO DE LA MEMORIA EEPROM INTERNA DEL PIC


En est# +#!ili# de !ic ocont ol#do es l# !e!o i# EEPROB de d#tos "uede se !odi+ic#d# sin necesid#d de utiliA# un " o. #!#do e4te io 2 # l# tensi1n no!in#l de CDD) Es deci , un " o. #!# din3!ic#!ente "uede .ene # in+o !#ci1n %ue se "uede . #0# en l# !e!o i#) Se dis"one de < e.ist os de SFR "# # lee 2 esc i0i so0 e l# !e!o i# no -ol3til, estos e.ist os son8 EECON1 , EECON2, EEDATA 2 EEADR ) P# # di eccion# l#s 128 "osiciones de !e!o i# EEPROB de 8 0its del PIC16F628 0#st# con 8 0it, "o ello "# # esc i0i o lee en l# !e!o i# EEPROB solo *#cen +#lt#n el e.ist o EEADR "# # di eccion# l# "osici1n 2 el e.ist o EEDATA "# # coloc# el d#to le/do o esc ito) Ade!3s "# # cont ol# el " oceso de lectu # 2 esc itu # de l# !e!o i# EEPROB dis"one de dos e.ist os8 el EECON1 2 el EECON2) RE+ISTROS EECON1 < EECON2 Se.uid#!ente se desc i0en los 0it de cont ol de e.ist o EECON1 GGG F&, 7 GGG ----;RERR ;REN ;R RD F&, 0

6&, 7545No imp-emen04:o.5 S( #((! c 1 90: 6&, 35 ;RERR5 F#04 .( (-- - .( (%c-&,$-0 (! #0 EEPRON 1 D E# /- c(% .( #(c,$-0 %( Y0 /- .$c&. /-(10,$-01(!,( 7%( Y0 /- .$c&. $! R(%(, / - NCLR $! WDT .$-0!,( (# /- c(% 8 0 D S( Y0 /- .$c&. (# /- c(% .( (%c-&,$-0 c ! 2H&, 6&, 25 ;REN5 6&, .( Y06&#&,0c&3! .( (%c-&,$-0 1 D P(-1&,( &!&c&0#&?0- (# c&c# .( (%c-&,$-0 0 D I!Y&6( #0 (%c-&,$-0 6&, 15 ;R5 6&, .( &!&c& .( (%c-&,$-0 1 D C$0!. %( #( / !( 0 1 c 1&(!?0 (# c&c# .( (%c-&,$-0 .( #0 1(1 -&0 ! ' #B,&#+ 7E# 6&, %( / !( .( !$(' 0 c(- / - Y0-.L0-( c$0!. #0 (%c-&,$-0 %( c 1/#(,08+ 0 D T 10 (%,( '0# - c$0!. c 1/#(,0 (# c&c# .( (%c-&,$-0 .( #0 1(1 -&0 ! ' #B,&#+ 6&, 05 RD5 6&, .( &!&c& .( #(c,$-0 1 D C$0!. %( #( / !( 0 1 %( &!&c&0 $! c&c# .( #(c,$-0+ E# 6&, RD %( / !( 0 c(- / - Y0-.L0-(+ 0 D ! Y0 c 1(!?0. (# c&c# .( #(c,$-0 .( #0 1(1 -&0 ! ' #B,&#+

El e.ist o EECON2, no est3 i!"le!ent#do +/sic#!ente 2 s1lo se utiliA# "# # l# o"e #ci1n de lectu #, de i.u#l +o !# %ue se *#ce con el PIC 16F8<, es deci , #ntes de inici# l#
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

83

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

esc itu # de un d#to en l# !e!o i#, se de0e esc i0i en el e.ist o EECON2 " i!e o el d#to ((* 2 "oste io !ente el d#to AA*) Se.uid#!ente se !uest #n un# se ie de su0 utin#s "# # l# esc itu # 2 lectu # de l# !e!o i# no -ol3til) SEFRETINA PARA LA ESCRITERA DE LA NENORIA EEPRON DE DATOS
WR EEPRON NOVF FSF NOVWF FCF NOVF FSF NOVWF FCF FSF NOVLW NOVWF NOVLW NOVWF FSF FTFSC FCF FCF DIR"W STATES" RP0 EEADR STATES"RP0 DATO"W STATES"RP0 EEDATA INTCON" =IE EECON1" WREN 55Y EECON2 AAYP EECON2 EECON1" WR EECON1"WR EECON1" WREN STATES"RP0 PE%c-&6( AAY (! EECON2 PS( .0 #0 -.(! .( (%c-&,$-0 PPRE=ENTA SI YA TERNINM DE WRITE PP- Y&6&- #0 (%c-&,$-0 .( !$(' % .0, % PFANCO0 PE%c-&6( 55Y (! EECON2 P1$('( #0 .&-(cc&3! .(%(0.0 (! #0 EEPRON PS(#(cc&3! .(# 60!c 1 .( 1(1 -&0 P.&-(cc&3! <$( %( <$&(-( 0cc(.(PFANCO0 PD0, <$( %( <$&(-( (%c-&6&PFANCO1 PDATO A ESCRIFIR PS( P- YG6(! #0% &!,(--$/c& !(%" OPCIONAL PQ06&#&,0 #0 (%c-&,$-0 (! #0 EEPRON

SEFRETINA PARA LA LECTERA DE LA NENORIA EEPRON DE DATOS RDWEEPRON


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

84

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

1 '; FCF NOVWF FSF NOP NOP NOVF FCF NOVWF

DIR STATES"RP0 EEADR EECON1"RD

PD&-(cc&3! 0 #((- .( EEPRON PS(#(cc&3! .(# 60!c 0 .( 1(1 -&0 PSE ENVIA DIRECCIMN AL RE=ISTRO PS( .0 #0 -.(! .( (;(c,$0- #0 #(c,$-0

EEDATA"W STATES"RP0 DATO

PS( -(c 4( (# .0, #(G. ) %( .(C0 (! W

PSE DESCAR=A EL VALOR EN DATO

P# # e-it# esc itu #s indese#0les en l# EEPROB !oti-#d#s "o es"6 eos en l# inici#liA#ci1n del !ic ocont ol#do , se cont ol# el 0it WREN del e.ist o EECON1, " o*i0iendo cu#l%uie o"e #ci1n de esc itu # !ient #s du #n los ;2 !s %ue te!"o iA# el Ti!e PoMe Hu")

RE+ISTROS ASOCIADOS CON LA MEMORIA DE DATOS EEPROM

Le2end#8 4 I Indete !in#do, u I Pe !#nece In-# i#0le, I ese -#doP H I No i!"le!ent#do se lee co!o 9P No se us#n l#s c7lul#s so!0 e#d#s du #nte el #cceso # EEPROB) Not# 1)H S e# de !e!o i# ese -#d#P estos 0its se !#ntienen sie!" e # ce o
DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

85

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

NUESTRO CIRCUITO El ci cuito -# # +uncion# us#ndo l# !e!o i# ee" o! , de t#l +o !# %ue c#d# -eA %ue "uls#!os un inte u"to , se inc e!ent# 3 un e.ist o %ue -# de ce o # nue-e 2 si %uit#!os l# #li!ent#ci1n 2 lue.o l# -ol-e!os # coloc# , #"# ece 3 en un dis"l#2 !#nej#do "o el decodi+ic#do ;<<;, el ulti!o nu!e o %ue -isu#liA#!os #ntes de #"#.# lo) El ci cuito !#nej# dos "osiciones de l# !e!o i# ee" o!, l# de l# "osici1n 9499, se enc# .# # de deci le #l " o. #!# si *#2 un nu!e o en !e!o i#, 2 l# di ecci1n 9491, est# 3 el nu!e o deci!#l %ue se #l!#cen1 "o ulti!# -eA) L# " i!e # "osici1n de !e!o i# =9499>, se esc i0i 3 o est# 3 el d#to 94(( indic#ndo %ue si *#2 un d#to en l# !e!o i#, "ues no !#l!ente los "ics cu#ndo no se *# !#ni"ul#do est# !e!o i#, est# 3 en el -#lo de 94FF, 2 si el " o. #!# cu#ndo lee est# "osici1n 2 el -#lo es di+e ente de 94((, . #0# # co!o nu!e o de # #n%ue 9499, esto con el +in de #se.u # de %ue se -# # !ost # en el dis"l#2 un nu!e o deci!#l) El "#"el de l# ot # "# te de l# !e!o i# =di ecci1n 9491>, se 3 l# de c#d# -eA %ue "ulse!os el inte u"to , inc e!ent# 3 un e.ist o de cont ol, 2 lue.o este -#lo lo #l!#cen# 3 en l# !e!o i# ee" o!, 2 #s/ se e"eti 3 este ciclo) P# # l# esc itu # de d#tos en l# ee" o! del PIC, se *#ce uso de su0 utin#s, 2# %ue est# #cti-id#d l# *# e!os !u2 se.uido, 2 !#ni"ul# e!os dos e.ist os # los %ue se ll#!# on DIR "# # %ue #l!#cene l# di ecci1n de l# !e!o i# ee" o! # esc i0i 2 el e.ist o DATO #l!#cen# # el d#to # esc i0i ) Ojo eco de!os %ue estos e.ist os est3n en el 0#nco9, 2 los de !#nejo de l# ee" o! est3n en el 0#nco1, "o lo %ue en l# su0 utin# se *#ce este t #sl#do # EEADR E EEDATA es"ecti-#!ente, !#s det#lle en l# su0 utin#) P# # l# lectu #, en-i#!os l# di ecci1n # lee en el e.ist o #l %ue se ll#!1 DIR, 2 lue.o de ejecut#d# l# su0 utin#, el d#to %ue conten/# est# "osici1n lle.# # desde el e.ist o EEDATA #l e.ist o DATO, este !#nejo t#!0i7n se dio en l# !is!# su0 utin# #nte io !ente -ist#)

DIAHRA(A DE F/UJO DE/ 8ROHRA(A


INICIO
CONFI=ERACIMN DEL PIC" APA=AR LOS CONPARADORES

0DI DIR H RDDATO EEPRON !*&&I


DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

86

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

SI 1 NO DIR XD 0 0*55 DI DATO RF0D0K


RETARDO ANTIREFOTE

DIR XD0*01 RD EEPRON DATO DI PORTA NO SI 3

WR EEPRON DIR XD0*01 0*00 DI DATO WR EEPRON 1

DATO D DATOA1 NO
DATO D 10 K

SI 4

WR EEPRON DIR DI EEADR 5 DATO DI EEDATA

FORRAR DATO

DIR DI 0*01

WR EEPRON

1 DI EECON1" WREN 0*55 DI EECON2

3 EECON2 DI+IT ELECTRONIC CRA 9 23 49 LOCAL 2070*AA TEL 2 DI 86 36 72 RETERN RD EEDATA DIR 1DI EECON1" DIEEPRON EEADR DI DATO RD
EECON1" WR D 0K

87

1 DI EECON1"WR

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

NO

SI 0 DI EECON1" WREN

RETERN

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

88

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

DIA+RAMA ESC(EMATICO DEL CIRC(ITO

U$ "V U2 4 L S 4 7 14 6 A7 $ <
2A 2 1A 1 7A 0 = & > ? @ A 1" # 10 11 12 1$ COMUN

D E C G B A

DP

U1 1:
RA2 RA$ RA0 R A 7 3 OSC1 RA4 R A " 3 M CR LA R6 3 O S C 2 VSS VDD RB0 RB7 RB1 RB6 RB2 RB$ RB" RB4 RA1

1"BF 4M.C 1"BF

$; & % ; " R B I R B O4

DP G F E D F C B A

PIC 16F628 S1 1:

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

89

NIVEL 1 PIC 16F628

TEORIA Y PRACTICA

8ROHRA(A EN (8/A9 8ARA /A 8RACTICA CON /A (E(ORIA EE8RO(


LIST INCLUDE EQU EQU EQU EQU EQU EQU EQU ORG GOTO ORG MOVL) MOV)F BSF MOVL) MOV)F MOVL) MOV)F BCF MOVL) MOV)F CALL MOVL) SUB)F BTFSS GOTO MOVL) MOV)F CALL CARGA MOVF MOV)F BTFSC GOTO CALL INCF MOVL) SUB)F BTFSC CLRF MOVL) MOV)F CALL GOTO P=16F628 <P16F628.INC> 20 21 22 2$ 24 2" 26 00 INICIO 0" .7 CMCON STATUS(RP0 B*00000001* TRISB B*11110000* TRISA STATUS(RP0 .0 DIR RDEEPROM ."" DATO() STATUS(0 FLAG .1 DIR RDEEPROM DATO() PORTA PORTB(0 ! 1 REANTIR DATO(F .10 DATO() STATUS(0 DATO .1 DIR )REEPROM CARGA

CONTA CONT$ CONT2 CONT1 CONT4 DIR DATO

INICIO

;IN.ABILITAMOS LOS COMPARADORES ;SELECCIONA BANCO1 ;PUERTO RB0 COMO ENTRADA ;PORTA COMO SALIDA ;AL BANCO0 ;SELECCIONANDO DIRECCION EEPROM ;SUBRUTINA PARA LEER LA EEPROM( RETORNA ;INFORMACION ;EN EL REGISTRO DATO ;COMPARA SI ES ""(REFERENCIA PARA SABER SI ;.ABIA GUARDADO ALGUN DATO

GRABAS1

;SE APUNTA A LA DIRECCION DEL ULTIMO DATO ;ESCRITO ;LEERD LA EEPROM PARA CARGAR EL ULTIMO ;VALOR ;CONTENIDO DE DATO A ) ;MUESTRA DATO EN DISPLA+ ;LEE ESTADO DEL PULSADOR( ESPERA QUE SEA ;CERO ;RETARDO DE ANTIREBOTE DEL PULSADOR ;INCREMENTA VALOR DE DATO 61 ;SI DATO ES IGUAL A 10 ;SI ES 10 BORRE + VUELVA A CERO ;DIRECCION DE LE EEPROM PARA SALVAR ESTE ;NUEVO VALOR ;SUBRUTINA PARA GUARDAR ACTUALI0ACION DE ;DATO ;VUELVA A CARGA PARA QUE ESPERE OTRA ;PULSACION

;//////////////////////////////

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

8!

NIVEL 1 PIC 16F628 FLAG MOVL) MOV)F MOVL) MOV)F CALL MOVL) MOV)F .0 DIR ."" DATO )REEPROM .1 DIR

TEORIA Y PRACTICA

MOVL) .0 MOV)F DATO CALL )REEPROM ;ESCRIBE EN LA EEPROM EL CONTENIDO DE DATO GOTO GRABAS1 ;/////////////////////////////////// REANTIR MOVL) .$ MOV)F CONT$ MOVL) .180 MOV)F CONT2 MOVL) .200 MOV)F CONT1 DECFS0 CONT1(F ;DECREMENTE LA VARIABLE CONT1 1 SALTA ;CUANDO LLEGA A 0 GOTO ! 1 ;! 1 SIGNIFICA QUE RETROCEDA UNA LINEA ;ANTES MOVL) .200 MOV)F CONT1 ;SE RECARGA NUEVAMENTE EL REGISTRO POR EL ;ANIDAMINETO DECFS0 CONT2(F ;DECREMENTE LA VARIABLE CONT2 1 SALTA ;CUANDO LLEGA A CERO GOTO ! " ;! " RETROCEDE " LINEAS EN EL PROGRAMA MOVL) .180 MOV)F CONT2 ;SE RECARGA CONT2 POR EL ANIDAMIENTO DECFS0 CONT$(F GOTO ! # ;RETROCEDE # LINEAS EN EL PROGRAMA RETURN ;CUANDO CONT$ SEA CERO RETORNA DE DONDE SE ;LLAM' ;////////////////////////////// RDEEPROM ;SUBRUTINA PARA LEER DATO DE LA EEPROM MOVF DIR() BSF STATUS(RP0 ;BANCO1 MOV)F EEADR ;DIRECCION AL REGISTRO DE DIRECCIONAMIENTO BSF EECON1(RD ;COMANDO DE QUE LEA LA POSICION ASIGNADA NOP NOP ;NOPS PARA ASEGURAR UNA CORRECTA LECTURA MOVF EEDATA() ;EL DATO LEIDO SE MUEVE A ) BCF STATUS(RP0 ;BANCO0 MOV)F DATO ;EL DATO LEIDO QUEDA EN EL REGISTRO DATO RETURN ;//////////////////////////////// )REEPROM MOVF DIR() ;MOVEMOS LA DIRECCION A ) BSF STATUS(RP0 ;BANCO1 MOV)F EEADR ;SE CARGO LA DIRECCION BCF STATUS(RP0 ;BANCO0 MOVF DATO() ;DATO A ESCRIBIR A E BSF STATUS(RP0 ;BANCO1 MOV)F EEDATA ;CARGO DATO A EEDATA

;DIRECCION DE LA EEPROM ;DATO DE REFERENCIA PARA SABER A.ORA ;QUE SI .A+ DATO ESCRITO ;DATO A ESCRIBIR EN LA EEPROM ;SUBRUTINA PARA ESCRIBIR EN LA EEPROM ;DIRECCION DE LA EEPROM ;POSICION EN DONDE SE ALMACENA EL ULTIMO ;DATO ESCRITO ;DATO DE ARRANQUE( SERA DE CERO

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

81

NIVEL 1 PIC 16F628 BSF MOVL) MOV)F MOVL) MOV)F BSF BTFSC GOTO BCF BCF RETURN END EECON1()REN 05"" EECON2 05AA EECON2 EECON1()R EECON1()R ! 1 EECON1()REN STATUS(RP0

TEORIA Y PRACTICA ;SE .ABILITA LA ESCRITURA ;CARGA A ) "" ;PASO REQUERIDO POR MICROC.IP PARA ;ESCRIBIR ;CARGA A ) CON AA ;PASO REQUERIDO POR MICROC.IP PARA ;ESCRIBIR ;COMANDO DE ESCRIBIR( PUEDE DEMORARSE ;.ASTA 10MS ;ESTE BIT SE PONE A CERO CUANDO +A TERMINA ;LA ESCRITURA ;ESPERE ;IN.ABILTA LA ESCRITURA ;BANCO CERO DESPUED DE FINALI0ADA LA ;ESCRITURA

DI+IT ELECTRONIC CRA 9 23 49 LOCAL 207 TEL 2 86 36 72

82

You might also like