SlideShare una empresa de Scribd logo
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
INFORME DE
LABORATORIO N°1:
“Control de entradas/salidas”
Integrantes: Diego Anabalon
Juan A. Tapia
Sección: 02
Fecha Entrega: 22/04/19
Profesor: Samuel Bustos
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
OBJETIVOS
 Familiarizarse con las aplicaciones de Compilación, Simulación y
Programación para microcontroladores PIC.
 Aprender a definir y controlar terminales de entrada y salida.
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
MARCO TEORICO
1) Describir el microcontrolador utilizado y sus principales
características
El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente
a la Gama Media (según la clasificación dada a los microcontroladores por la
misma empresa fabricante) Microchip.
Se trata de uno de los microcontroladores más populares del mercado
actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un
conjunto de instrucciones RISC muy amigable para memorizar y fácil de entender.
Se ha usado en numerosas aplicaciones, que van desde los automóviles a
decodificadores de televisión.
Fig. N°1 “Imagen referencia PIC16F84”
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Especificaciones:
- Fabricante: Microchip
- Categoría de producto: Microcontroladores de 8 bits - MCU
- Núcleo: PIC
- Serie de procesadores: PIC16
- Ancho de bus de datos: 8 bit
- Frecuencia de reloj máxima: 20 MHz
- Tamaño de memoria del programa: 1.75 KB
- Tamaño de RAM de datos: 68 B
- Conversión analógico-digital en chip: No
- Voltaje de alimentación operativo: 2 V a 5.5 V
- Tamaño de ROM de datos: 64 B
- Temperatura de trabajo máxima: + 85 C
- Temperatura de trabajo mínima: - 40 C
- Número de entradas / salidas programables: 13
- Número de temporizadores: 1
- Empaquetado: Tube
- Tipo de memoria de programa: Flash
- Cantidad de empaque de fábrica: 25
- Voltaje de alimentación - Máx.: 5.5 V
- Voltaje de alimentación - Mín.: 4 V
2) Describir que son los #Fuses, y definir brevemente cada uno de ellos.
Son configuraciones de la forma de funcionamiento del microcontrolador, se
transfieren al PIC cada vez que se graba un programa. El PIC 16F84A posee
cuatro fusibles que son:
- Oscilador (OSC): Es el modo de oscilación que va a usar el PIC
- WDT (Watchdog Timer): El famoso “perro guardián” del PIC. Esta es una
capacidad del PIC de autoresetearse en situaciones donde por ejemplo hay
un bucle infinito.
- PWRT (Power Up Timer Reset): Si activamos este FUSE, lo que
conseguimos es que se genere un retardo en la inicialización del Pic. Esto
se usa para que la tensión se estabilice.
- CP (Code Protect): Lo único que hace es impedir que algun curioso se
apropie de tu creación no tiene efecto alguno en el correcto funcionamiento
del PIC.
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
3) Describir la función de la directiva #use fast_io(X)
Esta directiva se utiliza para optimizar el código generado por el compilador
cuando se utilizan funciones de manejo de entrada y salida como “input(pin)”
definidas ya en CCS.
4) Describir qué hace la función set_tris_X(value)
Estas funciones permiten escribir directamente los registros tri-estado para la
configuración de los puertos (configurar pines de entrada y salida)
5) Explicar qué hacen y cómo se utlizan las siguientes funciones:
output_high(pin), output_low(pin), output_x(value), output_bit(pin,
value), input(pin)
- output_high(pin): pone a "1" el pin indicado. Ejemplo : Output_high(PIN_C0)
- output_low(pin): pone a "0" el pin indicado. Ejemplo : Output_low(PIN_D0)
- output_x(value): Se usa para controlar el puerto entero, está la función
dónde x es la letra del puerto a usar. Ejemplo, para usar el puerto b,
pondremos output_b(DATO);
- output_bit(pin, value): Los parámetros configura el PIN ingresado con el
estado del valor "0" o "1". Esta función se utiliza para cambiar los estados
del algún PIN. Ejemplo: output_bit(PIN_D0, 0)
- input(pin): El parámetro configura un PIN específico para determinar su
estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin.
Ejemplo: if(input(pin_a1)==1 || input(pin_a2)==1)
6) Explicar las configuraciones pull-up y pull-down para las conexiones
de entrada de un microcontrolador.
- PULL-UP: En la configuración pull up, cuando el circuito está en reposo, P1
sin pulsar, la caída de tensión es de 5V (HIGH), en cambio cuando
pulsamos P1 se deriva toda la corriente a masa y la caída de tensión es 0V
(LOW).
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
- PULL-DOWN: En la configuración pull down, cuando el circuito está en
reposo como se muestra en la imagen de arriba, la caída de tensión en la
resistencia es prácticamente 0V (LOW), en cambio si pulsamos P1, dejará
pasar la corriente y tendremos una diferencia de potencial de 5V (HIGH).
Este es el uso normal del estado LOW y HIGH.
ACTIVIDAD DE LABORATORIO
Generar un programa en C que funcione de manera similar a un semáforo
de cruce peatonal, simulado con tres luces led para los automóviles, dos luces led
para los peatones, y dos botones.
El semáforo para los automóviles debe permanecer normalmente en verde
y el de los peatones en rojo, una vez que se detecte el accionamiento de uno de
los botones, el semáforo para automóviles debería permanecer en amarillo por
tres segundos, y luego en rojo por 10 segundos.
Luego de que el semáforo para automóviles esté en rojo, la luz para los
peatones debe cambiar a verde, y 3 segundos antes de cambiar a rojo debe
comenzar a parpadear.
Al volver a activar la luz roja para los peatones, debe activarse la luz verde
para los automóviles y permanecer así hasta que vuelva a presionarse uno de los
botones.
Utilizando el Software Proteus, diseñar el circuito necesario para
implementar el problema propuesto. Considerar en el diseño la disposición de
resistencias pull-up o pull-down para la conexión de los botones, y las resistencias
en serie con los leds. Simular el circuito con el programa realizado en C.
Grabar programa en el microcontrolador e implementar el diseño del
circuito.
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
PROCEDIMIENTO REALIZADO
Materiales utilizados:
- 2 leds verdes.
- 2 leds rojos.
- 1 led amarillo.
- 5 resistencias de 330[Ω].
- 1 PIC 16F84A.
- Entrenador Digital.
- Multitester
- Cable de Timbre.
El circuito con que trabajamos es:
Fig. N°2: “Circuito en Proteus”
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
CÓDIGO:
#include <16F628.h>
#FUSES NOWDT //"Perro guardian" en caso de entrar a un bucle infinito
#FUSES NOPROTECT //No proteccion
#FUSES INTRC //Oscilador interno del microcontrolador
#use delay(clock=4000000)
#use fast_io(A) //Directiva que me hace el codigo mas eficiente
#use fast_io(B)
void main(){
set_tris_A(0b00000011); //Defino entradas y salidas: 0=salida, 1=entradas
set_tris_B(0b00000000); //la b indica que estoy trabajando en binario
output_b(0b00000000);
delay_ms(1000); //ms=milisegundos
output_high(pin_a3); //se enciende el verde de los vehiculos
output_high(pin_b1); //se enciende el rojo de los peatones
while(true){
if(input(pin_a0) == 1){
output_low(pin_a3); //se apaga verde de autos
output_high(pin_b2); //enciende amarillo por 3s
delay_ms(3000);
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
output_low(pin_b2); //se apaga amarillo
output_low(pin_b1); //se apaga rojo peatones
output_high(pin_a2); //se prende rojo vehiculo
output_high(pin_b0); //se enciende verde de peatones
delay_ms(7000); //pausa de 7 segundos
output_low(pin_b0); //parpadeo 3s peatones
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(500);
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
output_low(pin_a2); //se apaga el rojo autos
output_high(pin_a3); //se enciende verde autos (estado inicial)
output_high(pin_b1); //se prende rojo peatones (estado inicial)
}
if(input(pin_a1) == 1){ //ciclo para el otro interruptor
output_low(pin_a3); //se apaga verde de autos
output_high(pin_b2); //enciende amarillo por 3s
delay_ms(3000);
output_low(pin_b2); //se apaga amarillo
output_low(pin_b1); //se apaga rojo peatones
output_high(pin_a2); //se prende rojo vehículo
output_high(pin_b0); //se enciende verde de peatones
delay_ms(7000);
output_low(pin_b0); //parpadeo 3s peatones
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(500);
output_low(pin_a2); //se apaga el rojo autos
output_high(pin_a3); //se enciende verde autos (estado inicial)
output_high(pin_b1); //se prende rojo peatones (estado inicial)
}
}
}
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Luego montar el circuito y cargar el programa al PIC tenemos las siguientes
secuencias de imágenes donde podemos ver la ejecución del programa de forma
practica:
Fig. N°3: “Rojo peatones y verde automóvil”
Fig. N°4: “Rojo peatones y amarillo
automóvil”
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Figura N°5: “Verde peatones y rojo
automóvil”
Figura N°6: “Verde parpadeando peatones y
rojo automóvil”
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Figura N°7: “Rojo peatones y verde automóvil
(estado inicial)”
UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
CONCLUSION
 Los #FUSES son configuraciones de la forma de funcionamiento del
