Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
TEMPIC-45 Práctica I. Control de un LED
1. Capacitación Certificada, Componentes & Soluciones en Electrónica y
Programación
Práctica I
Control de un LED
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........................................................................................................................................ 14
Programación del Microcontrolador............................................................................................................................................ 18
Comprobación del Funcionamiento del Programa de Control.................................................................................23
Prácticas Propuestas...............................................................................................................................................................................24
3. www.novellius.com
Índice de Figuras
Fig. 1 Ubicación de PIC C Compiler en Windows 8®...................................................................................................5
Fig. 2 Localización del PIC C Compiler en Windows 7®. ..........................................................................................6
Fig. 3 Ruta del ejecutable de PIC C Compiler en Windows XP®.........................................................................6
Fig. 4 Creación de un nuevo archivo de código fuente C........................................................................................7
Fig. 5 Elección de la ruta para guardar el archivo de código fuente C...........................................................7
Fig. 6 Creación de un proyecto para un archivo de código fuente C..............................................................8
Fig. 7 Inserción de un proyecto al archivo de código fuente C...........................................................................8
Fig. 8 Elección del modelo de Microcontrolador a implementar en el proyecto de control...........9
Fig. 9 Diagrama de la lógica del programa de control...............................................................................................9
Fig. 10 Compilación del código fuente creado en lenguaje C................................................................................12
Fig. 11 Confirmación exitosa de la compilación del programa de control.....................................................13
Fig. 12 Colocación del Microcontrolador en la TEMPIC-45......................................................................................14
Fig. 13 Aseguramiento del Microcontrolador a la TEMPIC-45...............................................................................14
Fig. 14 Conexión del Programador de Microcontroladores en la TEMPIC-45............................................15
Fig. 15 Configuración de la TEMPIC-45 para ser alimentada desde el Programador...........................15
Fig. 16 Configuración de la TEMPIC-45 para alimentación externa...................................................................16
Fig. 17 Habilitación de los diodos LED de la TEMPIC-45...........................................................................................16
Fig. 18 Colocación del oscilador de cuarzo en la TEMPIC-45.................................................................................17
Fig. 19 Alimentación la TEMPIC-45 por medio del programador de PICs.....................................................17
Fig. 20 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®..........................................18
Fig. 21 Localización del programa PICKit 2 Programmer en Windows 7®.....................................................19
Fig. 22 Ubicación del Programa PICKit 2 Programmer en Windows XP®......................................................19
Fig. 23 Ventana principal del Programa PICKit 2® Programmer...........................................................................20
Fig. 24 Importación del archivo Hexadecimal para la grabación del PIC........................................................20
Fig. 25 Selección del archivo Hexadecimal...........................................................................................................................21
Fig. 26 Importación exitosa del archivo Hexadecimal..................................................................................................21
Fig. 27 Programación del Microcontrolador PIC................................................................................................................22
Fig. 28 Notificación de programación exitosa del Microcontrolador.................................................................22
Fig. 29 Funcionamiento del programa de control............................................................................................................23
4. www.novellius.com
4
Objetivo
Introducir al estudiante a la programación de Microcontroladores PIC bajo lenguaje C usando la
tarjeta entradora TEMPIC-45.
Solución Propuesta
Este ejemplo consiste en desarrollar un programa para un PIC, el cual controle el estado de los
indicadores LED situados en la tarjeta de desarrollo TEMPIC-45.
Material Requerido
1) Tarjeta Entrenadora TEMPIC-45.
2) Programador para Microcontroladores PIC (PICKit 2® o equivalente).
3) Microcontrolador PIC18F45501.
4) Oscilador de 20 MHz.
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) Ejecuta el entorno de desarrollo PIC C Compiler.
A) Windows 8®
a. Abre el Menú Inicio.
b. Arrastra el cursor hacia la derecha hasta encontrar el ícono llamado PIC C Compiler.
Fig. 1 Ubicación de PIC C Compiler en Windows 8®.
6. www.novellius.com
6
B) Windows 7®
a. Pulsa sobre el Menú Inicio.
b. Abre la sección Todos los Programas.
c. Pulsa sobre la carpeta PIC-C.
d. Pulsa sobre el ícono PIC C Compiler.
Fig. 2 Localización del PIC C Compiler en Windows 7®.
C) Windows XP®
a. Pulsa sobre el Menú Inicio.
b. Abre la sección de Todos los Programas.
c. Pulsa sobre la carpeta PIC-C.
d. Pulsa sobre el ícono PIC C Compiler.
Fig. 3 Ruta del ejecutable de PIC C Compiler en Windows XP®.
7. www.novellius.com
2) Pulsa sobre el Menú principal del programa y elige la opción New; ahora pulsa sobre el menú
7
Source File. Esto creará un nuevo archivo de código fuente para el Microcontrolador.
Fig. 4 Creación de un nuevo archivo de código fuente C.
3) Aparecerá un cuadro de dialogo para guardar el archivo. Ubica la carpeta donde deseas salvar
el archivo de código fuente y edita el nombre del archivo a “LED.c”. En seguida pulsa sobre el
botón Guardar.
Fig. 5 Elección de la ruta para guardar el archivo de código fuente C.
8. www.novellius.com
4) Pulsa nuevamente sobre el menú principal del compilador y ahora elige la opción
8
New > Project Manual.
Fig. 6 Creación de un proyecto para un archivo de código fuente C.
5) Se desplegará una pantalla donde deberás elegir el archivo “LED.c” previamente creado. Una
vez seleccionado el archivo pulsa sobre el botón Abrir.
Fig. 7 Inserción de un proyecto al archivo de código fuente C.
9. www.novellius.com
6) En la pantalla titulada Project Options, la cual se mostrará a continuación, dirígete a la sección
denominada Target. Ahora selecciona el modelo de Microcontrolador a implementar, en este
caso selecciona el PIC18F45501. Una vez hallado el modelo del Microcontrolador pulsa sobre el
botón Apply.
9
Fig. 8 Elección del modelo de Microcontrolador a implementar en el proyecto de control.
7) A continuación se presenta el siguiente diagrama de flujo para modelar la lógica del programa
de control.
Fig. 9 Diagrama de la lógica del programa de control.
Incluir archivos
cabecera y librerías
necesarios.
Configurar fusibles
Establecer el Puerto
B como Salida
1 Se pueden implementar una diversa varierdad de PICs. Véase el Manual de Usuario en la sección “Microcontro-ladores
Compatibles“.
Ciclo Infinito Encender los LEDs Generar un retardo
del Puerto B
Inicialmente
mostrar apagados
los LEDs
Apagar los LEDs del
Puerto B
10. www.novellius.com
8) Una vez conociendo la lógica que debe seguir nuestro programa en forma general, realiza
la traducción del diagrama de flujo a código C. Captura el siguiente código en el compilador
PIC C Compiler sobre el archivo “LED.c”.
10
1. #include <18F4550.h>
2. #fuses HSPLL, PLL5
3. #use delay (clock = 20MHz)
4. #use fast_io(B)
5. void main(){
6. set_tris_b(0x00);
7. for(;;){
8. output_B(0xFF);
9. delay_ms(500);
10. output_B(0x00);
11. delay_ms(500);
12. }
13. }
Código 1-2
1. #include <18F4550.h>
2. #fuses HSPLL, PLL5
La línea 1 declara que se va a incluir el archivo cabecera del modelo de Microcontrolador que
vamos a implementar. En este archivo se encuentran asociadas direcciones de memoria
a constantes más fáciles de entender. En la línea 2 se configuran los fusibles2 mínimos
necesarios la nuestra aplicación de control.
2 Para conocer la totalidad de fusibles disponibles para los PIC18 visita el siguiente vínculo:
http://ww1.microchip.com/downloads/en/DeviceDoc/51537a.pdf
11. www.novellius.com
11
Código 3-5
3. #use delay (clock = 20MHz)
4. #use fast_io(B)
5. void main(){
La línea 3 estipula la velocidad del reloj físico del Microcontrolador, que en este caso es de
20MHz. Por otra parte la línea 4 declara que el Puerto B va a ser implementado como E/S
(Entrada/Salida). Los pines de un puerto E/S son configurados en forma individual para
emitir o leer señales discretas de voltaje (o sea, 0V y 5V), dependiendo del valor que se
almacene en el registro TRISB. La línea 5 es el comienzo del programa de control, a esta
línea también se le conoce como el método principal del programa.
Código 6-7
6. set_tris_b(0x00);
7. for(;;){
La línea 6 escribe en el registro TRISB el valor cero en hexadecimal, provocando que el
Puerto B sea implementado como Salida digital de datos. En la línea 7 se crea un ciclo
infinito con la finalidad de estar continuamente encendiendo y apagando los diodos LED
de la TEMPIC-45.
Código 8-11
8. output_B(0xFF);
9. delay_ms(500);
10. output_B(0x00);
11. delay_ms(500);
La línea 8 establece el valor FF hexadecimal en el Puerto B, lo cual ocasiona que los LEDs de
la TEMPIC-45 enciendan. La línea 9 genera un retardo de 500 ms (milisegundos), mientas
que la línea 10 escribe en el Puerto B el valor cero en hexadecimal, provocando que los
LEDs de la tarjeta dejen de iluminarse. La línea 11 genera nuevamente un retardo de 500
ms. La finalidad de estas demoras es que el proceso de iluminar y apagar los LEDs de la
tarjeta de desarrollo sea visible al ojo humano, ya que sin estos retardos los diodos LEDs
aparentemente estarían siempre encendidos, aunque realmente no sea así.
12. www.novellius.com
12
Código
12. }
13. }
La línea 12 es la llave que indica el cierre del ciclo infinito creado en la línea 7. Finalmente la
línea 13 indica el fin del método principal hallado en la línea 6, es decir, el fin de la ejecución
del programa de control.
9) Una vez capturado el programa de control, compílalo para buscar errores de sintaxis. Si el código
se capturó correctamente se generará un archivo con extensión “.hex”, el cual es el tipo de
archivo para grabar dentro del PIC. Para compilar el programa, pulsa sobre la opción Compile,
dentro de la sección del mismo nombre.
Fig. 10 Compilación del código fuente creado en lenguaje C.
13. www.novellius.com
10) Si el código fue escrito correctamente, se mostrará la siguiente ventana indicando que la
compilación fue exitosa. De lo contrario se enlistarán todos los errores existentes en el programa,
así como la línea en donde fueron generados. Recuerda que la compilación genera un archivo
hexadecimal preparado para ser almacenado en la memoria no volátil del PIC mediante el
proceso conocido como “quemar o grabar el PIC”.
13
Fig. 11 Confirmación exitosa de la compilación del programa de control.
14. www.novellius.com
14
Acondicionamiento de la TEMPIC-45
En esta sección se indicará como realizar la configuración de la TEMPIC-45 para que la solución de
control sea totalmente funcional.
1) Asegúrate que la palanca de la Base ZIF de la TEMPIC-45 esté totalmente vertical; ahora coloca
el PIC18F4550 verificando que la muesca de éste se encuentre en dirección hacia la palanca de
la Base ZIF.
Fig. 12 Colocación del Microcontrolador en la TEMPIC-45.
2) Una vez colocado el PIC, desliza hacia abajo la palanca de la Base ZIF para asegurarlo.
Fig. 13 Aseguramiento del Microcontrolador a la TEMPIC-45.
15. www.novellius.com
3) Coloca el programador de PICs en el Módulo de Programación, haciendo coincidir la secuencia
15
de los pines en perfecto orden.
Fig. 14 Conexión del Programador de Microcontroladores en la TEMPIC-45.
4) Ya que nuestro programa de control obtendrá voltaje desde el programador de PICs, verifica que
el Jumper Selector de Alimentación desde el Programador se encuentre habilitado, es decir, en
la posición “ON”.
Fig. 15 Configuración de la TEMPIC-45 para ser alimentada desde el Programador.
16. www.novellius.com
5) Para completar la configuración de alimentación desde el programador de PICs, revisa que el
jumper situado en el Módulo de Selección de Alimentación de la TEMPIC-45 se encuentre en la
posición “EXT“ (Externo).
16
Fig. 16 Configuración de la TEMPIC-45 para alimentación externa.
6) Con el fin de que los diodos LED de la TEMPIC-45 se encuentren habilitados, asegúrate que el
jumper Selector de Encendido/Apagado de LEDs se encuentre en la posición “ON” (Habilitado).
Fig. 17 Habilitación de los diodos LED de la TEMPIC-45.
17. www.novellius.com
7) Coloca el oscilador de 20MHz como se muestra a continuación; recuerda que este componente
17
no tiene polaridad.
Fig. 18 Colocación del oscilador de cuarzo en la TEMPIC-45.
8) Finalmente, conecta tu programador de Microcontroladores PIC al puerto USB de tu equipo de
cómputo.
Fig. 19 Alimentación la TEMPIC-45 por medio del programador de PICs.
18. www.novellius.com
18
Programación del Microcontrolador
1) Ejecuta el programa PICKit 2® Programmer (o equivalente):
A) Windows 8®
a. Abre el Menú Inicio.
b. Arrastra el cursor hacia la derecha hasta encontrar el ícono llamado PICKit 2 v 2.XX.
Fig. 20 Ubicación del programa PICKit 2 Programmer v 2.XX en Windows 8®.
19. www.novellius.com
19
B) Windows 7®
a. Pulsa sobre el Menú Inicio.
b. Abre la sección de Todos los Programas.
c. Pulsa sobre la carpeta Microchip.
d. Pulsa sobre el ícono PICKit v2.XX.
Fig. 21 Localización del programa PICKit 2 Programmer en Windows 7®.
C) Windows XP®
a. Pulsa sobre el Menú Inicio.
b. Abre la sección de Todos los Programas.
c. Pulsa sobre la carpeta Microchip.
d. Pulsa sobre el ícono PICKit 2 v2.XX.
Fig. 22 Ubicación del Programa PICKit 2 Programmer en Windows XP®.
20. www.novellius.com
2) A continuación, aparecerá la ventana del principal del programa. Si todas las conexiones se
realizaron correctamente, la leyenda “PICKit 2 found and connected PIC Device Found” se
mostrará. Esto significa que el programador ha reconocido el Microcontrolador de la TEMPIC-45
correctamente. También deberá reconocer el modelo del PIC que estamos implementando en
nuestra tarjeta entrenadora, así como mostrar su modelo en la parte superior izquierda.
20
Fig. 23 Ventana principal del Programa PICKit 2® Programmer.
3) Para importar el archivo hexadecimal, producto de la compilación del programa de control, elige
la opción File > Import Hex.
Fig. 24 Importación del archivo Hexadecimal para la grabación del PIC.
21. www.novellius.com
4) A continuación se presentará un cuadro de dialogo para elegir la ruta donde se encuentre un
archivo con extensión “.hex”. Una vez dentro de la carpeta donde guardaste el archivo de código
fuente (.c), selecciona el archivo “LED.hex”. Pulsa sobre el botón Abrir.
21
Fig. 25 Selección del archivo Hexadecimal.
5) Una vez importado el archivo hexadecimal, deberá aparecer la leyenda “Hex successfully
imported” dentro de la aplicación PICKit 2® Programmer. Si no es así, corrobora nuevamente el
acondicionamiento de la TEMPIC-45.
Fig. 26 Importación exitosa del archivo Hexadecimal.
22. www.novellius.com
6) Para grabar el archivo compilado, pulsa sobre el botón Write del programa
22
PICKit 2® Programmer.
Fig. 27 Programación del Microcontrolador PIC.
7) Una vez terminada la programación del Microcontrolador, se nos mostrará el aviso
“Programming Succesfull”, lo cual quiere decir que estás listo para probar la solución de control.
Fig. 28 Notificación de programación exitosa del Microcontrolador.
23. www.novellius.com
23
Comprobación del Funcionamiento del
Programa de Control
1) Inmediatamente después de la programación del Microcontrolador, observa como los diodos
LED de la TEMPIC-45 encienden y después de un retardo dejan de iluminarse.
Fig. 29 Funcionamiento del programa de control.
24. www.novellius.com
24
Prácticas Propuestas
Ahora ya conoces el funcionamiento básico de la tarjeta entrenadora TEMPIC-45. Es momento de
demostrar tus habilidades en la programación e implementación de sistemas embebidos, para lo
cual se presentan algunas prácticas.
1) Desarrolla un péndulo usando los LEDs de la TEMPIC-45 en base a los siguientes puntos:
a. El LED asociado al pin RB0 deberá encender primero.
b. Después de un retardo de 300 ms se iluminará el LED conectado al pin RB1, apagando
el LED del pin RB0 previamente. La secuencia deberá continuar así hasta llegar al diodo
LED asociado al pin RB7.
c. Cuando la serie alcance al pin RB7, se procederá a recorrer la misma secuencia en
forma inversa hasta llegar al LED del pin RB0.
d. Repite la secuencia colocándola dentro de un ciclo infinito.
2) Codifica un programa para controlar una secuencia usando LEDs de la siguiente forma:
a. Los LEDs encontrados en los pines RB3 y RB4 deberán encender al mismo tiempo.
b. Después de generar un retardo de 250 ms los diodos LED asociados a los pines RB2
y RB5 deberán iluminarse al mismo tiempo, apagando previamente los LEDs de los
pines RB3 y RB4.
c. Repite la secuencia hasta tener iluminados los LEDs conectados a los pines RB0 y RB7.
d. Una vez alcanzados los LEDs de los pines RB0 y RB7 itera la serie hasta llegar a los
LEDs de los pines RB3 y RB4.
e. La secuencia deberá estar siempre en perfecta sincronía.
f. Itera continuamente la serie con la ayuda de un ciclo infinito.
25. 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?
É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