UNIVERSIDAD TECNOLGICA DEL PER FISE SISTEMAS DIGITALES
EJEMPLO: CONFECCIONAR UN PROGRAMA PARA EL PIC 16F84A TRABAJANDO A 4MHZ QUE
PRODUZCA UNA SEAL CUADRADA DE PERIODO 50 m !"5 m A NI#EL ALTO $ "5 m A NI#EL BAJO% EN EL PIN RB0& Para generar la seal cuadrada en la a!"lla del #"cr$c$n!r$lad$r R%& r$cedere#$s de la s"gu"en!e #anera' $ndre#$s el ("! R%& a )*+ e,ecu!are#$s un ru!"na -su(r$gra#a. encargada de real"/ar un re!ard$ de 01 #s2 $ndre#$s de nue3$ el ("! R%& a )&+ 4 3$l3ere#$s a e,ecu!ar la su(ru!"na an!er"$r5 Es!e r$ces$ se ree!"r6 "nde7"n"da#en!e5 Una de las 7unc"$nes #6s 8a("!uales en l$s r$gra#as de c$n!r$l suele ser de!er#"nar "n!er3al$s c$ncre!$s de !"e#$5 Ta#("9n suele ser 7recuen!e c$n!ar "#uls$s r$duc"d$s en el e:!er"$r del s"s!e#a5 En el #"cr$c$n!r$lad$r PIC*;F<= es!as 7unc"$nes la real"/a un !e#$r"/ad$r>c$n!ad$r de < ("!s? lla#ad$ TMR& @ue ac!Aa de d$s #aneras d"s!"n!as' C$#$ c$n!ad$r de suces$s? reresen!ad$s $r l$s "#uls$s @ue se al"can a la a!"lla RA=>T&CBI5 Al llegar al 3al$r FF8 se des($rdar6 el c$n!ad$r 4? c$n el s"gu"en!e "#uls$ asa a &&8? ad3"r!"end$ es!a c"rcuns!anc"a ac!"3and$ un seal"/ad$r 4>$ r$3$cand$ una "n!erruc"Cn5 C$#$ !e#$r"/ad$r? se "ncre#en!a c$n cada c"cl$ de "ns!rucc"Cn -=>Frel$,.?$ d"3"s$res del #"s#$? 8as!a @ue se des($rda -asa de &&8 a FF8. 4 a3"sa $n"end$ a )*+ un seal"/ad$r 4>$ r$3$cand$ una "n!erruc"Cn5 Para @ue el TMR& 7unc"$ne c$#$ c$n!ad$r de "#uls$s al"cad$s en RA=>T&CBI 8a4 @ue $ner a )*+ el ("! T&CS? @ue es el @ue $cua la $s"c"Cn 1 del reg"s!r$ OPTION5 Para @ue el TMR& 7unc"$ne c$#$ !e#$r"/ad$r el ("! T&CS de(e $nerse a )&+5 F'()*+& Reg"s!r$ OPTION -d"recc"Cn &*8? %anc$*. T&CS T&SE PSA PS0 PS* PS& %"!1 %"!& D ("! 1' T0CS ("! de selecc"Cn de la 7uen!e de rel$, * E Trans"c"Cn en el "n RA=>T&CBI & E C"cl$ de "ns!rucc"Cn "n!ern$ D ("! F' PSA ("! de as"gnac"Cn del d"3"s$r * E D"3"s$r as"gnad$ al GDT -Ha!c8d$g. & E D"3"s$r as"gnad$ a TMR& D ("! 0I&' PS":PS0 ("! de selecc"Cn del d"3"s$r TMR0 es un reg"s!r$ de r$Cs"!$ esec"al u("cad$ en la $s"c"Cn &*8 del (anc$ & de la #e#$r"a de da!$s RAM5 En "gual d"recc"Cn er$ en el (anc$ * se encuen!ra el reg"s!r$ de c$n7"gurac"Cn OPTION5 El !"e#$ de la !e#$r"/ac"Cn se calcula a ar!"r del er"$d$ de la seal de rel$, -Trel$,.? el 3al$r de un d"3"s$r de 7recuenc"a de7"n"d$ en el reg"s!r$ OPTION 4 el 3al$r del !e#$r"/ad$r TMR05 T,m-.*'/+0'12 3 44T*,5.6 4 !"55 7 TMR0% 4 D'8'.* "557TMR03T,m-.*'/+0'129!4 4T*,5.6 4 D'8'.*% S" se desea !e#$r"/ar 01#s -01&&& #s. 4 as"gna#$s al d"3"s$r de 7recuenc"a el 3al$r *0< -PSA E+&+? PS0 E )*+? PS* E+*+? PS& E )&+.? el !e#$r"/ad$r TMR& de(er6 c$n!ar *J1 e3en!$s' "55 7TMR0 3 "54107: 9 !141076 4 1"8% 3 1;5<:
El 3al$r @ue 8a4 @ue cargar en el !e#$r"/ad$r TMR& ser6 el c$#le#en!$ de *J1? es dec"r? 011I*J1E ;&? @ue e@u"3ale al cCd"g$ 8e:adec"#al &:Fc5 F'()*+& Reg"s!r$ INTCON5 Al cargar en el reg"s!r$ TMR0 el 3al$r 60? 9s!e se "ncre#en!ar6 cada 1"8m !0'05. =,>'2'=. -.*: D'8'.* 4 4 4 T*,5.6 %& Cuand$ llegue al 7"nal de la cuen!a -"55.? se habr incrementado 195 veces? generand$ un re!ard$ de ar$:"#ada#en!e 01#s' DOCENTE' ING5 Lu"s Pac8ec$ Cr"("ller$ PS0 PS* PS& TMR& GDT & & & * ' 0 * ' * & & * * ' = * ' 0 & * & * ' < * ' = & * * * ' *; * ' < * & & * ' F0 * ' *; * & * * ' ;= * ' F0 * * & * ' *0< * ' ;= * * * * ' 01; * ' *0< UNIVERSIDAD TECNOLGICA DEL PER FISE SISTEMAS DIGITALES !1;5 4 1"8m%5 En ese "ns!an!e se $ndr6 )*+ el ("! T&IF del reg"s!r$ INTCON -reg"s!r$ de r$Cs"!$ esec"al &:&% del (anc$ &? F"gura arr"(a.5 Aarecen en el cCd"g$ las s"gu"en!es "ns!rucc"$nes' call k: guarda la d"recc"Cn de la "ns!rucc"Cn ac!ual 4 sal!a a la d"recc"Cn k -d$nde se encuen!ra la su(ru!"na.5 return: re!$rna a la d"recc"Cn al#acenada5 Una 3e/ e,ecu!ada la su(ru!"na el r$gra#a 3uel3e a la $s"c"Cn de la #e#$r"a de r$gra#a $s!er"$r a la lla#ada call5 A c$n!"nuac"Cn se e:$ne el d"agra#a de 7lu,$ 4 el cCd"g$ ensa#(lad$r del r$gra#a' L"s! E*;7<=A STATUS e@u &:&F PORT% e@u &:&; TMR& e@u &:&* INTCON e@u &:&% $rg &:&& g$!$ INICIO $rg &:&1 INICIO %s7 STATUS?1 2ca#("a al (anc$* clr7 PORT% 2PORT% sal"das #$3lH (+&&&&&**& 2c$n7"gurac"Cn OPTION #$3H7 TMR& (c7 STATUS?1 2ca#("a al (anc$& %UCLE (c7 PORT%?& 2R%& E )&+ call RETARDO 2re!ard$ (s7 PORT%?& 2R%& E )*+ call RETARDO 2re!ard$ g$!$ %UCLE RETARDO (c7 INTCON?0 2desc$nec!a el 7lag de des($rda#"en!$ #$3lH &:Fc #$3H7 TMR& 2carga TMR& EKPLORA (!7ss INTCON?0 2LSe 8a des($rdad$ TMR&M g$!$ EKPLORA 2(ucle 8as!a @ue TMR& llegue a 01; re!urn end DOCENTE' ING5 Lu"s Pac8ec$ Cr"("ller$