microcontrolador, se transfieren al PIC cada vez que se graba un programa
 #use fast_io(X) se utiliza para optimizar el código generado por el
compilador cuando se utilizan funciones de manejo de entrada y salida.
 Las funcionesset_tris_X(value) permiten escribir directamente los registros
tri-estado para la configuración de los puertos
 output_high(pin): pone a "1" el pin indicado
output_low(pin): pone a "0" el pin indicado
output_x(value): Se usa para controlar el puerto entero
output_bit(pin, value): configura el PIN ingresado con el estado del valor "0"
o "1". Esta función se utiliza para cambiar los estados del algún PIN
input(pin): El parámetro configura un PIN específico para determinar su
estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin.

Más contenido relacionado

La actualidad más candente

Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
Luis Zurita
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
Juan Navarrete Guzman
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
Deyvis Gonzales Guevara
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza
 
Implementacion del 16F84A
Implementacion del 16F84AImplementacion del 16F84A
Implementacion del 16F84AMicroPart
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2
Alejandro Garcia
 
Registros del Pic 16F84
Registros del Pic 16F84Registros del Pic 16F84
Registros del Pic 16F84
Ashley Stronghold Witwicky
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
guestf09168b
 
USBee_datasheet
USBee_datasheetUSBee_datasheet
USBee_datasheet
elektrostorecali
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886luisvargasquinto
 

