Está en la página 1de 13

PRACTICA # 1

ASIGNATURA: MICROCONTROLADORES
TIEMPO PLANIFICADO EN EL SILABO: 6 HORAS
Trabajo de: Danny Sixto Armijos Loyola & Santiago Alejandro Len Medina

1. TEMA: PROGRAMACION DE MICROCONTROLADORES PARA


ENCENDIDO DE LEDS

2. OBJETIVOS:

Conocer el funcionamiento del microcontrolador PIC16F877A.


Reconocer los puertos que dispone el PIC16F877A.
Programar el PIC16F877A con las especificaciones mencionadas en la
gua.

3. MATERIALES Y REACTIVOS
1. MATERIALES Y REACTIVOS
PIC16F877A
1 Cristal de 4MHz
8 Resistores de 330
1 Capacitor de 33nF
1 Capacitor de 33pF
8 Leds
Datasheet PIC16F877A

4. Equipos y herramientas
2. Equipos y herramientas
1 Fuente de corriente continua de 5V
1 Multmetro
1 Protoboard
1 Computadora
2 Plugs
2 Puntas de prueba para multmetro
Cable para conexin en protoboard
Pinzas, alicates, corta cables, pela cables
3. INSTRUCCIONES:

Colocar las mochilas en los casilleros


Prohibido consumo de alimentos
Prohibido equipo de diversin, celulares etc.
Prohibido jugar
Prohibido mover o intercambiar los equipos de los bancos de trabajo
Prohibido sacar los equipos del laboratorio sin autorizacin.
Ubicar los equipos y accesorios en el lugar dispuesto por el responsable
del laboratorio, luego de terminar las prcticas.
Uso adecuado de equipos
Uso obligatorio del mandil
Presentar el preparatorio al docente a cargo de la materia al inicio de la
jornada.
Contestar las preguntas de control despus de realizarse la prctica.
Realizar el informe con todos los tems destallados en la gua.

4. ACTIVIDADES DESARROLLADAS:

4.1 Encendido de led

a) Realizar la programacin utilizando el software MicroCODE.

b) Construir el circuito electrnico de la Fig. 1.1, utilizando el software


Proteus.

C1
U1
13 33
1

OSC1/CLKIN RB0/INT
33pF 14 34
OSC2/CLKOUT RB1
4MHZ 1
MCLR/Vpp/THV RB2
35
CRYSTAL 36
C2 2
RB3/PGM
37
RA0/AN0 RB4
2

3 38
RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/PGC
33nF 5 40
RA3/AN3/VREF+ RB7/PGD
6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
16
RC1/T1OSI/CCP2
8 17
RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
D1
RD6/PSP6 R1
30
RD7/PSP7
330
PIC16F877 LED-RED
Fig. 1.1 Encendido de led con PIC16F877A

c) Crear un programa que encienda y apague un led, ubicado en la terminal


RB7 del puerto B. El tiempo de encendido es de 1000 milisegundo y el
de apagado de 500 milisegundos.

trisd=0
led:
portd=%00000010
PAUSE 1000
portd=%00000000
PAUSE 1000
GOTO led

4.2 Luces secuenciales

a) Construir el circuito electrnico de la Fig. 1.2, utilice el software


especializado dispuesto en el laboratorio.

Fig. 1.2 Luces secuenciales con PIC16F877A

b) Crear un programa que encienda una gama de leds de forma secuencial


ubicados en los terminales del puerto D, empezando por RD0 con un
tiempo de 500 ms durante la ejecucin en cada terminal hasta llegar a
RD7, una vez llegado hasta este terminal debe volver a empezar.

TRISC=%00000000 ; indica que todos los pines del puerto c son de


