Informe 4 Manejo de Pulsadores
Informe 4 Manejo de Pulsadores
Informe 4 Manejo de Pulsadores
505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
ELECTRICA Y
DEPARTAMENTO: CARRERA: INGENIERÍA AUTOMOTRIZ
ELECTRÓNICA
PERIODO OCTUBRE 2017 –
ASIGNATURA: Microcontroladores y Plc NIVEL: VI
LECTIVO: FEBRERO 2018
DOCENTE: Ing. Sixto Reinoso NRC: 3388 PRÁCTICA N°: 4
• ASIMBAYA RICARDO
INTEGRANTES • GRANADA JHONNY
• ROCHA STEVEEN
LABORATORIO DONDE SE DESARROLLARÁ LA PRÁCTICA AULA DE CLASE
INTRODUCCIÓN:
El pulsador es un dispositivo electrónico que funciona por lo general como un interruptor eléctrico, es decir en
su interior tiene dos contactos, al ser pulsado uno, se activará la función inversa de la que en ese momento este
realizando.
Cuando un pin no está conectado, el valor que nos devuelve la función está indeterminado y puede variar
aleatoriamente. Debido a esto y para garantizar que la función nos devuelva un LOW cuando el botón no este
oprimido, debemos poner lo que se conoce como una resistencia pull down, en el lado del botón conectado al
pin de entrada.
OBJETIVOS:
Objetivo General:
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
Entender el funcionamiento de pulsadores junto con una pantalla LCD, mediante la programación y el
desarrollo del mismo, con el microcontrolador Pic 18f4550.
Objetivos Específicos:
• Entender el funcionamiento de los pulsadores junto con la pantalla LCD
• Comprobar el funcionamiento del programa mediante el software Proteus y CCS.
• Evidenciar el funcionamiento de los circuitos correspondientes, mediante el desarrollo de las practicas
hechas en clase.
MARCO TEORÍCO
PIC C Compiler es un inteligente y muy optimizado compilador C que contienen operadores estándar del
lenguaje C y funciones incorporados en bibliotecas que son específicas a los registros de PIC, proporcionando
a los desarrolladores una herramienta poderosa para el acceso al hardware las funciones del dispositivo desde
el nivel de lenguaje C. (Aprendiendo electrónica, 2012).
El compilador CCS contiene más de 307 funciones integradas que simplifiquen el acceso al hardware, mientras
que la producción eficiente y altamente optimizado código. Se incluyen funciones de hardware del dispositivo
de características tales como:
• LCD controladores
CCS desarrolló el primer compilador C para microcontroladores Microchip hace más de 20 años y continúa
proporcionando soluciones de software a los desarrolladores de aplicaciones integradas que utilizan
dispositivos PIC MCU y PIC24 / dsPIC DSC. Los compiladores CCS son fáciles de usar y rápidos de aprender.
Para el programador menos experimentado, un libro de texto detallado que explica el lenguaje C y cómo se
puede aplicar a los microcontroladores PIC. (Custom Computer Services, Inc, 2016)
• Flujos de entrada / salida de estilo C ++ con formato de datos completo a cualquier dispositivo o para
cadenas
• Las funciones convenientes como: #bit y #byte permiten que las variables C se ubiquen en direcciones
absolutas
• El tipo integral de un bit (Short Int) permite al compilador generar código binario muy eficiente
Ideal para aplicaciones de baja potencia (nano Watt) y conectividad que se benefician de la disponibilidad de
tres puertos serie: FS-USB (12Mbit / s), I²C ™ y SPI ™ (hasta 10 Mbit / s) y una serie asincrónica Puerto
(EUSART).
Las grandes cantidades de memoria RAM para almacenamiento en memoria intermedia y la memoria de
programa Flash mejorada lo hacen ideal para aplicaciones de control y monitoreo integradas que requieren
conexión periódica con un ordenador personal (libre de herencia) vía USB para cargar / descargar datos y / o
actualizaciones de firmware. (Microchip, 2016)
Características
• Puerto de transmisión
Diagrama de pines
• Los botones son de diversas formas y tamaños y se encuentran en todo tipo de dispositivos, aunque
principalmente en aparatos eléctricos y electrónicos.
• Los botones son por lo general activados, al ser pulsados con un dedo.
• Permiten el flujo de corriente mientras son accionados. Cuando ya no se presiona sobre él vuelve a su
posición de reposo.
Puede ser un contacto normalmente abierto en reposo NA o NO (Normally Open en inglés), o con un contacto
normalmente cerrado en reposo NC.
Podemos encontrar pulsadores con componentes que tengan tres terminales, teniendo un común, un terminal
que en relación al común es un contacto normalmente abierto y un contacto normalmente cerrado respecto del
común. Otra referencia que podemos tomar para distinguir en este caso en los pulsadores, es el color,
un contacto NO suelen tener alguna parte de color verde, y los contactos NC suelen tener una parte de color
rojo.
Cuando el contacto es normalmente abierto significa que en estado de reposo ese contacto se encuentra abierto,
lo que significa que entre los dos puntos del contacto no hay continuidad. En el caso del contacto normalmente
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
cerrado es justo lo contrario, en reposo el contacto está cerrado teniendo continuidad entre los dos puntos del
contacto.
Para comprobar en qué estado se encuentra un contacto dentro de un circuito, lo realizamos de la siguiente
manera.
• Es por medio de la comprobación de continuidad. En el caso que entre los dos puntos del contacto la
resistencia sea infinita o muy elevada el contacto está abierto, en el caso que la resistencia sea 0 o muy
cercana a 0 el contacto está cerrado permitiendo la circulación de corriente a través del contacto.
(Automantenimiento.net, 2012).
Rrealizan la comunicación del PIC con la pc, a través del puerto serie, o algunos por el puerto paralelo, son
circuitos muy sencillos de unos pocos componentes.
Un clásico entre los programadores USB es el PICKIT 2, y más aún los clones de este. Muy famosos por ser
de Microchip, y por encontrarse a disposición de cualquier tanto el circuito esquemático como el código
fuente del firmware. Lo que posibilita que muchos usuarios realicen modificaciones y puedan crear su propio
programador.
El PICKIT 2 es reconocido como un dispositivo HID, por lo que no es necesario drivers extras, los sistemas
operativos modernos cuentan ya con los drivers necesarios. Se puede usar tanto en Linux, Mac como Windows.
(Programador PIC USB – PICKIT 2 Clone, 2012).
MATERIALES:
HERRAMIENTAS MATERIALES Y EQUIPOS
LEDS
Dispositivos electrónicos que se
encienden y apagan
PROCEDIMIENTO:
1. Escriba un programa para prender un LED mediante un pulsador P1 y apagar el LED con un
pulsador P2.
• PROGRAMACIÓN
#include <18f4550.h>
#fuses INTRC_IO, NOWDT, NOPROTECT, PUT, NOPBADEN
#use delay (clock=4000000)
#use standard_io(B)
#use standard_io(D)
void main()
{
disable_interrupts(GLOBAL);
while(TRUE)
{
if(input(PIN_D0)==0)
{
output_high(PIN_B0);
}
if(input(PIN_D1)==0)
{
output_low(PIN_B0);
}
}
}
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
• CIRCUITO EN PROTEUS
• EXPLICACIÓN
Se crea un programa en csc en el cual se define dos pulsadores en el mismo puerto por lo que los dos controlan
al mismo led, cuando se pulsa el primer pulsador el led se enciende, luego se pulsa el segundo pulsador y el
led se apaga.
2. Escriba un programa para prender y apagar un LED mediante un pulsador P1. Al pulsar P1 se
prende el LED. Al volver a pulsar se apaga el LED.
• PROGRAMACIÓN
#include <18f4550.h>
#fuses NOPUT, INTRC_IO, NOWDT, NOPROTECT, NOPBADEN
#use delay(clock=4000000)
#byte port_b=0xF81
#byte port_d=0xF83
#define b1 bit_test(port_b,0)
#define L1 pin_d0
#use standard_io(B)
int i=0;
void antirrebote()
{
while(b1==1)
delay_ms(30);
return;
}
void main()
{
set_tris_b(0xFF);
set_tris_d(0x00);
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
disable_interrupts(GLOBAL);
while(TRUE)
{
if(b1==1 && i==0)
{
antirrebote();
i++;
output_high(L1);
}
if(b1==1 && i==1)
{
antirrebote();
i--;
output_low(L1);
}
}
}
• CIRCUITO EN PROTEUS
• EXPLICACIÓN
Se crea un programa en csc en el cual se define un solo pulsador que controla el encendido y apagado del led,
cuando se pulsa cambia de estado, si este encendido se apaga y si está apagado se enciende esto se hace con
un solo pulsador
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
3. Escriba un programa para prender secuencialmente tres LEDS mediante un pulsador P1. Al
pulsar P1, se prende el LED1, al pulsar una segunda vez se prende el LED2 y al volver a pulsar
P1 se prende el LED3. Al pulsar P2 se apagan los tres LEDS. Se pueden apagar los LEDS si todos
están funcionando.
• PROGRAMACIÓN
#include <18f4550.h>
#fuses INTRC_IO, NOPUT, NOPBADEN, NOPROTECT, NOWDT
#use delay(clock=4000000)
#byte port_b=0xF81
#byte port_d=0xF83
#define b1 bit_test(port_b,0)
#define b2 bit_test(port_b,1)
#define L1 pin_d0
#define L2 pin_d1
#define L3 pin_d2
#use standard_io(B)
int i=0;
void antirrebote()
{
while(b1==1)
{}
while(b2==1)
{}
delay_ms(30);
return;
}
void main()
{
set_tris_b(0xFF);
set_tris_d(0x00);
disable_interrupts(GLOBAL);
while(TRUE)
{
if(b1==1 && i==0)
{
antirrebote();
i++;
output_high(L1);
}
if(b1==1 && i==1)
{
antirrebote();
i++;
output_high(L2);
}
if(b1==1 && i==2)
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
{
antirrebote();
i++;
output_high(L3);
}
if(b2==1 && i==3)
{
antirrebote();
output_low(L1);
output_low(L2);
output_low(L3);
i=0;
}
}
}
• CIRCUITO EN PROTEUS
• EXPLICACIÓN
Se crea un programa en csc con anti rebote para que con un solo led se pueda encender sucesivamente tres led
por lo que siempre se va a encender primero un led luego el siguiente y luego el tercero, además de un segundo
pulsador para apagar los led siempre y cuando los tres estén encendidos caso contrario no se apagan los led así
presiones el pulsador 2.
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
RESULTADOS OBTENIDOS:
Activa y desactiva el
puerto b
Se define el mismo
pulsador para apagar
Fin
Activa y desactiva el
puerto b
Fin
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
Activa y desactiva el
puerto b
Se define un pulsador P1
para encender
Se enciende el primer
led
Se enciende el segundo
led
Se enciende el tercer
led
Fin
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017
CONCLUSIONES:
• Es importante que la comprobación del estado de un contacto se haga sin que los contactos tengan
tensión ya que esta podría falsear la medición indicándonos resultados erróneos.
• Armar los circuitos en el Proto - Board, de manera que puedan ser adaptados a dos o más
circuitos, permite el ahorro de tiempo y materiales, y el estudiante se evita el desarmar un
circuito para volver a armar otro que ha sido similar al anterior.
BIBLIOGRAFÍA:
ANEXOS: