SlideShare una empresa de Scribd logo
Capacitación Certificada, Componentes & Soluciones en Electrónica y 
Programación 
Práctica II 
Control de un LED a través 
de un Botón 
www.novellius.com 
contacto@novellius.com
www.novellius.com 
Índice de Contenido 
Objetivo............................................................................................................................................................................................................4 
Solución Propuesta.................................................................................................................................................................................4 
Material Requerido...................................................................................................................................................................................4 
Software Necesario.................................................................................................................................................................................4 
Desarrollo del Programa de Control en Lenguaje C........................................................................................................5 
Acondicionamiento de la TEMPIC-45....................................................................................................................................... 12 
Programación del Microcontrolador........................................................................................................................................... 16 
Comprobación del Funcionamiento del Programa de Control................................................................................ 19 
Prácticas Propuestas..............................................................................................................................................................................20
www.novellius.com 
Índice de Figuras 
Fig. 1 Ubicación de PIC C Compiler en Windows 8®...............................................................................................5 
Fig. 2 Creación de un nuevo archivo de código fuente C para el PIC.........................................................5 
Fig. 3 Elección de la ruta para guardar el archivo de código fuente C.......................................................6 
Fig. 4 Creación de un proyecto para el archivo de código fuente C............................................................6 
Fig. 5 Incorporación de un proyecto a un archivo de código fuente C......................................................7 
Fig. 6 Implementación del PIC18F4550 en el proyecto de control...............................................................7 
Fig. 7 Diagrama de Flujo de la lógica del programa de control.......................................................................8 
Fig. 8 Compilación del programa de control.................................................................................................................11 
Fig. 9 Notificación de compilación exitosa del programa de control..........................................................11 
Fig. 10 Colocación del PIC en la Tarjeta Entrenadora...............................................................................................12 
Fig. 11 Aseguramiento del Microcontrolador a la TEMPIC-45...........................................................................12 
Fig. 12 Evitar alimentación de la TEMPIC-45 mediante el programador de PICs................................13 
Fig. 13 Alimentación de la TEMPIC-45 por medio de una fuente externa................................................13 
Fig. 14 Diagrama de la conexión de un botón al pin RA0 de la TEMPIC-45............................................14 
Fig. 15 Conexión de un botón al pin RA0 de la TEMPIC-45.................................................................................14 
Fig. 16 Conexión del programador de PICs a la TEMPIC-45................................................................................15 
Fig. 17 Conexión del programador de PICs a una Interfaz USB........................................................................15 
Fig. 18 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®......................................16 
Fig. 19 Interfaz principal del programa PICKit 2® Programmer.........................................................................16 
Fig. 20 Importación del archivo compilado (.hex).........................................................................................................17 
Fig. 21 Importación exitosa del archivo Hexadecimal..............................................................................................17 
Fig. 22 Notificación de éxito en la programación del PIC.......................................................................................18 
Fig. 23 Comprobación que los LEDs encienden al presionar el botón........................................................19 
Fig. 24 Comprobación que los LEDs se apagan al soltar el botón..................................................................19
www.novellius.com 
4 
Objetivo 
Introducir al estudiante a la programación de entradas de datos para implementar un sencillo 
sistema de control. 
Solución Propuesta 
Este ejemplo consiste en encender los diodos LED de la tarjeta de desarrollo TEMPIC-45 cada vez 
que un botón, conectado al microcontrolador sea presionado, y apagar los LEDs una vez que el 
botón sea liberado. 
Material Requerido 
1) Tarjeta Entrenadora TEMPIC-45. 
2) Programador para Microcontroladores PIC (PICKit 2® o equivalente). 
3) Microcontrolador PIC18F45501. 
4) Oscilador de 20 MHz. 
5) Cables Dupont. 
6) Push Button. 
7) Resistencia de 220 Ω. 
Software Necesario 
• Compilador CCS PCWH IDE (PIC C Compiler) o superior. 
http://www.ccsinfo.com/downloads.php 
• PICKit® 2 Programmer o equivalente. 
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDoc- 
Name=en023805 
1 Se pueden implementar una diversa varierdad de PICs. Véase el Manual de Usuario en la sección “Microcontro-ladores 
Compatibles“.
www.novellius.com 
5 
Desarrollo del Programa de Control en 
Lenguaje C 
1) Abre la aplicación PIC C Compiler. 
Fig. 1 Ubicación de PIC C Compiler en Windows 8®. 
2) Para crear un nuevo archivo de código fuente C, pulsa sobre el menú principal del programa y 
elige New > Source File. 
Fig. 2 Creación de un nuevo archivo de código fuente C para el PIC.
www.novellius.com 
3) Elige la ruta donde deseas salvar el proyecto de control, edita el nombre del archivo a 
6 
“LEDBoton.c“ y pulsa sobre el botón Guardar. 
Fig. 3 Elección de la ruta para guardar el archivo de código fuente C. 
4) Para crear un nuevo proyecto, pulsa sobre el menú principal del compilador y elige New > Project 
Manual. 
Fig. 4 Creación de un proyecto para el archivo de código fuente C.
www.novellius.com 
7 
5) Elige el archivo de código fuente C previamente creado y pulsa sobre el botón Abrir. 
Fig. 5 Incorporación de un proyecto a un archivo de código fuente C. 
6) En la sección llamada Target, selecciona el modelo de microcontrolador a implementar. Para 
este ejemplo se elegirá el PIC18F45501. 
Fig. 6 Implementación del PIC18F4550 en el proyecto de control. 
1 Se pueden implementar una diversa varierdad de PICs. Véase el Manual de Usuario en la sección 
“Microcontroladores Compatibles“.
www.novellius.com 
7) A continuación se presenta un diagrama de flujo para comprender la lógica que debe seguir el 
8 
programa. 
Mantener apagados 
los LEDs del 
Puerto B 
Ciclo Infinito ¿El botón ha sido 
Fig. 7 Diagrama de Flujo de la lógica del programa de control. 
Incluir archivos 
cabecera y librerías 
necesarios. 
Configurar fusibles 
Establecer el Puerto 
B como Salida 
Establecer el Puerto 
A como entrada 
digital 
8) Captura el siguiente código sobre el archivo “LEDBoton.c“. 
1. #include <18F4550.h> 
2. #fuses HSPLL, PLL5 
3. #use delay (clock = 20MHz) 
4. #use fast_io(B) 
5. #use fast_io(A) 
6. void main(){ 
7. set_tris_b(0x00); 
8. set_tris_a(0xFF); 
9. output_B(0x00); 
10. for(;;){ 
11. if( input(PIN_A0) == 1 ){ 
12. output_B(0xFF); 
13. } 
14. else{ 
15. output_B(0x00); 
16. } 
17. } 
18. } 
presionado? Si 
Mantener 
encendidos los LEDs 
del Puerto B 
No
www.novellius.com 
9 
Código 1-2 
1. #include <18F4550.h> 
2. #fuses HSPLL, PLL5 
La línea 1 declara la inserción del archivo cabecera correspondiente al PIC18F4550. Como 
se mencionó anteriormente, en este archivo se encuentran direccionados los puertos 
del Microcontrolador a nombres más fáciles de entender. La línea 2 incluye los fusibles2 
mínimos necesarios para el programa de control. 
Código 3-5 
3. #use delay (clock = 20MHz) 
4. #use fast_io(B) 
5. #use fast_io(A) 
La línea 3 declara la velocidad del reloj físico implementado en el PIC, en este caso 20 MHz. 
La línea 4 junto con la línea 5 declaran que los puertos B y A serán implementados como 
E/S dependiendo del valor que se almacene en el registro TRISX de cada puerto. 
Código 6-8 
6. void main(){ 
7. set_tris_b(0x00); 
8. set_tris_a(0xFF); 
La línea 6 declara el comienzo del programa, es decir el método principal. Ya que la directiva 
#use fast_io(X) no modifica previamente el registro TRISX, es necesario declarar la línea 
7, la cual establece el valor cero hexadecimal en el registro TRISB. Esto configura al Puerto B 
en su totalidad como salida digital de datos. La línea 8 escribe el valor FF en hexadecimal en 
el registro TRISA, para indicar que el Puerto A va a ser implementado como entrada digital 
de datos. 
2 Para conocer la totalidad de fusibles disponibles para la familia PIC18 visita el siguiente vínculo: 
http://ww1.microchip.com/downloads/en/DeviceDoc/51537a.pdf
www.novellius.com 
10 
Código 9-12 
9. output_B(0x00); 
10. for(;;){ 
11. if( input(PIN_A0) == 1 ){ 
12. output_B(0xFF); 
La línea 9 asigna el valor de cero hexadecimal al puerto B. Esto tendrá como consecuencia 
que inicialmente los LEDs de la TEMPIC-45 se muestren apagados. La línea 10 es el 
comienzo de un ciclo infinito para estar continuamente probando el valor del botón. En la 
línea 11 se pregunta si el botón conectado al Pin RA0 (Puerto A, bit 0) ha sido pulsado. En 
caso de que esto sea verdadero, la línea 12 encenderá los LEDs en su totalidad, los cuales 
están conectados al Puerto B. Esto se logra escribiendo en el puerto el valor FF hexadecimal. 
Código 13-18 
13. } 
14. else{ 
15. output_B(0x00); 
16. } 
17. } 
18. } 
La línea 13 es la llave de cierre de la condición establecida en la línea 11, la cual pregunta si 
se ha presionado el botón. La línea 14 se ejecuta cuando la condición de la línea 11 no se 
cumple, es decir, cuando el botón conectado a RA0 no ha sido presionado. Es entonces 
cuando la línea 15 es ejecutada, escribiendo el valor cero en hexadecimal en el Puerto B, lo 
cual ocasiona que los diodos LED de la tarjeta entrenadora se apaguen. La línea 16 es la llave 
que indica el cierre de la condición escrita en la línea 14. En seguida, la línea 17 establece el 
fin del ciclo infinito hallado en la línea 10. Finalmente la línea 18 indica que finaliza el método 
principal del programa.
www.novellius.com 
9) Compila el programa pulsando sobre el botón Compile, que se halla en el apartado del mismo 
11 
nombre. 
Fig. 8 Compilación del programa de control. 
10) Si el programa no presenta errores de sintaxis, deberá aparecer el siguiente cuadro de diálogo. 
De no ser así, se enlistarán los errores que existen junto con la línea donde están situados. 
Fig. 9 Notificación de compilación exitosa del programa de control.
www.novellius.com 
12 
Acondicionamiento de la TEMPIC-45 
1) Asegúrate de que la palanca de la Base ZIF se encuentre en posición vertical y coloca el PIC 
corroborando que su muesca se encuentre en dirección hacia la palanca de la Base ZIF. 
Fig. 10 Colocación del PIC en la Tarjeta Entrenadora. 
2) Asegura el Microcontrolador a la TEMPIC-45 deslizando la palanca de la Base ZIF hasta que 
esté totalmente horizontal. 
Fig. 11 Aseguramiento del Microcontrolador a la TEMPIC-45.
www.novellius.com 
3) Para alimentar la TEMPIC-45 desde el programador de PICs, coloca el jumper Selector de 
13 
Alimentación desde el Programador en la posición “ON” (Habilitado). 
Fig. 12 Evitar alimentación de la TEMPIC-45 mediante el programador de PICs. 
4) Para completar la configuración de alimentación externa de la TEMPIC-45, corrobora de que el 
jumper Selector de Entrada de Alimentación se encuentre en la posición “EXT” (Externa). 
Fig. 13 Alimentación de la TEMPIC-45 por medio de una fuente externa.
www.novellius.com 
5) Con base en el siguiente diagrama esquemático, realiza la conexión del Botón al PIC como se 
14 
indica. 
RA0/AN0 
2 
RA1/AN1 
3 
RA2/AN2/VREF-/CVREF 
4 
RA3/AN3/VREF+ 
5 
RA4/T0CKI/C1OUT/RCV 
6 
RA5/AN4/SS/LVDIN/C2OUT 
7 
RA6/OSC2/CLKO 
14 
OSC1/CLKI 
13 
RB0/AN12/INT0/FLT0/SDI/SDA 
33 
RB1/AN10/INT1/SCK/SCL 
34 
RB2/AN8/INT2/VMO 
35 
RB3/AN9/CCP2/VPO 
36 
RB4/AN11/KBI0/CSSPP 
37 
RB5/KBI1/PGM 
38 
RB6/KBI2/PGC 
39 
RB7/KBI3/PGD 
40 
RC0/T1OSO/T1CKI 
15 
RC1/T1OSI/CCP2/UOE 
16 
RC2/CCP1/P1A 
17 
VUSB 
18 
RC4/D-/VM 
23 
RC5/D+/VP 
24 
RC6/TX/CK 
25 
RC7/RX/DT/SDO 
26 
RD0/SPP0 
19 
RD1/SPP1 
20 
RD2/SPP2 
21 
RD3/SPP3 
22 
RD4/SPP4 
27 
RD5/SPP5/P1B 
28 
RD6/SPP6/P1C 
29 
RD7/SPP7/P1D 
30 
RE0/AN5/CK1SPP 
8 
RE1/AN6/CK2SPP 
9 
RE2/AN7/OESPP 
10 
RE3/MCLR/VPP 
1 
PIC18F4550 
220OHM 
+5V 
Fig. 14 Diagrama de la conexión de un botón al pin RA0 de la TEMPIC-45. 
6) Al finalizar las conexiones el resultado deberá ser similar a la siguiente figura. 
Nota. Existen múltiples formas de llevar a cabo la conexión del botón. 
Fig. 15 Conexión de un botón al pin RA0 de la TEMPIC-45.
www.novellius.com 
7) Conecta el programador de PICs (PICKit 2® o compatible) al Módulo de Programación de la 
15 
TEMPIC-45. Asegúrate de que la secuencia de los pines esté en perfecto orden. 
Fig. 16 Conexión del programador de PICs a la TEMPIC-45. 
8) Para energizar la TEMPIC-45, conecta el programador de PICs al puerto USB de tu equipo de 
cómputo. 
Fig. 17 Conexión del programador de PICs a una Interfaz USB.
www.novellius.com 
16 
Programación del Microcontrolador 
1) Ejecuta la aplicación PICKit 2® Programmer (o equivalente). 
Fig. 18 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®. 
2) Verifica de que el programa reconozca el modelo del microcontrolador PIC, de lo contrario revisa 
nuevamente el Acondicionamiento de la TEMPIC-45. 
Fig. 19 Interfaz principal del programa PICKit 2® Programmer.
www.novellius.com 
3) Para importar el archivo compilado del proyecto de control, pulsa sobre File > Import Hex. Navega 
hasta la ruta donde salvaste el proyecto de control y elige el archivo llamado “LEDBoton.hex”. 
Pulsa sobre el botón Abrir. 
17 
Fig. 20 Importación del archivo compilado (.hex). 
4) Una vez importado el archivo con extensión “.hex”, deberá aparecer el aviso de éxito en 
la importación. Si no es así, inspecciona nuevamente la conexión del programador de 
Microcontroladores a la TEMPIC-45. 
Fig. 21 Importación exitosa del archivo Hexadecimal.
www.novellius.com 
5) Pulsa sobre el botón Write para programar el PIC. Cuando el proceso haya finalizado se mostrará 
la siguiente notificación informando que la programación del Microcontrolador ha sido exitosa. 
18 
Fig. 22 Notificación de éxito en la programación del PIC.
www.novellius.com 
19 
Comprobación del Funcionamiento del 
Programa de Control 
1) Pulsa y mantén presionado el botón, ahora observa como los LEDs de la TEMPIC-45 han 
encendido, mientras mantengas pulsado el botón los LEDs permanecerán iluminados. 
Fig. 23 Comprobación que los LEDs encienden al presionar el botón. 
2) Ahora suelta el botón y comprueba como los diodos LED de la tarjeta entrenadora han dejado 
de iluminarse. 
Fig. 24 Comprobación que los LEDs se apagan al soltar el botón.
www.novellius.com 
20 
Prácticas Propuestas 
Nuevamente se presentan algunas prácticas para que demuestres tus habilidades en la 
programación de microcontroladores. Estos retos comprenden la Práctica I y II que acompañan a 
la TEMPIC-45. 
1) Realiza un programa el cual simule el control de una lámpara por medio de dos apagadores, 
bajo los siguientes criterios: 
a. Utiliza el LED en RB0 para simular la lámpara. 
b. Conecta dos Push Buttons en RB1 y RB2 para simular los apagadores. 
c. Inicialmente la lámpara deberá encontrarse apagada. 
d. Cualquiera de los dos botones podrán encender o apagar la lámpara, no importando 
el botón que encendió o la apagó primero. Por ejemplo: si el apagador en RB1 es 
presionado, la lámpara enciende. Si cualquiera de los dos apagadores es pulsado la 
lámpara deberá apagarse. 
2) Diseña un programa para simular una cerradura electrónica basándote en los siguientes 
puntos. 
a. Utiliza los LEDs de RB0 hasta RB3 para simular los indicadores de confirmación de la 
contraseña o la alarma, en caso de una secuencia incorrecta. 
b. Conecta 4 botones de RB4 a RB7 para introducir la combinación de la cerradura. 
c. Sea el switch conectado en RB4 el botón A, RB5 el botón B, RB6 el botón C y RB7 el 
botón D respectivamente. 
d. La combinación correcta para abrir la cerradura deberá ser: A-A-C-D-B, cualquier otra 
combinación activa la alarma. 
e. Al introducir la combinación correcta los LEDs de RB0 a RB3 se encenderán, para 
indicar que la combinación es correcta. 
f. Una vez abierta la cerradura se procederá a esperar 10 segundos y se deberá volver a 
cerrar, esperando una nueva combinación. 
g. Si al introducir una combinación un caracter no coincide con la secuencia correcta, 
se activará la alarma haciendo parpadear los LEDs de RB0 a RB3 por 10 segundos. 
Después se deberá esperar nuevamente alguna contraseña.
www.novellius.com 
Para descargar las prácticas propuestas, además de conocer la totalidad de cursos y productos en 
electrónica que ofrecemos visita: 
www.novellius.com 
o escríbenos todas tus inquietudes y comentarios a: 
contacto@novellius.com 
¿Tienes dudas acerca de esta Práctica? 
Héchale un vistazo a nuestro Curso Básico de Microcontroladores, el cual te impartimos a tu propio 
ritmo, con instructores calificados y sin salir de tu escuela. 
Para preguntas acerca de soporte técnico escríbenos a: 
soporte@novellius.com