salida
secuencia_led: ; nombre de subrutina
Portc=%00000001 ;enciende el puerto B.0, los dems permanecen
apagados
GOSUB espera ; ir a subrutina pedro y volver cuando diga RETURN
Portc=%00000010
GOSUB espera
Portc=%00000100
GOSUB espera
Portc=%00001000
GOSUB espera
Portc=%00010000
GOSUB espera
Portc=%00100000
GOSUB espera
Portc=%01000000
GOSUB espera
Portc=%10000000
GOSUB espera
Portc=%00000000
GOTO secuencia_led
espera: ;esta es la subrutina que determina tiempo
PAUSE 500 ;retardo de 500 milisegundos, aqu podemos cambiarlo
RETURN ;volver al GOSUB que le envi

4.3 SEMFORO

a) Crear un programa que encienda los leds de forma que cumpla las
siguientes condiciones:
b) Los semforos 1 y 3 se comportan de idntica forma es decir permitirn
el paso del trfico de Norte a Sur y viceversa.
c) Los semforos 2 y 4 tambin se comportan igual ya que permiten el
trfico de E a O y viceversa.
d) Cuando los semforos 1 y 3 permitan el trfico de vehculos (VERDE)
los semforos 2 y 4 deben prohibirlo (ROJO).
e) Lo semforos 1 y 3 cambiarn de VERDE a AMARILLO mientras los
semforos 2 y 4 continan en ROJO.
f) Cuando los semforos 1 y 3 cambien de AMARILLO a ROJO los
semforos 2 y 4 continuarn en ROJO slo 1seg. (Estado todo ROJO)
g) Una vez que haya pasado el estado todo rojo (1seg) los semforos 2 y
4 cambiarn a VERDE.
h) Tiempo de espera de VERDE a AMARILLO 10seg.
i) Tiempo de espera de AMARILLO a ROJO 3seg.
j) Estado todo rojo 1seg.
4.3.1 La simulacin en proteus quedara de la siguiente manera como
se indica en la figura 1.3

Fig. 1.3 Simulacin de cuatro semforos con PIC16F877A

4.3.2 El cdigo creando en MicrCode quedara de la siguiente manera

rojo1 var portc.0 ; etiquetas pa los puertos


amarillo1 var portc.1
verde1 var portc.2
rojo2 var portc.3
amarillo2 var portc.4
verde2 var portc.5
semaforo:
high rojo1 : high verde2
pause 5000
low verde2 : high amarillo2
pause 3000
HIGH ROJO2 :lOW AMARILLO2
PAUSE 1000
low rojo1 :
high verde1
pause 5000
low verde1 :high amarillo1
pause 3000
HIGH ROJO1: lOW AMARILLO1
PAUSE 1000
low rojo2
GOTO semaforo ;continuar el programa desde semaforo
END ;fin de la programacin
5. MARCO TERICO:
PIC16F877A:

Los PIC16F87X forman una subfamilia de microcontroladores PIC (de


gama media de 8 bits, fabricados por Microchip Technology). Cuentan
con memoria de programa de tipo EEPROM Flash mejorada, lo que
permite programarlos fcilmente usando un dispositivo programador de
PIC. Esta caracterstica facilita sustancialmente el diseo de proyectos,
minimizando el tiempo empleado en programar los microcontroladores.

La "A" final del modelo PIC16F877A indica que estos modelos cuentan
con mdulos de comparacin analgicos. El hecho de que se clasifiquen
como microcontroladores (MCU) de 8 bits hace referencia a la longitud
de los datos que manejan las instrucciones, y que se corresponde con el
tamao del bus de datos y el de los registros de la CPU.

CARACTERSTICAS DEL PIC16F877A


