CARRERA: ELECTROMECNICA, ELECTRNICA Y TELECOMUNICACIONES ASIGNATURA: ELECTRNICA AVANZADA DOCENTE: ING. CARLOS LPEZ M. PRCTICA EN AULA No. 4 Escribir os !ro"r#$#s %& %&"'#(% C %& % %)i*or )% PIC+C o %& ,PLAB- co$!i#r . si$'#r %& PROTEUS. 1.- Escribir un programa (fuente) en lenguaje C para el PIC16F628A, e manera mia pulsos (per!oo) por captura el m"ulo CCP1 # luego el m"ulo CCP2 (cambie el pin e entraa), pro$enientes e una se%al e reloj e&terna' El circuito a reali(ar es el siguiente' CODIGO: #includ !"#$#%&'.() #$u** +T,NO,DT #u* dl'-.cl/c0123333334 #includ !C:5U*6*5u*u'6i/5D/cu7n8*5lc86/nic' '9'n:'d'5lcd.c) #;-8 PIR"13<3C in8" nu9/=ul*/13> ??En86' /86/ =ul*/ in8"# T@A13,T@S13,T@13> ??Ti7=/ $l'nc/* $l/'8 AP13.3> ??V'l/6 $in'l dl 'nc(/ d =ul*/ in8" c'7;i/13> ??C'7;i/ d $l'nc/ d di*='6/ #in8Bcc=" 9/id cc="Bin8.4C ??@unciDn in866u=ciDn i$.c'7;i/1134C ??@l'nc/ d *u;id' T@S1CCPB"> ??C'6E' dl 9'l/6 dl 6Ei*86/ CCPR" n $l'nc/ *u;id' ?? *8u=Bcc=".CCPBCAPTUREB@E4> ??C/n$iEu6'ciDn 7/d/ C'=8u6' n $l'nc/ d ;'F'd' c'7;i/1"> ??C/n86/l d c'7;i/ d $l'nc/ G l* C ??@l'nc/ d A'F'd' T@A1CCPB"> ??C'6E' dl 9'l/6 dl 6Ei*86/ CCPR" n $l'nc/ ;'F'd' *8u=Bcc=".CCPBCAPTUREBRE4> ??C/n$iEu6'ciDn 7/d/ C'=8u6' n $l'nc/ d *u;id' c'7;i/13> ??C/n86/l d c'7;i/ d $l'nc/ i$.nu9/=ul*/1134C ??@in d =ul*/... nu9/=ul*/1"> ??=ul*/ ' 7di6 G G G 9/id 7'in.4 C lcdBini8.4> *8u=B8i76B".T"BINTERNAL4> ??C/n$iEu6'ciDn TMR" *8u=Bcc=".CCPBCAPTUREBRE4> ??C/n$iEu6'ciDn 7/d/ C'=8u6' n $l'nc/ d *u;id' c'7;i/ 1 3> ??C/n86/l d c'7;i/ ' 3 n';lBin866u=8*.in8Bcc="4> ??H';ili8'ciDn in866u=ciDn 7/dul/ CCP n';lBin866u=8*.El/;'l4> ??H';ili8'ciDn in866u=ciDn El/;'l d/ C i$.nu9/=ul*/11"4C ??IPul*/ nu9/J T@1.T@AKT@S4> ??Anc(/ d =ul*/. AP 1 T@L".3> ??Anc(/ d =ul*/ n 7ic6/*Eund/* .' 2MH::"u*4 =6in8$.lcdB=u8c,M5n PERIODO 1 N#."$uS M, AP4> nu9/=ul*/13> ??Pul*/ -' 7did/, *=6' nu9/ G G O(il .TRUE4> G 2.- Escribir un programa (fuente) en lenguaje C para el PIC16F628A, e manera )ue genere una se%al cuaraa con per!oo e *+ mseg # un ciclo e trabajo el 6+,' -tilice el m"ulo CCP1 # luego el m"ulo CCP2 (cambie el pin e entraa) e comparaci"n $isto en clase' El circuito a reali(ar es el siguiente' #includ !"#@#%&A.() #u* dl'-.cl/c0123333334 #$u** +T,NO,DT in8" c'7;i/13> ??V'6i';l d c/n86/l d c'7;i/ #in8Bcc=" 9/id cc="Bin8.4C ??@unciDn d in866u=ciDn i$.PPc'7;i/11"4C *8u=Bcc=".CCPBCOMPAREBCLRBONBMATCH4> ??M/d/ C/7='6'ciDn, c'7;i/ ' 3 G l*C *8u=Bcc=".CCPBCOMPAREBSETBONBMATCH4> CCPB" 1 QRS3> ??M/d/ C/7='6'ciDn, c'7;i/ ' " G *8B8i76".34> ??A/66'd/ d TMR" ??CCPB" 1 ST%&3> ??Inici'li:'ciDn dl 6Ei*86/ CCPR" ='6' un Du8- dl S3N G 9/id 7'in.4 C di*';lBin866u=8*.El/;'l4> *8u=B8i76B".T"BINTERNAL U T"BDIVBAYB&4> ??C/n$iEu6'ciDn TMR" *8u=Bcc=".CCPBCOMPAREBSETBONBMATCH4> ??C/n$iEu6'ciDn inici'l 7/dul/ CCP CCPB" 1 QRS3> ??Inici'li:'ciDn dl 6Ei*86/ CCPR" ='6' un Du8- dl S3N n';lBin866u=8*.in8Bcc="4> ??H';ili8'ciDn in866u=ciDn 7/dul/ CCP" n';lBin866u=8*.El/;'l4> ??H';ili8'ciDn in866u=ciDn En6'l d/ C G O(il .TRUE4> G Q.- Escribir un programa (fuente) en lenguaje C para el PIC16F628A, e manera )ue genere una se%al P./ el m"ulo CCP1' 0e ispone e un pulsaor conectao al pin 1A+ e manera )ue ante la pulsaci"n genere anc2os e pulso e + a 1++ , con incrementos e *' El per!oo e la se%al P./ ser3 e 1ms' 4ic2a se%al eber3 ser re$isaa en el osciloscopio $irtual' 0imular en P156E-0 asumieno )ue la se%al P./ controlar3 la $elocia e un motor e corriente continua' El circuito a reali(ar es el siguiente' CODIGO: 789999999999999999999999999999999999999999999998: ;/anejo el m"ulo P./ con el PIC16F628A ; :899999999999999999999999999999999999999999999987 <inclue =16F628a'2> <use ela#(cloc?@A++++++) <b#te portBa @ * <b#te portBb @ 6 <use fastBio (b) <use stanarBio(a) <inclue =CC:-sers:usuario:4ocuments:electronica a$an(aa:DC4'c> b#te A@+E int cont@+E $oi main ($oi) F setBtrisBb(+&++)E portBa@+E setupBtimerB2(62B4IGBHIB1,2*+,A)E setupBccp1(CCPBP./)E lcBinit()E J2ile (true) F 77 A@(+b++++++11)KinputBa()E lcBgoto&#(1,1)E
IF(input(pinBa+)@@1) F J2ile(input(pinBa+)@@1) F L cont@contM*E setBpJm1But#(2*+8cont)E printf(lcBputc,NP51CEO6APE@ ,N,cont)E if(cont@@1++) F cont@+E L L L L 2.K 4ise%ar en lenguaje C para el PIC16F628A, un sistema e seguria (canao igital) )ue opere con una cla$e e cuatro !gitos ecimales programaos ese teclao # puea ser $isuali(ao en una pantalla DC4' El sistema se ebe regir a las siguientes particulariaesC 1) Antes e ingresar el c"igo con la cla$e se presiona la tecla inicio (CD1), esto 2ace )ue se limpie la informaci"n e la pantalla DC4 # apare(ca en la l!nea 1 el mensaje DIGITE LA CLAVE:' 2) En la l!nea 2 e la pantalla se mostrar3 la cla$e ingresaa igito por !gito # luego se presionar3 la tecla EO6 (EO6E1)' Q) 0i el c"igo e cuatro !gitos es correcto (c"igo @ 8*61) se mostrar3 en la pantalla DC4 l!nea 1 el mensaje C511EC65 # se accionar3 un rela# conectao al pin 1A+, caso contrario se mostrar3 IOC511EC65 # no se accionar3 el rela#' A) Como sistema e seguria se incluir3 un se%ali(aor (DE4) en el pin 1AQ )ue muestre su estao e intermitencia caa +'* segunos, cu#o control se reali(ar3 meiante el esboramiento el 6I/E1+' El circuito a implementar en P156E-0 se muestra a continuaci"n CODIGO #includ !"#@#%&A.() #$u** +T,NO,DT,NOPROTECT,NOLVP #u* dl'-.cl/c01 23333334 #u* *8'nd'6dBi/.'4 #includ !C:5U*6*5u*u'6i/5D/cu7n8*5lc86/nic' '9'n:'d'5lcd.c) #includ !C:5U*6*5u*u'6i/5D/cu7n8*5lc86/nic' '9'n:'d'50;d.c) #includ !*8dli;.() #6/7 3<%"331CV&V,VSV,V#V,V"VG ??P/*iciDn 3," - % d l' E=6/7 c/n l/* d'8/*W in8 c/n813> #in8B68cc 68ccBi**6.4 C i$.c/n811"34 C /u8=u8B8/EEl.=inB'Q4> *8B8i763.#34> c/n813> G l* c/n81c/n8P"> G
9/id 7'in.4 C c('6 0> in8 i> *8u=B8i76B3.68ccBdi9B%S#4> *8B8i763.#34> n';lBin866u=8*.in8B68cc4> n';lBin866u=8*.El/;'l4> in8 <> c('6 d'8'X2Y, cl'9XQY> ??M'86ic* ='6' Eu'6d'6 cl'9 - d'8/* lcdBini8.4> 0;dBini8.4> =/68B;B=ullu=*.TRUE4> O(il .TRUE4 C i13> ??=/*iciDn d l' 7'86i: ?? =6in8$.lcdB=u8c,M5$=ul*'6 8cl' "5nM4> ??P'6' =6i76 d'8/ =6in8$.lcdB=u8c,M5$DIGITE LA CLAVE5nM4> O(il.i!124C ??P'6' 2 d'8/* 010;dBE8c.4> ??L l 8cl'd/ <10K2&> i$ .0Z134 ??Si * (' =ul*'d/ 'lEun' 8cl' C i$.011V#V4 C <1""> G l* i$.011VLV4 C <1"3> G
d'8'XiY10> ??* Eu'6d' n l' =/*iciDn c/66*=/ndin8 lcdBE/8/<-.",%4> =6in8$.lcdB=u8c,MTECLA PULSADA: Nc5nM,d'8'XiY4> iPP> ??d l' 7'86i:
G G $/6 .i13>i!1Q>iPP4 C ??P'*' d'8/* d =6/7 ' l' 7'86i: cl'9 cl'9XiY16'dB=6/7.i4>G i$.<11""4 C i$ ..d'8'X3Y11cl'9X3Y4[[.d'8'X"Y11cl'9X"Y4[[.d'8'X%Y11cl'9X%Y4[[.d'8'XQY11cl'9 XQY44 C =6in8$.lcdB=u8c,M5$CORRECTOM4> ??C/7='6' l/* d'8/* c/n l' cl'9 /u8=u8B(iE(.PINBA34> ??Si * iEu'l d' =ul*/ 'l 6l\ dl'-B7*.S334> /u8=u8Bl/O.PINBA34>G l* =6in8$.lcdB=u8c,M5$INCORRECTOM4> ??Cl'9 66/n' dl'-B7*."3334> G G G NOTA: Pueen utili(ar como referencia el c"igo en C el manejo el teclao matricial e Q&A # la pantalla DC4 en$iao a sus correos' FEC/A DE REALI0ACI1N: ,I2RCOLES 3 DE 4UNIO DE 3564