Más contenido relacionado

PDF
360847567 libro-ejercicios-resueltos-grafcet-pdf
PPTX
PPT
Instrumentación industrial
PPT
Convertidores ac,dc
DOCX
Circuito variador de velocidad de motor ac
PDF
Manual instruccions comptador 219774145-sl7000-iec7-manual-del-usuario-esp
DOCX
Sensores y transmisores analogicos. unidad ii. ici. scm
360847567 libro-ejercicios-resueltos-grafcet-pdf
Instrumentación industrial
Convertidores ac,dc
Circuito variador de velocidad de motor ac
Manual instruccions comptador 219774145-sl7000-iec7-manual-del-usuario-esp
Sensores y transmisores analogicos. unidad ii. ici. scm

La actualidad más candente (20)

PDF
Logixpro simulaciones
PPTX
Sensores de presión
PDF
Maquinas eléctricas y sistemas de potencia.pdf
PDF
Unidad III: Polos y Ceros de una función de transferencia.
PDF
Simbologia neuMATICA
DOCX
Fuente Simetrica Regulable
PDF
Aparatos de maniobra y corte Alta Tensión
PPT
Mediciones eléctricas 2
ODP
Sensores y transmisores
PPTX
Instrumentacion industrial generalidades
PPTX
Sistemas electricos de proteccion
DOC
Amplificador Operacional Lab Nº4
PPTX
Control de motores de corriente alterna EI
DOCX
CONTROLADORES DE NIVEL
PDF
Manual instrumentacion
PPT
Clase 2 rectificadores de media onda conceptos básicos
PPTX
Termistores
DOCX
Controladores (teoria de control)
PDF
PPTX
Sesión 6 motor dc
Logixpro simulaciones
Sensores de presión
Maquinas eléctricas y sistemas de potencia.pdf
Unidad III: Polos y Ceros de una función de transferencia.
Simbologia neuMATICA
Fuente Simetrica Regulable
Aparatos de maniobra y corte Alta Tensión
Mediciones eléctricas 2
Sensores y transmisores
Instrumentacion industrial generalidades
Sistemas electricos de proteccion
Amplificador Operacional Lab Nº4
Control de motores de corriente alterna EI
CONTROLADORES DE NIVEL
Manual instrumentacion
Clase 2 rectificadores de media onda conceptos básicos
Termistores
Controladores (teoria de control)
Sesión 6 motor dc
Publicidad