o Memoria de programa : FLASH, 8 K de instrucciones de 14 bits c/u.
o Memoria de datos : 368 bytes RAM, 256 bytes EEPROM.
o Pila (Stack) : 8 niveles (14 bits).
o Fuentes de interrupcin : 13
o Instrucciones : 35
o Encapsulado : DIP de 40 pines.
o Frecuencia oscilador : 20 MHz (mxima)
o Temporizadores/Contadores: 1 de 8 bits (Timer 0); 1 de 16 bits (Timer
1); 1 de 8
o bits (Timer 2) con pre y post escalador. Un perro guardin (WDT)
o Lneas de E/S : 6 del puerto A, 8 del puerto B, 8 del puerto C, 8 del
puerto D y 3
o del puerto E, adems de 8 entradas anlogas.
o Dos mdulos de Captura, Comparacin y PWM:
o Captura: 16 bits. Resolucin mx. = 12.5 nseg.
o Comparacin: 16 bits. Resolucin mx. = 200 nseg.
o PWM: Resolucin mx. = 10 bits.
o Convertidor Anlogo/Digital de 10 bits multicanal (8 canales de
entrada).
o Puerto serial sncrono (SSP) con bus SPI (modo maestro) y bus IC
o (maestro/esclavo).
o USART (Universal Synchronous Asynchronous Receiver Transmitter)
con direccin
o de deteccin de 9 bits.
o Corriente mxima absorbida/suministrada (sink/source) por lnea
(pin): 25 mA
o Oscilador : Soporta 4 configuraciones diferentes: XT, RC, HS, LP.
o Tecnologa de Fabricacin: CMOS
o Voltaje de alimentacin: 3.0 a 5.5 V DC
o Puede operar en modo microprocesador

PUERTOS DE ENTRADA Y SALIDA

En tabla 1 se detallan los pines de entrada y salida con el nmero


correspondiente el tipo de buffer y una breve descripcin de cada una.

NOMBRE DEL TIPO DE


PIN PIN TIPO BUFFER DESCRIPCIN
OSC1/CLKIN 13 I ST/MOS Entrada del oscilador de cristal / Entrada
de seal de reloj externa
OSC2/CLKOU 14 O - Salida del oscilador de cristal
T
MCLR/Vpp/TH 1 I/P ST Entrada del Master clear (Reset) o
V entrada de voltaje de programacin o
modo de control high voltaje test
PORTA es un puerto I/O bidireccional
RA0/AN0 2 I/O TTL RAO: puede ser salida analgica 0
RA1/AN1 3 I/O TTL RA1: puede ser salida analgica 1
RA2/AN2/ 4 I/O TTL RA2: puede ser salida analgica 2 o
Vref- referencia negativa de voltaje
5 I/O TTL RA3: puede ser salida analgica 3 o
RA3/AN3/Vref referencia positiva de voltaje
+ 6 I/O ST RA4: puede ser entrada de reloj el
timer0.
RA4/T0CKI 7 I/O TTL
RA5: puede ser salida analgica 4 o el
RA5/SS/AN4 esclavo seleccionado por el puerto serial
sncrono.
PORTB es un puerto I/O bidireccional.
Puede ser programado todo como
RBO/INT 33 I/O TTL/ST entradas
RB0 pude ser pin de interrupcin
RB1 34 I/O TTL externo.
RB2 35 I/O TTL
RB3/PGM 36 I/O TTL
RB4 37 I/O TTL RB3: puede ser la entada de
RB5 38 I/O TTL programacin de bajo voltaje
RB6/PGC 39 I/O TTL/ST Pin de interrupcin
RB7/PGD 40 I/O TTL/ST Pin de interrupcin
Pin de interrupcin. Reloj de
programacin serial
PORTC es un puerto I/O bidireccional

RCO/T1OSO/T 15 I/O ST RCO puede ser la salida del oscilador


1CKI timer1 o la entrada de reloj del timer1
RC1/T1OS1/C 16 I/O ST RC1 puede ser la entrada del oscilador
CP2 timer1 o salida PMW 2
17 I/O ST RC2 puede ser una entrada de captura y
RC2/CCP1 comparacin o salida PWN

RC3/SCK/SCL 18 I/O ST RC3 puede ser la entrada o salida serial


de reloj sncrono para modos SPI e I2C

RC4/SD1/SDA 23 I/O ST RC4 puede ser la entrada de datos SPI y


modo I2C
RC5/SD0 24 I/O ST RC5 puede ser la salida de datos SPI
RC6/Tx/CK 25 I/O ST RC6 puede ser el transmisor asncrono
USART o el reloj sncrono.
RC7/RX/DT 26 I/O ST RC7 puede ser el receptor asncrono
USART o datos sncronos

RD0/PSP0 19 I/O ST/TTL PORTD es un puerto bidireccional


RD1/PSP1 20 I/O ST/TTL paralelo
RD2/PSP2 21 I/O ST/TTL
RD3/PSP3 22 I/O ST/TTL
RD4/PSP4 27 I/O ST/TTL
RD5/PSP5 28 I/O ST/TTL
RD6/PSP6 29 I/O ST/TTL
RD7/PSP7 30 I/O ST/TTL
PORTE es un puerto I/O bidireccional
REO/RD/AN5 8 I/O ST/TTL REO: puede ser control de lectura para
el puerto esclavo paralelo o entrada
RE1/WR/AN 9 I/O ST/TTL analgica 5
RE1: puede ser escritura de control para
RE2/CS/AN7 10 I/O ST/TTL el puerto paralelo esclavo o entrada
analgica 6
RE2: puede ser el selector de control
para el puerto paralelo esclavo o la
entrada analgica 7.
Tabla 1. Registro de los pines del PIC16F877 referente a las entradas y salidas
6. RESULTADOS OBTENIDOS

En la figura 1.4 se observa el resultado obtenido en el protoboar tras


haber grabado el pic con el programa previamente creado de dos
semforos uno de direccin norte a sur y el tro de este a oeste pa hacer
los contrarios de estos basta con colocar en cada direccin diodos en
paralelo

Fig. 1.4 Simulacin en protoboard de dos semforos con PIC16F877A


En la figura 1.5 se observa el resultado obtenido en el protoboar tras
haber grabado el pic con el programa previamente creado de una
secuencia de led que cumple con la secuencia pidida al momento de
programar.

Fig. 1.5 Simulacin en protoboard de una secuencia de led con


PIC16F877A

7. DISCUSIN
Algunos de los pines de un PIC pueden ser puertos de entrada o salida,
segn se asigne en el cdigo del programa.
En el cdigo de programa de un PIC, se pueden realizar distintas
secuencias mediante programacin estructurada.
En la programacin del PIC existe ms de una forma para asignar la
funcin que cumplir un pin, puede ser asignado en forma binario o
decimal .

8. CONCLUSIONES
El PIC16F877A es un microcontrolador con memoria de programa tipo
FLASH, permite reprogramarlo nuevamente sin ser borrado con
anterioridad. El consumo de potencia es bajo.

El PIC16F877A dispone de pines de entrada/salida, los mismos que


estn organizados en cinco puertos como indica la figura 1.5, el puerto A
con 6 lneas, el puerto B con 8 lneas, el puerto C con 8 lneas, el puerto
D con 8 lneas y el puerto E con 3 lneas. Un bit en "0" configura el pin
del puerto de salida y un bit en "1" lo configura como entrada. La tabla 1
d una breve descripcin de cada uno de los pines.

Figura 1.5 Organizacin de los pines del PIC por puertos.

La programacin del PIC16F877A se puede realizar de diversas


maneras, obteniendo el mismo resultado.

9. RECOMENDACIONES

Realizar la simulacin del circuito en Proteus.


Realizar el programa en MicroCode, revisando tutoriales de cmo
realizarlo.
Verificar el funcionamiento del circuito en la simulacin hecha en
Proteus.
Armar el circuito en el protoboard lo ms ordenado posible.
Al oscilador importante colocarlo lo ms cerca del microcontrolador sin
usar conexiones extras.
Grabar el PIC usando un programador de PICs.

10. PREGUNTAS DE CONTROL

a) Cules son los puertos de entrada y salida tiene el PIC16F877?


Los puertos de entrada y salida del PIC16F877 se dividen en cinco
puertos, el puerto A con 6 lneas, el puerto B con 8 lneas, el puerto C
con 8 lneas, el puerto D con 8 lneas y el puerto E con 3 lneas. Cada
pin de esos puertos se puede configurar como entrada o como salida
independiente programando un par de registros diseados para tal fin.