La actualidad más candente (18)

Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
 
Ejemplos pic c
Ejemplos pic cEjemplos pic c
Ejemplos pic c
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Sistemas Microprocesados I
Sistemas Microprocesados ISistemas Microprocesados I
Sistemas Microprocesados I
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
05.Manejo de interrupciones
05.Manejo de interrupciones05.Manejo de interrupciones
05.Manejo de interrupciones
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Implementacion del 16F84A
Implementacion del 16F84AImplementacion del 16F84A
Implementacion del 16F84A
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2
 
Registros del Pic 16F84
Registros del Pic 16F84Registros del Pic 16F84
Registros del Pic 16F84
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
USBee_datasheet
USBee_datasheetUSBee_datasheet
USBee_datasheet
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886
 

Similar a Lab 01 micro

Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso-de-PLC.pdf
Curso-de-PLC.pdfCurso-de-PLC.pdf
Curso-de-PLC.pdf
MarcoAntonioGonzales31
 
Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercanteDaniel Remondegui
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
dy vc
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-unoAngelik Hdez
 
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
Victor Asanza
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
Hamiltonn Casallas
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
Maestros Online
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
Maestros Online Mexico
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
Francisco Acevedo Hernandez
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
Aldo Corp
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Oscar Pastrana
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
Hamiltonn Casallas
 
Informe1
Informe1Informe1
Informe1
Diego Bayona
 
Micro1
Micro1Micro1

Similar a Lab 01 micro (20)

Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso-de-PLC.pdf
Curso-de-PLC.pdfCurso-de-PLC.pdf
Curso-de-PLC.pdf
 
Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
⭐⭐⭐⭐⭐ #Microcontroladores y #LabView
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
 
Tarea final
Tarea finalTarea final
Tarea final
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Informe1
Informe1Informe1
Informe1
 
Micro1
Micro1Micro1
Micro1
 

Último

SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
JonathanFernandoRodr
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
thatycameron2004
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 

Último (20)

SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 

