PRACTICA # 1 ASIGNATURA: MICROCONTROLADORES TIEMPO PLANIFICADO EN EL SILABO: 6 HORAS Trabajo Tr abajo de: Dann S!"o Ar$!jo% Ar$!jo% Loo&a ' San!a(o A&ejandro A&ejandro Le)n Med!na Med!na
1* TEMA TEMA:: PROG PROGRA RAMA MACI CION ON DE MI MICR CROC OCON ONTR TROL OLA ADORE DORES S PARA ENCENDIDO DE LEDS +* OB, OB,ETIETI-O OS: • • •
Conocer el funcionamiento del microcontrolador PIC16F877A. Reconocer los puertos que dispone el PIC16F877A. Programar el PIC16F877A con las especificaciones mencionadas en la guía.
.* MATERIALES / REACTI-OS • • • • • • •
1* MA MAT TER ERIA IALE LES S / REAC REACTI TI-O -OS S PIC16F0A 1 Cr!%a& de 2MH3 0 Re%!%ore% de ..45 1 Caa7!or de ..nF 1 Caa7!or de ..F 0 Led% Daa%8ee PIC16F0A
2* E9!o% 8erra$!ena% E9!o% 8erra$!ena% 1 Fene de 7orr!ene 7on!na de ;1 M&<$ero 1 Prooboard 1 Co$adora + P&(% + Pna% de reba ara $&<$ero Cab&e ara 7one"!)n en rooboard P!n3a%= a&!7ae%= 7ora 7ab&e%= e&a 7ab&e% 2.
• • • • • • • •
.* INSTRUCCIONES: • • • • • • •
• • •
• •
Colocar las mocilas en los casilleros Proi!ido consumo de alimentos Proi!ido equipo de di"ersi#n$ celulares etc. Proi!ido %ugar Proi!ido mo"er o intercam!iar los equipos de los !ancos de tra!a%o Proi!ido sacar los equipos del la!oratorio sin autori&aci#n. '!icar los equipos ( accesorios en el lugar dispuesto por el responsa!le del la!oratorio$ luego de terminar las pr)cticas. 'so adecuado de equipos 'so o!ligatorio del mandil Presentar el preparatorio al docente a cargo de la materia al inicio de la %ornada. Contestar las preguntas de control despu*s de reali&arse la pr)ctica. Reali&ar el informe con todos los ítems destallados en la guía.
2* ACTI-IDADES DESARROLLADAS: 2*1En7end!do de &ed a+ Reali&ar la programaci#n utili&ando el soft,are -icroC/0. !+ Construir el circuito electr#nico de la Fig. 1.1$ utili&ando el soft,are Proteus. C1
'1 1
44pF
-D CRE;A>
C2 2
44nF
14 1 1 2 4 : 6 7 8 = 1
;C1C>9I3 ;C2C>9' -C>R5pp5
R?I3 R?1 R?2 R?4P@R? R?: R?6P@C R?7P@/
RAA3 RA1A31 RA2A325R0F RA4A345R0FB RAC9I RA:A3;; RC1;1C9I RC11;ICCP2 R0A3:R/ RC2CCP1 R01A36 R02A37C; RC;/I;/A RC:;/ RC6C9 RC7R/
R/P;P R/1P;P1 R/2P;P2 R/4P;P4 R/P;P R/:P;P: R/6P;P6 R/7P;P7 PIC16F877
44 4 4: 46 47 48 4= 1: 16 17 18 24 2 2: 26 1= 2 21 22 27 28 2= 4
/1 >0/R0/
R1 44
Fig. 1.1 Encendido de led con PIC16F877A c+ Crear un programa que encienda ( apague un led$ u!icado en la terminal R?7 del puerto ?. 0l tiempo de encendido es de 1 milisegundo ( el de apagado de : milisegundos.
r!%d?4 &ed: ord?@44444414 PAUSE 1444 ord?@44444444 PAUSE 1444 GOTO &ed
2*+L7e% %e7en7!a&e% a+ Construir el circuito electr#nico de la Fig. 1.2$ utilice el soft,are especiali&ado dispuesto en el la!oratorio.
Fig. 1.2 Luces secuenciales con PIC16F877A b> Crear un programa que encienda una gama de leds de forma secuencial u!icados en los terminales del puerto /$ empe&ando por R/ con un
tiempo de : ms durante la e%ecuci#n en cada terminal asta llegar a R/7$ una "e& llegado asta este terminal de!e "ol"er a empe&ar. RI;CJK L indica que todos los pines del puerto c son de salida secuenciaMled L nom!re de su!rutina PortcJK1 Lenciende el puerto ?.$ los dem)s permanecen apagados @;'? espera L ir a su!rutina pedro ( "ol"er cuando diga R0'R3 PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK1 @;'? espera PortcJK @ secuenciaMled espera Lesta es la su!rutina que determina tiempo PA';0 : Lretardo de : milisegundos$ aquí podemos cam!iarlo R0'R3 L"ol"er al @;'? que le en"i#
2*.SEMFORO a+ Crear un programa que encienda los leds de forma que cumpla las siguientes condiciones !+ >os sem)foros 1 ( 4 se comportan de id*ntica forma es decir permitir)n el paso del tr)fico de 3orte a ;ur ( "ice"ersa. c+ >os sem)foros 2 ( tam!i*n se comportan igual (a que permiten el tr)fico de 0 a ( "ice"ersa. d+ Cuando los sem)foros 1 ( 4 permitan el tr)fico de "eículos G50R/0+ los sem)foros 2 ( de!en proi!irlo GRH+. e+ >o sem)foros 1 ( 4 cam!iar)n de 50R/0 a A-ARI>> mientras los sem)foros 2 ( continan en RH. f+ Cuando los sem)foros 1 ( 4 cam!ien de A-ARI>> a RH los sem)foros 2 ( continuar)n en RH s#lo 1seg. G0stado todo RH+ g+ 'na "e& que a(a pasado el estado todo ro%o G1seg+ los sem)foros 2 ( cam!iar)n a 50R/0. + iempo de espera de 50R/0 a A-ARI>> 1seg. i+ iempo de espera de A-ARI>> a RH 4seg. %+ 0stado todo ro%o 1seg.
.4.1 >a simulaci#n en proteus quedaría de la siguiente manera como se indica en la figura 1.4
Fig. 1.3 Simulación de cuatro sem!oros con PIC16F877A .4.2 0l c#digo creando en -icrCode quedaría de la siguiente manera ro%o1 "ar portc. L etiquetas pa los puertos amarillo1 "ar portc.1 "erde1 "ar portc.2 ro%o2 "ar portc.4 amarillo2 "ar portc. "erde2 "ar portc.: semaforo ig ro%o1 ig "erde2 pause : lo, "erde2 ig amarillo2 pause 4 I@ RH2 l< A-ARI>>2 PA';0 1 lo, ro%o1 ig "erde1 pause : lo, "erde1 ig amarillo1 pause 4 I@ RH1 l< A-ARI>>1 PA';0 1 lo, ro%o2 @ semaforo Lcontinuar el programa desde semaforo 03/ Lfin de la programaci#n
;* MARCO TERICO: PIC16F0A: >os PIC16F0 forman una su!familia de microcontroladores PIC Gde gama media de 8 !its$ fa!ricados por -icrocip ecnolog(+. Cuentan con memoria de programa de tipo 00PR- Flas me%orada$ lo que permite programarlos f)cilmente usando un dispositi"o programador de PIC. 0sta característica facilita sustancialmente el diseNo de pro(ectos$ minimi&ando el tiempo empleado en programar los microcontroladores. >a OAO final del modelo PIC16F877A indica que estos modelos cuentan con m#dulos de comparaci#n anal#gicos. 0l eco de que se clasifiquen como microcontroladores G-C'+ de 8 !its ace referencia a la longitud de los datos que mane%an las instrucciones$ ( que se corresponde con el tamaNo del !us de datos ( el de los registros de la CP'.
CARACTERSTICAS DEL PIC16F0A o o o o o o o o
o o
o o o o o o
o o
-emoria de programa F>A;$ 8 9 de instrucciones de 1 !its cu. -emoria de datos 468 !(tes RA-$ 2:6 !(tes 00PR-. Pila G;tac+ 8 ni"eles G1 !its+. Fuentes de interrupci#n 14 Instrucciones 4: 0ncapsulado /IP de pines. Frecuencia oscilador 2 -& Gm)Qima+ empori&adoresContadores 1 de 8 !its Gimer +L 1 de 16 !its Gimer 1+L 1 de 8 !its Gimer 2+ con pre ( post escalador. 'n perro guardi)n G+ >íneas de 0; 6 del puerto A$ 8 del puerto ?$ 8 del puerto C$ 8 del puerto / ( 4 del puerto 0$ adem)s de 8 entradas an)logas. /os m#dulos de Captura$ Comparaci#n ( P<- Captura 16 !its. Resoluci#n m)Q. J 12.: nseg. Comparaci#n 16 !its. Resoluci#n m)Q. J 2 nseg. P<- Resoluci#n m)Q. J 1 !its. Con"ertidor An)logo/igital de 1 !its multicanal G8 canales de entrada+. Puerto serial síncrono G;;P+ con !us ;PI Gmodo maestro+ ( !us IC Gmaestroescla"o+.
o
o o
o o o o
';AR G'ni"ersal ;(ncronous As(ncronous Recei"er ransmitter+ con direcci#n de detecci#n de = !its. Corriente m)Qima a!sor!idasuministrada Gsinsource+ por línea Gpin+ 2: mA scilador ;oporta configuraciones diferentes $ RC$ ;$ >P. ecnología de Fa!ricaci#n C-; 5olta%e de alimentaci#n 4. a :.: 5 /C Puede operar en modo microprocesador
PUERTOS DE ENTRADA / SALIDA 0n ta!la 1 se detallan los pines de entrada ( salida con el nmero correspondiente el tipo de !uffer ( una !re"e descripci#n de cada una.
NOMBRE DEL PIN OSC1CLIN OSC+CLOU T MCLR-TH -
RA4AN4 RA1AN1 RA+AN+ -re
PIN
TIPO
TIPO DE BUFFER
14
I
;-;
1
1
IP
;
2 4
I I I
> > >
:
I
>
RA.AN.-re
6
I
;
RA2T4CI
7
I
>
DESCRIPCIN 0ntrada del oscilador de cristal 0ntrada de seNal de relo% eQterna ;alida del oscilador de cristal 0ntrada del -aster clear GReset+ o entrada de "olta%e de programaci#n o modo de control ig "olta%e test PRA es un puerto I !idireccional RA puede ser salida anal#gica RA1 puede ser salida anal#gica 1 RA2 puede ser salida anal#gica 2 o referencia negati"a de "olta%e RA4 puede ser salida anal#gica 4 o referencia positi"a de "olta%e RA puede ser entrada de relo% el timer.
RA;SSAN2
RA: puede ser salida anal#gica o el escla"o seleccionado por el puerto serial síncrono.
RBOINT
44
I
>;
RB1 RB+ RB.PGM
4 4: 46
I I I
> > >
PR? es un puerto I !idireccional. Puede ser programado todo como entradas R? pude ser pin de interrupci#n eQterno.
RB2 RB; RB6PGC RBPGD
47 48 4=
I I I I
> > >; >;
R?4 puede ser la entada programaci#n de !a%o "olta%e Pin de interrupci#n Pin de interrupci#n Pin de interrupci#n. Relo% programaci#n serial
de
de
PRC es un puerto I !idireccional
RCOT1OSOT 1CI RC1T1OS1C CP+
1:
I
;
16
I
;
17
I
;
RC.SCSCL
18
I
;
RC4 puede ser la entrada o salida serial de relo% síncrono para modos ;PI e I2C
RC2SD1SDA
24
I
;
RC;SD4 RC6T"C
2 2:
I I
; ;
RCRDT
26
I
;
RC puede ser la entrada de datos ;PI ( modo I2C RC: puede ser la salida de datos ;PI RC6 puede ser el transmisor asíncrono ';AR o el relo% síncrono. RC7 puede ser el receptor asíncrono ';AR o datos síncronos
RD4PSP4 RD1PSP1 RD+PSP+ RD.PSP. RD2PSP2 RD;PSP; RD6PSP6 RDPSP
1= 2 21 22 27 28 2= 4
I I I I I I I I
;> ;> ;> ;> ;> ;> ;> ;>
RC+CCP1
REORDAN;
8
I
;>
RE1JRAN
=
I
;>
RE+CSAN
1
I
;>
RC puede ser la salida del oscilador timer1 o la entrada de relo% del timer1 RC1 puede ser la entrada del oscilador timer1 o salida P-< 2 RC2 puede ser una entrada de captura ( comparaci#n o salida P<3
PR/ paralelo
es
un
puerto
!idireccional
PR0 es un puerto I !idireccional R0 puede ser control de lectura para el puerto escla"o paralelo o entrada anal#gica : R01 puede ser escritura de control para el puerto paralelo escla"o o entrada anal#gica 6 R02 puede ser el selector de control para el puerto paralelo escla"o o la entrada anal#gica 7.
Tab&a 1* Registro de los pines del PIC16F877 referente a las entradas ( salidas
6* RESULTADOS OBTENIDOS 0n la figura 1. se o!ser"a el resultado o!tenido en el proto!oar tras a!er gra!ado el pic con el programa pre"iamente creado de dos sem)foros uno de direcci#n norte a sur ( el tro de este a oeste pa acer los contrarios de estos !asta con colocar en cada direcci#n diodos en paralelo
Fig. 1." Simulación en #roto$oard de dos sem!oros con PIC16F877A 0n la figura 1.: se o!ser"a el resultado o!tenido en el proto!oar tras a!er gra!ado el pic con el programa pre"iamente creado de una secuencia de led que cumple con la secuencia pidida al momento de programar.
Fig. 1.% Simulación en #roto$oard de una secuencia de led con PIC16F877A
* DISCUSIN
Algunos de los pines de un PIC pueden ser puertos de entrada o salida$ segn se asigne en el c#digo del programa. 0n el c#digo de programa de un PIC$ se pueden reali&ar distintas secuencias mediante programaci#n estructurada. 0n la programaci#n del PIC eQiste m)s de una forma para asignar la funci#n que cumplir) un pin$ puede ser asignado en forma !inario o decimal *
0* CONCLUSIONES 0l PIC16F0A es un microcontrolador con memoria de programa tipo F>A;$ permite reprogramarlo nue"amente sin ser !orrado con anterioridad. 0l consumo de potencia es !a%o. 0l PIC16F0A dispone de pines de entradasalida$ los mismos que est)n organi&ados en cinco puertos como indica la figura 1.5 $ el puerto A con 6 líneas$ el puerto ? con 8 líneas$ el puerto C con 8 líneas$ el puerto / con 8 líneas ( el puerto 0 con 4 líneas. 'n !it en OO configura el pin del puerto de salida ( un !it en O1O lo configura como entrada. >a ta!la 1 d una !re"e descripci#n de cada uno de los pines.
Figura 1.% &rgani'ación de los #ines del PIC #or #uertos.
>a programaci#n del PIC16F877A se puede reali&ar de di"ersas maneras$ o!teniendo el mismo resultado.
K* RECOMENDACIONES Reali&ar la simulaci#n del circuito en Proteus.
Reali&ar el programa en -icroCode$ re"isando tutoriales de c#mo reali&arlo. 5erificar el funcionamiento del circuito en la simulaci#n eca en Proteus. Armar el circuito en el proto!oard lo m)s ordenado posi!le. Al oscilador importante colocarlo lo m)s cerca del microcontrolador sin usar coneQiones eQtras. @ra!ar el PIC usando un programador de PICs.
14*PREGUNTAS DE CONTROL a> SC&e% %on &o% ero% de enrada %a&!da !ene e& PIC16F0 >os puertos de entrada ( salida del PIC16F877 se di"iden en cinco puertos$ el puerto A con 6 líneas$ el puerto ? con 8 líneas$ el puerto C con 8 líneas$ el puerto / con 8 líneas ( el puerto 0 con 4 líneas. Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseNados para tal fin.
b> Men7!one &o% !o% de a%!(na7!)n de dao% $% !&!3a7!)n en &a ro(ra$a7!)n de PIC16F0 /atos eQadecimales$ se escri!en con el prefi%o Q /atos decimales$ se representan como una secuencia de dígitos >as constantes literales enteras que empie&an con se consideran nmeros octales /atos !inarios$ se representan con el prefi%o !
7> C)$o %e deer$!na %! n ero o n deer$!nado er$!na& e% de enrada o %a&!da ;e puede determinar si un puerto o terminal es de entrada o salida$ al o!ser"ar el dataset del PIC$ las flecas indican si es de entrada o salida o si puede cumplir las 2 funciones asign)ndolas por medio de la programaci#n del PIC. d+ E%7r!b!r &a &
BIBLIOGRAFA: A()*L& *SA+E)*I , -&S /A0A, 0&/E0& ESA, S*SA(A A()*L& /A0+(E4, I)(ACI&. 2556. MICROCONTROLADORES "PIC" DISEÑO PRÁCTICO DE APLICACIONES. SEGUNDA PARTE: PIC16F87X Y PIC18FXXXX. MADRID : s.n., 2006. A()*L& *SA+E)*I, -&S /A0A, 0&/E0& ESA, S*SA(A A()*L& /A0+(E4, I)(ACI&. 2556. MICROCONTROLADORES "PIC" DISEÑO PRÁCTICO DE APLICACIONES. SEGUNDA PARTE: PIC16F87X Y PIC18FXXXX. Madrid : McGRAW-HILL/INTERAMERICANA, 2006. 84-84-462!-.
CLAI-& /E(&4A, -*A( 0ICA0&. 2511. DISEÑO Y SUMULACIÓN DE SISTEMAS MICROCONTROLADOS EN LENGUAJE C. C"L"M#IA : s.n., 20. $!8-$%8-44-86$-6.
Conseo de E9aluación, Acreditación Aseguramiento de la Calidad de la Educación Su#erior. 251%. MODELO GENÉRICO DE EALUACIÓN DEL ENTORNO DE APRENDI!AJE DE CARRERAS PRESENCIALES Y SEMIPRESENCIALES DE LAS UNIERSIDADES Y ESCUELAS POLITÉCNICAS DEL ECUADOR. &'i() : s.n., 20%. EFI(ICI&(ES. DE*INICI"NE+.DE. En na Ci(ad) : 1 d MA" d 20%. 3((://d5nici)n.d/a)ra()ri)/.
FES+& IAC+IC. Ec(ric 7)r Tc3n))9 Trainin9 +s(;s 800. En na Ci(ad) : 8 d )c('r d 204.
3((s://.a<)(.c);/s)'(i)ns/6=c(rici(=and=n=nr9/$8-80000=c(ric=)r=(c3n))9=(rainin9=ss(;s.
/endo'a, Cla9io -uan, 0icardo. 2511. DISEÑO Y SUMULACIÓN DE SISTEMAS MICROCONTROLADOS EN LENGUAJE C. C));ia : s.n., 20. $!8-$%8-44-86$-6.
/IC0&C:IP. 7IC6*8!>A. En na Ci(ad) : 22 d 0 d 20%. 3((://.;icr)c3i.c);/d)n)ads/n/D
(as;els<, Louis =olestad, 0o$ert L. 2553. E#$%&'($): T#*&+) ,# $-&$-%*/ 0 ,-/*/-%-2*/ ##$%&'(-$*/. M@ic) : 7ars)n Ed'caciBn +.A., 2001. $!0-26-0416-2.
2553. E#$%&'($): T#*&+) ,# $-&$-%*/ 0 ,-/*/-%-2*/ ##$%&'(-$*/. M@ic) : 7ars)n Ed'caciBn +.A., 2001. $!0-26-0416-2.
+occi, 0onald -., >idmer, (eal S. /oss, )regor L. 2557. S-/%#3)/ D-4-%)#/ P&-($--*/ 0 A-$)$-*(#/. M@ic) : 7ars)n Ed'caciBn, 200!. $!8$!0-26-0$!0-4.