Cómo gobernar una lcd 2x16 desde un teclado matricial con pic
Puedes encontrar el documento en el siguiente link en la sección de Documentos: http://kudoflow.com/18090661/blog-home
Cómo gobernar una lcd 2x16 desde un teclado matricial con pic
Puedes encontrar el documento en el siguiente link en la sección de Documentos: http://kudoflow.com/18090661/blog-home
Manual tutorial muy básico para aquellas personas nóveles que quieran experimentar por primera vez hacer un programa y compilarlo con MPLAB (gratuito) de una manera muy rápida y sacar sus propias conclusiones sin tener experiencia previa sobre el tema de microcontroladores.
A starter guide how to use Microchip MPLAB IDE for PIC microcontrollers and related tools like MPLAB C18, C30 and C32 compilers, and how to MPLAB features to get connected and integrated with programmer/debugger devices and development kits from Microchip.
for more discussion and articles about different microcontroller platforms and tutorials please visit: http://elrayescampaign.blogspot.ca/
Aprende como realizar una conversión A/D con un microcontrolador PIC mediante lenguaje C, para crear un voltímetro de CD utilizando una resistencia variable.
Esta es una presentación de herramientas y textos didácticos para ayudar a profesores y estudiantes que desea emprender un camino de profundización en este campo.
Convocatoria de becas de Caja Ingenieros 2024 para cursar el Máster oficial de Ingeniería de Telecomunicacion o el Máster oficial de Ingeniería Informática de la UOC
Se denomina motor de corriente alterna a aquellos motores eléctricos que funcionan con alimentación eléctrica en corriente alterna. Un motor es una máquina motriz, esto es, un aparato que convierte una forma determinada de energía en energía mecánica de rotación o par.
Criterios de la primera y segunda derivadaYoverOlivares
Criterios de la primera derivada.
Criterios de la segunda derivada.
Función creciente y decreciente.
Puntos máximos y mínimos.
Puntos de inflexión.
3 Ejemplos para graficar funciones utilizando los criterios de la primera y segunda derivada.
Una señal analógica es una señal generada por algún tipo de fenómeno electromagnético; que es representable por una función matemática continua en la que es variable su amplitud y periodo en función del tiempo.
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