b) Mencione los tipos de asignacin de datos ms utilizacin en la


programacin de PIC16F877

Datos hexadecimales, se escriben con el prefijo 0x


Datos decimales, se representan como una secuencia de dgitos
Las constantes literales enteras que empiezan con 0 se consideran
nmeros octales
Datos binarios, se representan con el prefijo 0b

c) Cmo se determina si un puerto o un determinado terminal es de


entrada o salida?

Se puede determinar si un puerto o terminal es de entrada o salida, al


observar el datashet del PIC, las flechas indican si es de entrada o
salida o si puede cumplir las 2 funciones asignndolas por medio de la
programacin del PIC.

d) Escribir la lnea de cdigo que determina si un determinado puerto


es de entrada o salida.

Para determinar si un puerto es de entrada o salida se usa el registro de


direccin de datos TRIS, un 1 en el registro TRIS indica que el pin es
de entrada, un 0 indica que es de salida.
TRISD=1 ;Pin D asignado como entrada
TRISD=0 ;Pin D asignado como salida
.
BIBLIOGRAFA:

ANGULO USATEGUI , JOS MARA, ROMERO YESA, SUSANA y


ANGULO MARTNEZ, IGNACIO. 2006. MICROCONTROLADORES "PIC"
DISEO PRCTICO DE APLICACIONES. SEGUNDA PARTE: PIC16F87X Y
PIC18FXXXX. MADRID : s.n., 2006.

ANGULO USATEGUI, JOS MARA, ROMERO YESA, SUSANA y ANGULO


MARTNEZ, IGNACIO. 2006. MICROCONTROLADORES "PIC" DISEO
PRCTICO DE APLICACIONES. SEGUNDA PARTE: PIC16F87X Y PIC18FXXXX.
Madrid : McGRAW-HILL/INTERAMERICANA, 2006. 84-841-4627-1.

CLAVIJO MENDOZA, JUAN RICARDO. 2011. DISEO Y SUMULACIN DE


SISTEMAS MICROCONTROLADOS EN LENGUAJE C. COLOMBIA : s.n., 2011.
978-958-44-8619-6.

Consejo de Evaluacin, Acreditacin y Aseguramiento de la Calidad


de la Educacin Superior. 2015. MODELO GENRICO DE EVALUACIN
DEL ENTORNO DE APRENDIZAJE DE CARRERAS PRESENCIALES Y
SEMIPRESENCIALES DE LAS UNIVERSIDADES Y ESCUELAS POLITCNICAS
DEL ECUADOR. Quito : s.n., 2015.

DEFINICIONES. DEFINICIONES.DE. [En lnea] [Citado el: 31 de MAYO de


2015.] http://definicion.de/laboratorio/.

FESTO DIDACTIC. Electric Power Technology Training Systems 8010. [En


lnea] [Citado el: 18 de octubre de 2014.]
https://www.labvolt.com/solutions/6_electricity_and_new_energy/98-8010-
00_electric_power_technology_training_systems.

Mendoza, Clavijo y Juan, Ricardo. 2011. DISEO Y SUMULACIN DE


SISTEMAS MICROCONTROLADOS EN LENGUAJE C. Colombia : s.n., 2011.
978-958-44-8619-6.

MICROCHIP. PIC16F87XA. [En lnea] [Citado el: 22 de 01 de 2015.]


http://ww1.microchip.com/downloads/en/DeviceDoc/39582C.pdf.

Nashelsky, Louis y Boylestad, Robert L. 2003. Electrnca: Teora de


circuitos y dispositivos electrnicos. Mxico : Pearson Educacin S.A., 2003.
970-26-0436-2.

2003. Electrnca: Teora de circuitos y dispositivos electrnicos. Mxico :


Pearson Educacin S.A., 2003. 970-26-0436-2.

Tocci, Ronald J., Widmer, Neal S. y Moss, Gregory L. 2007. Sistemas


Digitales Principios y Aplicaciones. Mxico : Pearson Educacin, 2007. 978-
970-26-0970-4.

También podría gustarte