Está en la página 1de 14

UNIVERSIDAD PRIVADA BOLIVIANA

FACULTAD DE INGENIERA Y ARQUITECTURA


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

También podría gustarte