Destacado (20)

PPT
comunicacion pic
PDF
TEMPIC-45 Práctica I. Control de un LED
PDF
Practica1
PPT
Introducción PICs
DOCX
Practica2
PDF
28683892 Practica1 1
PDF
28931236 Practica2
PDF
28812521 Practica1 1
PDF
Programación del ATmega8
PDF
Programacion display 16 segmentos
RTF
Act central u3
PDF
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
PPTX
Microcontroladores clase 1
PPT
PDF
Libro simulacion mikroc
PDF
Mplab Inicio Rapido
PDF
Programación del PIC18F2550
DOCX
Resumen microcontroladores
PDF
Guía de ejercicios resueltos y propuestos tema 4
PDF
Introduction to MPLAB IDE
comunicacion pic
TEMPIC-45 Práctica I. Control de un LED
Practica1
Introducción PICs
Practica2
28683892 Practica1 1
28931236 Practica2
28812521 Practica1 1
Programación del ATmega8
Programacion display 16 segmentos
Act central u3
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
Microcontroladores clase 1
Libro simulacion mikroc
Mplab Inicio Rapido
Programación del PIC18F2550
Resumen microcontroladores
Guía de ejercicios resueltos y propuestos tema 4
Introduction to MPLAB IDE
Publicidad

Similar a TEMPIC-45 Práctica II. Control de un LED a través de un botón (20)

PDF
TEMPIC-45 Práctica IV. Voltímetro de CD
PDF
Práctica III. Mostrar un mensaje en una pantalla LCD
PDF
Como programar un PIC
PDF
como programar un pic
PDF
Microcontroladores PIC
PDF
Mce pic18 preview
PDF
Programando pi cs_ccs_08
PDF
02 programarpic
PDF
Como programar en Arduino
PDF
Como programar un pic en 4 pasos
PDF
Curso pic en c nuevo
PDF
Curso de-mcu-proteus
PDF
Pic libre
PDF
Libro de lenguaje c
PDF
Libro basico pic
PDF
Curso basico de pic 16 f877
PDF
libro_microcontroladores_omarnieves
PDF
Basic
PDF
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
TEMPIC-45 Práctica IV. Voltímetro de CD
Práctica III. Mostrar un mensaje en una pantalla LCD
Como programar un PIC
como programar un pic
Microcontroladores PIC
Mce pic18 preview
Programando pi cs_ccs_08
02 programarpic
Como programar en Arduino
Como programar un pic en 4 pasos
Curso pic en c nuevo
Curso de-mcu-proteus
Pic libre
Libro de lenguaje c
Libro basico pic
Curso basico de pic 16 f877
libro_microcontroladores_omarnieves
Basic
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos

Último (20)

PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PDF
Oficio SEC 293416 Comision Investigadora
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PPTX
Logging While Drilling Ingenieria Petrolera.pptx
DOCX
Cumplimiento normativo y realidad laboral
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
PDF
Informe Estudio Final Apagon del 25 de febrero
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
presentacion sobre los polimeros, como se conforman
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
PDF
Supervisión del PROC. 228_Osinergmin.pdf
PPTX
leyes de los gases Ideales. combustible refinación
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Oficio SEC 293416 Comision Investigadora
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
prg2_t01_p01_Fundamentos POO - parte1.pdf
357161027-seguridad-industrial-diapositivas-ppt.ppt
Logging While Drilling Ingenieria Petrolera.pptx
Cumplimiento normativo y realidad laboral
Gestion de seguridad y salud ocupacional.pptx
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
Informe Estudio Final Apagon del 25 de febrero
Sustancias Peligrosas de empresas para su correcto manejo
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Módulo-de Alcance-proyectos - Definición.pdf
presentacion sobre los polimeros, como se conforman
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
Supervisión del PROC. 228_Osinergmin.pdf
leyes de los gases Ideales. combustible refinación

TEMPIC-45 Práctica II. Control de un LED a través de un botón

  • 1. Capacitación Certificada, Componentes & Soluciones en Electrónica y Programación Práctica II Control de un LED a través de un Botón www.novellius.com contacto@novellius.com
  • 2. www.novellius.com Índice de Contenido Objetivo............................................................................................................................................................................................................4 Solución Propuesta.................................................................................................................................................................................4 Material Requerido...................................................................................................................................................................................4 Software Necesario.................................................................................................................................................................................4 Desarrollo del Programa de Control en Lenguaje C........................................................................................................5 Acondicionamiento de la TEMPIC-45....................................................................................................................................... 12 Programación del Microcontrolador........................................................................................................................................... 16 Comprobación del Funcionamiento del Programa de Control................................................................................ 19 Prácticas Propuestas..............................................................................................................................................................................20
  • 3. www.novellius.com Índice de Figuras Fig. 1 Ubicación de PIC C Compiler en Windows 8®...............................................................................................5 Fig. 2 Creación de un nuevo archivo de código fuente C para el PIC.........................................................5 Fig. 3 Elección de la ruta para guardar el archivo de código fuente C.......................................................6 Fig. 4 Creación de un proyecto para el archivo de código fuente C............................................................6 Fig. 5 Incorporación de un proyecto a un archivo de código fuente C......................................................7 Fig. 6 Implementación del PIC18F4550 en el proyecto de control...............................................................7 Fig. 7 Diagrama de Flujo de la lógica del programa de control.......................................................................8 Fig. 8 Compilación del programa de control.................................................................................................................11 Fig. 9 Notificación de compilación exitosa del programa de control..........................................................11 Fig. 10 Colocación del PIC en la Tarjeta Entrenadora...............................................................................................12 Fig. 11 Aseguramiento del Microcontrolador a la TEMPIC-45...........................................................................12 Fig. 12 Evitar alimentación de la TEMPIC-45 mediante el programador de PICs................................13 Fig. 13 Alimentación de la TEMPIC-45 por medio de una fuente externa................................................13 Fig. 14 Diagrama de la conexión de un botón al pin RA0 de la TEMPIC-45............................................14 Fig. 15 Conexión de un botón al pin RA0 de la TEMPIC-45.................................................................................14 Fig. 16 Conexión del programador de PICs a la TEMPIC-45................................................................................15 Fig. 17 Conexión del programador de PICs a una Interfaz USB........................................................................15 Fig. 18 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®......................................16 Fig. 19 Interfaz principal del programa PICKit 2® Programmer.........................................................................16 Fig. 20 Importación del archivo compilado (.hex).........................................................................................................17 Fig. 21 Importación exitosa del archivo Hexadecimal..............................................................................................17 Fig. 22 Notificación de éxito en la programación del PIC.......................................................................................18 Fig. 23 Comprobación que los LEDs encienden al presionar el botón........................................................19 Fig. 24 Comprobación que los LEDs se apagan al soltar el botón..................................................................19
  • 4. www.novellius.com 4 Objetivo Introducir al estudiante a la programación de entradas de datos para implementar un sencillo sistema de control. Solución Propuesta Este ejemplo consiste en encender los diodos LED de la tarjeta de desarrollo TEMPIC-45 cada vez que un botón, conectado al microcontrolador sea presionado, y apagar los LEDs una vez que el botón sea liberado. Material Requerido 1) Tarjeta Entrenadora TEMPIC-45. 2) Programador para Microcontroladores PIC (PICKit 2® o equivalente). 3) Microcontrolador PIC18F45501. 4) Oscilador de 20 MHz. 5) Cables Dupont. 6) Push Button. 7) Resistencia de 220 Ω. Software Necesario • Compilador CCS PCWH IDE (PIC C Compiler) o superior. http://www.ccsinfo.com/downloads.php • PICKit® 2 Programmer o equivalente. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDoc- Name=en023805 1 Se pueden implementar una diversa varierdad de PICs. Véase el Manual de Usuario en la sección “Microcontro-ladores Compatibles“.
  • 5. www.novellius.com 5 Desarrollo del Programa de Control en Lenguaje C 1) Abre la aplicación PIC C Compiler. Fig. 1 Ubicación de PIC C Compiler en Windows 8®. 2) Para crear un nuevo archivo de código fuente C, pulsa sobre el menú principal del programa y elige New > Source File. Fig. 2 Creación de un nuevo archivo de código fuente C para el PIC.
  • 6. www.novellius.com 3) Elige la ruta donde deseas salvar el proyecto de control, edita el nombre del archivo a 6 “LEDBoton.c“ y pulsa sobre el botón Guardar. Fig. 3 Elección de la ruta para guardar el archivo de código fuente C. 4) Para crear un nuevo proyecto, pulsa sobre el menú principal del compilador y elige New > Project Manual. Fig. 4 Creación de un proyecto para el archivo de código fuente C.
  • 7. www.novellius.com 7 5) Elige el archivo de código fuente C previamente creado y pulsa sobre el botón Abrir. Fig. 5 Incorporación de un proyecto a un archivo de código fuente C. 6) En la sección llamada Target, selecciona el modelo de microcontrolador a implementar. Para este ejemplo se elegirá el PIC18F45501. Fig. 6 Implementación del PIC18F4550 en el proyecto de control. 1 Se pueden implementar una diversa varierdad de PICs. Véase el Manual de Usuario en la sección “Microcontroladores Compatibles“.
  • 8. www.novellius.com 7) A continuación se presenta un diagrama de flujo para comprender la lógica que debe seguir el 8 programa. Mantener apagados los LEDs del Puerto B Ciclo Infinito ¿El botón ha sido Fig. 7 Diagrama de Flujo de la lógica del programa de control. Incluir archivos cabecera y librerías necesarios. Configurar fusibles Establecer el Puerto B como Salida Establecer el Puerto A como entrada digital 8) Captura el siguiente código sobre el archivo “LEDBoton.c“. 1. #include <18F4550.h> 2. #fuses HSPLL, PLL5 3. #use delay (clock = 20MHz) 4. #use fast_io(B) 5. #use fast_io(A) 6. void main(){ 7. set_tris_b(0x00); 8. set_tris_a(0xFF); 9. output_B(0x00); 10. for(;;){ 11. if( input(PIN_A0) == 1 ){ 12. output_B(0xFF); 13. } 14. else{ 15. output_B(0x00); 16. } 17. } 18. } presionado? Si Mantener encendidos los LEDs del Puerto B No
  • 9. www.novellius.com 9 Código 1-2 1. #include <18F4550.h> 2. #fuses HSPLL, PLL5 La línea 1 declara la inserción del archivo cabecera correspondiente al PIC18F4550. Como se mencionó anteriormente, en este archivo se encuentran direccionados los puertos del Microcontrolador a nombres más fáciles de entender. La línea 2 incluye los fusibles2 mínimos necesarios para el programa de control. Código 3-5 3. #use delay (clock = 20MHz) 4. #use fast_io(B) 5. #use fast_io(A) La línea 3 declara la velocidad del reloj físico implementado en el PIC, en este caso 20 MHz. La línea 4 junto con la línea 5 declaran que los puertos B y A serán implementados como E/S dependiendo del valor que se almacene en el registro TRISX de cada puerto. Código 6-8 6. void main(){ 7. set_tris_b(0x00); 8. set_tris_a(0xFF); La línea 6 declara el comienzo del programa, es decir el método principal. Ya que la directiva #use fast_io(X) no modifica previamente el registro TRISX, es necesario declarar la línea 7, la cual establece el valor cero hexadecimal en el registro TRISB. Esto configura al Puerto B en su totalidad como salida digital de datos. La línea 8 escribe el valor FF en hexadecimal en el registro TRISA, para indicar que el Puerto A va a ser implementado como entrada digital de datos. 2 Para conocer la totalidad de fusibles disponibles para la familia PIC18 visita el siguiente vínculo: http://ww1.microchip.com/downloads/en/DeviceDoc/51537a.pdf
  • 10. www.novellius.com 10 Código 9-12 9. output_B(0x00); 10. for(;;){ 11. if( input(PIN_A0) == 1 ){ 12. output_B(0xFF); La línea 9 asigna el valor de cero hexadecimal al puerto B. Esto tendrá como consecuencia que inicialmente los LEDs de la TEMPIC-45 se muestren apagados. La línea 10 es el comienzo de un ciclo infinito para estar continuamente probando el valor del botón. En la línea 11 se pregunta si el botón conectado al Pin RA0 (Puerto A, bit 0) ha sido pulsado. En caso de que esto sea verdadero, la línea 12 encenderá los LEDs en su totalidad, los cuales están conectados al Puerto B. Esto se logra escribiendo en el puerto el valor FF hexadecimal. Código 13-18 13. } 14. else{ 15. output_B(0x00); 16. } 17. } 18. } La línea 13 es la llave de cierre de la condición establecida en la línea 11, la cual pregunta si se ha presionado el botón. La línea 14 se ejecuta cuando la condición de la línea 11 no se cumple, es decir, cuando el botón conectado a RA0 no ha sido presionado. Es entonces cuando la línea 15 es ejecutada, escribiendo el valor cero en hexadecimal en el Puerto B, lo cual ocasiona que los diodos LED de la tarjeta entrenadora se apaguen. La línea 16 es la llave que indica el cierre de la condición escrita en la línea 14. En seguida, la línea 17 establece el fin del ciclo infinito hallado en la línea 10. Finalmente la línea 18 indica que finaliza el método principal del programa.
  • 11. www.novellius.com 9) Compila el programa pulsando sobre el botón Compile, que se halla en el apartado del mismo 11 nombre. Fig. 8 Compilación del programa de control. 10) Si el programa no presenta errores de sintaxis, deberá aparecer el siguiente cuadro de diálogo. De no ser así, se enlistarán los errores que existen junto con la línea donde están situados. Fig. 9 Notificación de compilación exitosa del programa de control.
  • 12. www.novellius.com 12 Acondicionamiento de la TEMPIC-45 1) Asegúrate de que la palanca de la Base ZIF se encuentre en posición vertical y coloca el PIC corroborando que su muesca se encuentre en dirección hacia la palanca de la Base ZIF. Fig. 10 Colocación del PIC en la Tarjeta Entrenadora. 2) Asegura el Microcontrolador a la TEMPIC-45 deslizando la palanca de la Base ZIF hasta que esté totalmente horizontal. Fig. 11 Aseguramiento del Microcontrolador a la TEMPIC-45.
  • 13. www.novellius.com 3) Para alimentar la TEMPIC-45 desde el programador de PICs, coloca el jumper Selector de 13 Alimentación desde el Programador en la posición “ON” (Habilitado). Fig. 12 Evitar alimentación de la TEMPIC-45 mediante el programador de PICs. 4) Para completar la configuración de alimentación externa de la TEMPIC-45, corrobora de que el jumper Selector de Entrada de Alimentación se encuentre en la posición “EXT” (Externa). Fig. 13 Alimentación de la TEMPIC-45 por medio de una fuente externa.
  • 14. www.novellius.com 5) Con base en el siguiente diagrama esquemático, realiza la conexión del Botón al PIC como se 14 indica. RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA3/AN3/VREF+ 5 RA4/T0CKI/C1OUT/RCV 6 RA5/AN4/SS/LVDIN/C2OUT 7 RA6/OSC2/CLKO 14 OSC1/CLKI 13 RB0/AN12/INT0/FLT0/SDI/SDA 33 RB1/AN10/INT1/SCK/SCL 34 RB2/AN8/INT2/VMO 35 RB3/AN9/CCP2/VPO 36 RB4/AN11/KBI0/CSSPP 37 RB5/KBI1/PGM 38 RB6/KBI2/PGC 39 RB7/KBI3/PGD 40 RC0/T1OSO/T1CKI 15 RC1/T1OSI/CCP2/UOE 16 RC2/CCP1/P1A 17 VUSB 18 RC4/D-/VM 23 RC5/D+/VP 24 RC6/TX/CK 25 RC7/RX/DT/SDO 26 RD0/SPP0 19 RD1/SPP1 20 RD2/SPP2 21 RD3/SPP3 22 RD4/SPP4 27 RD5/SPP5/P1B 28 RD6/SPP6/P1C 29 RD7/SPP7/P1D 30 RE0/AN5/CK1SPP 8 RE1/AN6/CK2SPP 9 RE2/AN7/OESPP 10 RE3/MCLR/VPP 1 PIC18F4550 220OHM +5V Fig. 14 Diagrama de la conexión de un botón al pin RA0 de la TEMPIC-45. 6) Al finalizar las conexiones el resultado deberá ser similar a la siguiente figura. Nota. Existen múltiples formas de llevar a cabo la conexión del botón. Fig. 15 Conexión de un botón al pin RA0 de la TEMPIC-45.
  • 15. www.novellius.com 7) Conecta el programador de PICs (PICKit 2® o compatible) al Módulo de Programación de la 15 TEMPIC-45. Asegúrate de que la secuencia de los pines esté en perfecto orden. Fig. 16 Conexión del programador de PICs a la TEMPIC-45. 8) Para energizar la TEMPIC-45, conecta el programador de PICs al puerto USB de tu equipo de cómputo. Fig. 17 Conexión del programador de PICs a una Interfaz USB.
  • 16. www.novellius.com 16 Programación del Microcontrolador 1) Ejecuta la aplicación PICKit 2® Programmer (o equivalente). Fig. 18 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®. 2) Verifica de que el programa reconozca el modelo del microcontrolador PIC, de lo contrario revisa nuevamente el Acondicionamiento de la TEMPIC-45. Fig. 19 Interfaz principal del programa PICKit 2® Programmer.
  • 17. www.novellius.com 3) Para importar el archivo compilado del proyecto de control, pulsa sobre File > Import Hex. Navega hasta la ruta donde salvaste el proyecto de control y elige el archivo llamado “LEDBoton.hex”. Pulsa sobre el botón Abrir. 17 Fig. 20 Importación del archivo compilado (.hex). 4) Una vez importado el archivo con extensión “.hex”, deberá aparecer el aviso de éxito en la importación. Si no es así, inspecciona nuevamente la conexión del programador de Microcontroladores a la TEMPIC-45. Fig. 21 Importación exitosa del archivo Hexadecimal.
  • 18. www.novellius.com 5) Pulsa sobre el botón Write para programar el PIC. Cuando el proceso haya finalizado se mostrará la siguiente notificación informando que la programación del Microcontrolador ha sido exitosa. 18 Fig. 22 Notificación de éxito en la programación del PIC.
  • 19. www.novellius.com 19 Comprobación del Funcionamiento del Programa de Control 1) Pulsa y mantén presionado el botón, ahora observa como los LEDs de la TEMPIC-45 han encendido, mientras mantengas pulsado el botón los LEDs permanecerán iluminados. Fig. 23 Comprobación que los LEDs encienden al presionar el botón. 2) Ahora suelta el botón y comprueba como los diodos LED de la tarjeta entrenadora han dejado de iluminarse. Fig. 24 Comprobación que los LEDs se apagan al soltar el botón.
  • 20. www.novellius.com 20 Prácticas Propuestas Nuevamente se presentan algunas prácticas para que demuestres tus habilidades en la programación de microcontroladores. Estos retos comprenden la Práctica I y II que acompañan a la TEMPIC-45. 1) Realiza un programa el cual simule el control de una lámpara por medio de dos apagadores, bajo los siguientes criterios: a. Utiliza el LED en RB0 para simular la lámpara. b. Conecta dos Push Buttons en RB1 y RB2 para simular los apagadores. c. Inicialmente la lámpara deberá encontrarse apagada. d. Cualquiera de los dos botones podrán encender o apagar la lámpara, no importando el botón que encendió o la apagó primero. Por ejemplo: si el apagador en RB1 es presionado, la lámpara enciende. Si cualquiera de los dos apagadores es pulsado la lámpara deberá apagarse. 2) Diseña un programa para simular una cerradura electrónica basándote en los siguientes puntos. a. Utiliza los LEDs de RB0 hasta RB3 para simular los indicadores de confirmación de la contraseña o la alarma, en caso de una secuencia incorrecta. b. Conecta 4 botones de RB4 a RB7 para introducir la combinación de la cerradura. c. Sea el switch conectado en RB4 el botón A, RB5 el botón B, RB6 el botón C y RB7 el botón D respectivamente. d. La combinación correcta para abrir la cerradura deberá ser: A-A-C-D-B, cualquier otra combinación activa la alarma. e. Al introducir la combinación correcta los LEDs de RB0 a RB3 se encenderán, para indicar que la combinación es correcta. f. Una vez abierta la cerradura se procederá a esperar 10 segundos y se deberá volver a cerrar, esperando una nueva combinación. g. Si al introducir una combinación un caracter no coincide con la secuencia correcta, se activará la alarma haciendo parpadear los LEDs de RB0 a RB3 por 10 segundos. Después se deberá esperar nuevamente alguna contraseña.
  • 21. www.novellius.com Para descargar las prácticas propuestas, además de conocer la totalidad de cursos y productos en electrónica que ofrecemos visita: www.novellius.com o escríbenos todas tus inquietudes y comentarios a: contacto@novellius.com ¿Tienes dudas acerca de esta Práctica? Héchale un vistazo a nuestro Curso Básico de Microcontroladores, el cual te impartimos a tu propio ritmo, con instructores calificados y sin salir de tu escuela. Para preguntas acerca de soporte técnico escríbenos a: soporte@novellius.com