Lab 01 micro

  • 1. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores INFORME DE LABORATORIO N°1: “Control de entradas/salidas” Integrantes: Diego Anabalon Juan A. Tapia Sección: 02 Fecha Entrega: 22/04/19 Profesor: Samuel Bustos
  • 2. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores OBJETIVOS  Familiarizarse con las aplicaciones de Compilación, Simulación y Programación para microcontroladores PIC.  Aprender a definir y controlar terminales de entrada y salida.
  • 3. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores MARCO TEORICO 1) Describir el microcontrolador utilizado y sus principales características El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media (según la clasificación dada a los microcontroladores por la misma empresa fabricante) Microchip. Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un conjunto de instrucciones RISC muy amigable para memorizar y fácil de entender. Se ha usado en numerosas aplicaciones, que van desde los automóviles a decodificadores de televisión. Fig. N°1 “Imagen referencia PIC16F84”
  • 4. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores Especificaciones: - Fabricante: Microchip - Categoría de producto: Microcontroladores de 8 bits - MCU - Núcleo: PIC - Serie de procesadores: PIC16 - Ancho de bus de datos: 8 bit - Frecuencia de reloj máxima: 20 MHz - Tamaño de memoria del programa: 1.75 KB - Tamaño de RAM de datos: 68 B - Conversión analógico-digital en chip: No - Voltaje de alimentación operativo: 2 V a 5.5 V - Tamaño de ROM de datos: 64 B - Temperatura de trabajo máxima: + 85 C - Temperatura de trabajo mínima: - 40 C - Número de entradas / salidas programables: 13 - Número de temporizadores: 1 - Empaquetado: Tube - Tipo de memoria de programa: Flash - Cantidad de empaque de fábrica: 25 - Voltaje de alimentación - Máx.: 5.5 V - Voltaje de alimentación - Mín.: 4 V 2) Describir que son los #Fuses, y definir brevemente cada uno de ellos. Son configuraciones de la forma de funcionamiento del microcontrolador, se transfieren al PIC cada vez que se graba un programa. El PIC 16F84A posee cuatro fusibles que son: - Oscilador (OSC): Es el modo de oscilación que va a usar el PIC - WDT (Watchdog Timer): El famoso “perro guardián” del PIC. Esta es una capacidad del PIC de autoresetearse en situaciones donde por ejemplo hay un bucle infinito. - PWRT (Power Up Timer Reset): Si activamos este FUSE, lo que conseguimos es que se genere un retardo en la inicialización del Pic. Esto se usa para que la tensión se estabilice. - CP (Code Protect): Lo único que hace es impedir que algun curioso se apropie de tu creación no tiene efecto alguno en el correcto funcionamiento del PIC.
  • 5. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores 3) Describir la función de la directiva #use fast_io(X) Esta directiva se utiliza para optimizar el código generado por el compilador cuando se utilizan funciones de manejo de entrada y salida como “input(pin)” definidas ya en CCS. 4) Describir qué hace la función set_tris_X(value) Estas funciones permiten escribir directamente los registros tri-estado para la configuración de los puertos (configurar pines de entrada y salida) 5) Explicar qué hacen y cómo se utlizan las siguientes funciones: output_high(pin), output_low(pin), output_x(value), output_bit(pin, value), input(pin) - output_high(pin): pone a "1" el pin indicado. Ejemplo : Output_high(PIN_C0) - output_low(pin): pone a "0" el pin indicado. Ejemplo : Output_low(PIN_D0) - output_x(value): Se usa para controlar el puerto entero, está la función dónde x es la letra del puerto a usar. Ejemplo, para usar el puerto b, pondremos output_b(DATO); - output_bit(pin, value): Los parámetros configura el PIN ingresado con el estado del valor "0" o "1". Esta función se utiliza para cambiar los estados del algún PIN. Ejemplo: output_bit(PIN_D0, 0) - input(pin): El parámetro configura un PIN específico para determinar su estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin. Ejemplo: if(input(pin_a1)==1 || input(pin_a2)==1) 6) Explicar las configuraciones pull-up y pull-down para las conexiones de entrada de un microcontrolador. - PULL-UP: En la configuración pull up, cuando el circuito está en reposo, P1 sin pulsar, la caída de tensión es de 5V (HIGH), en cambio cuando pulsamos P1 se deriva toda la corriente a masa y la caída de tensión es 0V (LOW).
  • 6. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores - PULL-DOWN: En la configuración pull down, cuando el circuito está en reposo como se muestra en la imagen de arriba, la caída de tensión en la resistencia es prácticamente 0V (LOW), en cambio si pulsamos P1, dejará pasar la corriente y tendremos una diferencia de potencial de 5V (HIGH). Este es el uso normal del estado LOW y HIGH. ACTIVIDAD DE LABORATORIO Generar un programa en C que funcione de manera similar a un semáforo de cruce peatonal, simulado con tres luces led para los automóviles, dos luces led para los peatones, y dos botones. El semáforo para los automóviles debe permanecer normalmente en verde y el de los peatones en rojo, una vez que se detecte el accionamiento de uno de los botones, el semáforo para automóviles debería permanecer en amarillo por tres segundos, y luego en rojo por 10 segundos. Luego de que el semáforo para automóviles esté en rojo, la luz para los peatones debe cambiar a verde, y 3 segundos antes de cambiar a rojo debe comenzar a parpadear. Al volver a activar la luz roja para los peatones, debe activarse la luz verde para los automóviles y permanecer así hasta que vuelva a presionarse uno de los botones. Utilizando el Software Proteus, diseñar el circuito necesario para implementar el problema propuesto. Considerar en el diseño la disposición de resistencias pull-up o pull-down para la conexión de los botones, y las resistencias en serie con los leds. Simular el circuito con el programa realizado en C. Grabar programa en el microcontrolador e implementar el diseño del circuito.
  • 7. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores PROCEDIMIENTO REALIZADO Materiales utilizados: - 2 leds verdes. - 2 leds rojos. - 1 led amarillo. - 5 resistencias de 330[Ω]. - 1 PIC 16F84A. - Entrenador Digital. - Multitester - Cable de Timbre. El circuito con que trabajamos es: Fig. N°2: “Circuito en Proteus”
  • 8. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores CÓDIGO: #include <16F628.h> #FUSES NOWDT //"Perro guardian" en caso de entrar a un bucle infinito #FUSES NOPROTECT //No proteccion #FUSES INTRC //Oscilador interno del microcontrolador #use delay(clock=4000000) #use fast_io(A) //Directiva que me hace el codigo mas eficiente #use fast_io(B) void main(){ set_tris_A(0b00000011); //Defino entradas y salidas: 0=salida, 1=entradas set_tris_B(0b00000000); //la b indica que estoy trabajando en binario output_b(0b00000000); delay_ms(1000); //ms=milisegundos output_high(pin_a3); //se enciende el verde de los vehiculos output_high(pin_b1); //se enciende el rojo de los peatones while(true){ if(input(pin_a0) == 1){ output_low(pin_a3); //se apaga verde de autos output_high(pin_b2); //enciende amarillo por 3s delay_ms(3000);
  • 9. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores output_low(pin_b2); //se apaga amarillo output_low(pin_b1); //se apaga rojo peatones output_high(pin_a2); //se prende rojo vehiculo output_high(pin_b0); //se enciende verde de peatones delay_ms(7000); //pausa de 7 segundos output_low(pin_b0); //parpadeo 3s peatones delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(500);
  • 10. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores output_low(pin_a2); //se apaga el rojo autos output_high(pin_a3); //se enciende verde autos (estado inicial) output_high(pin_b1); //se prende rojo peatones (estado inicial) } if(input(pin_a1) == 1){ //ciclo para el otro interruptor output_low(pin_a3); //se apaga verde de autos output_high(pin_b2); //enciende amarillo por 3s delay_ms(3000); output_low(pin_b2); //se apaga amarillo output_low(pin_b1); //se apaga rojo peatones output_high(pin_a2); //se prende rojo vehículo output_high(pin_b0); //se enciende verde de peatones delay_ms(7000); output_low(pin_b0); //parpadeo 3s peatones delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250);
  • 11. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(250); output_high(pin_b0); delay_ms(250); output_low(pin_b0); delay_ms(500); output_low(pin_a2); //se apaga el rojo autos output_high(pin_a3); //se enciende verde autos (estado inicial) output_high(pin_b1); //se prende rojo peatones (estado inicial) } } }
  • 12. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores Luego montar el circuito y cargar el programa al PIC tenemos las siguientes secuencias de imágenes donde podemos ver la ejecución del programa de forma practica: Fig. N°3: “Rojo peatones y verde automóvil” Fig. N°4: “Rojo peatones y amarillo automóvil”
  • 13. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores Figura N°5: “Verde peatones y rojo automóvil” Figura N°6: “Verde parpadeando peatones y rojo automóvil”
  • 14. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores Figura N°7: “Rojo peatones y verde automóvil (estado inicial)”
  • 15. UNIVERSIDADDEL BIO-BIO Facultadde Ingeniería Departamentode IngenieríaEléctricayElectrónica Laboratoriode Microcontroladores CONCLUSION  Los #FUSES son configuraciones de la forma de funcionamiento del microcontrolador, se transfieren al PIC cada vez que se graba un programa  #use fast_io(X) se utiliza para optimizar el código generado por el compilador cuando se utilizan funciones de manejo de entrada y salida.  Las funcionesset_tris_X(value) permiten escribir directamente los registros tri-estado para la configuración de los puertos  output_high(pin): pone a "1" el pin indicado output_low(pin): pone a "0" el pin indicado output_x(value): Se usa para controlar el puerto entero output_bit(pin, value): configura el PIN ingresado con el estado del valor "0" o "1". Esta función se utiliza para cambiar los estados del algún PIN input(pin): El parámetro configura un PIN específico para determinar su estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin.