Pic 18f4550

UNIVERSIDAD TÉCNICA DE COTOPAXI FACULTAD DE CIENCIAS DE LA INGENIERÍA Y APLICADAS CARRERA DE INGENIERÍA ELECTROMECÁNICA

Views 95 Downloads 5 File size 463KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD TÉCNICA DE COTOPAXI FACULTAD DE CIENCIAS DE LA INGENIERÍA Y APLICADAS CARRERA DE INGENIERÍA ELECTROMECÁNICA MICROPROCEADORES Y MICROCONROLADORES

La programación del PIC18F4550 empleando PIC C Compiler Y SIMULACION EN PROTEUS

LINK DEL VIDEO: https://drive.google.com/file/d/11fwkGf6_xcfn2-knfCrBQEDrdDGXS116/view?usp=sharing FECHA: 18/07/2020 INTEGRANTES:

• MARCO PALLO • DIEGO DE LA CRUZ

UNIVERSIDAD TÉCNICA DE COTOPAXI PROYECTO PARCIAL 2 CARRERA DE INGENIERÍA ELECTROMECÁNICA

CARRERA

CÓDIGO DE LA ASIGNATURA

NOMBRE DE LA ASIGNATURA

INGENIERIA ELECTROMECÁNICA

IELM603M2

MICROPROCESADORES Y MICROCONTROLADORES

PRÁCTICA N° 01

NOMBRE DE LA PRÁCTICA:

“Programación y Simulación en proteus” INTEGRANTES

• •

1

Diego Armando De la Cruz Marco Vinicio Pallo Sanchez

OBJETIVOS

Objetivo general.

“Realiza un esquema electrónico que cumpla ciertas características de programación empleando PIC C Compiler, mediante el uso del microcontrolador PIC18F4550 y el programa Proteus”. Objetivos específicos.

• • •

2

Realizar los circuitos establecidos en la guía en el programa proteus. Analizar las respectivas entradas del PIC, para poder programar de una mejor manera. Asegurar que las conexiones coincidan con las entradas del PIC y de la programación.

FUNDAMENTACIÓN TEÓRICA

2.1. INTRODUCCIÓN.

La electrónica y sus avances en los últimos años han denotado pasos sumamente agigantados tal es que ahora en el entorno que nos rodea no puede faltar algún dispositivo electrónico que este programado para cumplir ciertos trabajos para los cuales fueron diseñados y programados, y es por ello que los estudiantes de ingeniería electromecánica deben abordar estos temas y construir la idealización de la programación como eje principal de procesos posteriores Los microcontroladores surgieron a partir de una necesidad concreta que tuvieron ingenieros japoneses de la empresa Busicom en 1969. El requerimiento fue obtener una cantidad de circuitos integrados para calculadoras que fueran diseñados de acuerdo a sus proyectos. Estos requerimientos fueron expuestos a la empresa Intel. La solución propuesta por el jefe del proyecto, Marcían Hoff, requería que la operación del circuito integrado fuera determinada

por un programa almacenado en el propio circuito (Milán, 2008). De esta manera nació el primer micro controlador, el cual ha evolucionado rápidamente hasta nuestros días. 2.2.

MARCO TEORICO.

Para el desarrollo de este proyecto es necesario abordar varios conceptos como los detallados a continuación.

Los microcontroladores son circuitos integrados programables que contienen todos los elementos necesarios para desarrollar y controlar una tarea determinada. La cantidad de componentes que se integran a los microcontroladores depende del diseño de los fabricantes, sin embargo, los elementos básicos suelen ser: microprocesador, memoria RAM, memoria de programa, convertidor A/D, oscilador, puerto de comunicación, etc. Esto le ha brindado una gran versatilidad a este tipo de dispositivos y hoy en día su utilización se ha incrementado enormemente en el mundo (Palacios, Remiro, & López, 2004).

Figura 1. Componentes de los microcontroladores. Las ventajas que ofrecen los microcontroladores PIC son (Casacuberta, 2010): • Existe gran variedad de familias. • Poseen herramientas de desarrollo comunes. • Existe una gran cantidad de unidades funcionales embebidas (temporizadores, USART, convertidores A/D, USB, RF, Ethernet, etc.). • Precios competitivos-Amplio soporte (hojas de datos, libros, información disponible en internet). Arquitectura interna Los microcontroladores PIC utilizan la arquitectura Harvard, lo cual significa que disponen de dos memorias independientes, una para el programa y la otra para los datos, cada una con sus respectivos buses. Esto le brinda a los microcontroladores la posibilidad de tener acceso simultáneo a ambas memorias, así como solapar operaciones para mejorar el rendimiento (Salamanca, 2003). Datos del PIC18F4550 Los microcontroladores PIC existen en gamas de 8-bit, 16-bit y 32-bit.Dentro de la gama más simple de 8-bit se encuentra el microntrolador PIC18F4550, el cual pertenece a la familia PIC18 MCU. Sus características de memoria de programa, memoria RAM, número de entradas/salidas, número de canales analógicos y tipos de puertos de comunicación, han hecho de este PIC uno de los más utilizados para diversas aplicaciones. Microchip ofrece la hoja de datos (datasheet) de todos sus microcontroladores de forma gratuita, las cuales se pueden descargar directamente desde su página web. Enseguida, en la imagen 2 se presenta la descripción de pines del microcontrolador PIC18F4550.

Figura 2. Esquema de pines del PIC18F4550 (microchip). En la realización de proyectos que involucran el control de dispositivos mediante microcontroladores siempre será necesaria la utilización de diferentes componentes electrónicos que son externos al PIC y que son necesarios para el correcto funcionamiento del proyecto realizado. Fuente de alimentación El microcontrolador PIC18F4550 se alimenta con 5V DC, los cuales se aplican entre los pines de alimentación VDD (+) y VSS (-). El consumo de corriente del dispositivo depende de las cargas conectadas al microcontrolador y de su frecuencia de trabajo. Se aconseja que se coloque un capacitor de desacoplo de 100nF lo más cerca posible de los pines de alimentación (Palacios, Remiro, & López, 2004).Una fuente DC de 5V y por lo menos 700mA será suficiente para el desarrollo de todos los proyectos. COMPONENTES QUE SE REQUIEREN PARA ACOPLAR CON EL PIC. OSCILADOR Los microcontroladores siempre requieren de un circuito que les indique la velocidad de trabajo. A estos circuitos se les llaman osciladores o relojes. Los osciladores generan ondas cuadradas de alta frecuencia.

Figura 3. a) Oscilador HS de 20 MHz.

b.) Símbolo electrónico.

Botón pulsador. Los botones pulsadores permiten introducir señales digitales (niveles lógicos “0” ó “1”) hacia los microcontroladores. Es posible establecer dos arreglos diferentes para establecer el nivel nivel lógico que se desea introducir de manera inicial (cuando aún no se ha presionado el botón pulsador). Los dos tipos de arreglos se muestran en la figura 4.

Figura 4. a.) Entrada inicial con “1” lógico.

B.) Entada inicial con “0” lógico.

DISPLAY LCD Los display LCD permiten mostrar la información requerida mediante caracteres alfanuméricos. En la figura 5 se presenta un ejemplo del display LCD JHD 162A y el diagrama electrónico del LCD LM016L.Estos LCD difieren únicamente en que el LCD JHD 162A posee dos pines extras (pines 15 y 16) que sirven para proveer de luz trasera al LCD. El pin 15 se conecta en serie con una resistencia de 470Ω o de 680Ω y la resistencia se conecta a VDD. El pin 16 se conecta a VSS.

Figura 5. a.) Display JHD 162A. b.) Símbolo electrónico LCD. En la figura 17 se muestra el diagrama de un ejemplo de conexiones para el display LCD LM016L, el cual se conecta con el puerto B del PIC18F4550.Estas mismas conexiones aplican para el LCD JHD 162A.

Figura 6. Diagrama de conexión entre el LCD y el PIC.

2.3. • • •

EQUIPO, INSTRUMENTOS Y MATERIALES NECESARIOS Computadora. Software PIC C COMPILER Software PROTEUS

ELEMENTOS VIRTUALES(PROTEUS)

• • • • • • • •

2.4. N/A

1 PIC28F4550. 1 Oscilador de 20 MHz. 7 diodos led. 1 LCD 16*2 1 Teclado 4*4. Pulsadores. Resistencias. 1 display cátodo común o ánodo común.

MEDIDAS DE SEGURIDAD

2.4.1. ACTIVIDADES A DESARROLLAR • •

Desarrollar el esquema de conexión correcto en el programa PROTEUS Realizar los pasos de programación en PIC C COMPILER para luego ser compilados y corridos en PROTEUS

2.4.2. METODOLOGÍA Y TÉCNICA EXPERIMENTAL

ANALISIS DE RESULTADOS. PROGRAMACIÓN EN C CCS COMPILER. La presente programación está realizada en C CCS, ya que se encuentra desarrollada específicamente para la programación de los microcontroladores PIC, por lo que dispone de una amplia colección de librerías de funciones predefinidas, que utilizaremos para la programación. DESARROLLO DEL CIRCUITO EN PROTEUS. El siguiente circuito está diseñado para controlar mediante un teclado, la activación de una secuencia de leds y a la vez mostrar en un LCD a que secuencia corresponde, también me indicara el número de secuencia mediante un display, todo este proceso se ejecutara mediante el teclado para lo cual se activan las filas que se requieran con un OL, el teclado que utilizaremos es de (4*4), que se encuentran conectados en el puerto B como se puede observar en la Fig.7, en el LCD se observara al inicio el nombre de los integrantes, y la frase “ingrese la secuencia”.

Figura 7. Circuito diseñado en Proteus (Proyecto) Manual de Funcionamiento. 1. Cargar el programa de PIC en proteus 2. Permitir que el programa se inicialice de tal manera que muestre el nombre del proyecto, fecha, integrantes y que solicite pulsar una secuencia 3. Las cuatro filas están activas para ejecutar las secuencias al enviar una señal en el teclado se podrá apreciar la secuencia en los leds y ver el número de secuencia tanto en el LCD como en el Display. 4. Una vez presionada la secuencia el programa procederá a encenderse de diferente manera según la secuencia seleccionada y repetirá esta por 5 veces, una vez terminado aquello se mantendrán encendidos los leds hasta que el usuario pulse otra secuencia. Este proyecto permite tener ideas más claras sobre cómo trabajan los distintos dispositivos electrónicos internamente y establecer perspectivas para seguir investigado sobre estos temas de los microcontroladores, para así poder contribuir en el desarrollo de la Tecnología ya que como bien sabemos atravesamos la era Digital.

Código del Programa. #include //Librería para usar el PIC18F4550. #fuses HS,NOWDT,NOPROTECT,PUT, NOPBADEN //Configuración de fusibles. #use delay (crystal =4000000) // FOSC = 12MHz. #include //Driver para el LCD por el puerto D. #byte port_a = 0xF80 //Identificador para el puerto a en la localidad 0xF81. #byte port_b = 0xF81 //Identificador para el puerto b en la localidad 0xF81. #byte port_c = 0xF82 //Identificador para el puerto c en la localidad 0xF81. #byte port_d = 0xF83 //Identificador para el puerto e en la localidad 0xF81. #byte port_e = 0xF84 //Identificador para el puerto d en la localidad 0xF81. #byte tris_a = 0xF92 //Identificador del registro tris a en la localidad 0xF93. #byte tris_b = 0xF93 //Identificador del registro tris b en la localidad 0xF93. #byte tris_c = 0xF94 //Identificador del registro tris c en la localidad 0xF93. #byte tris_d = 0xF95 //Identificador del registro tris d en la localidad 0xF93. #byte tris_e = 0xF96 //Identificador del registro tris e en la localidad 0xF93. #bit F0 = 0XF81.3 #bit F1 = 0XF81.2 #bit F2 = 0XF81.1 #bit F3 = 0XF81.0 #define C0 bit_test(port_b,7) #define C1 bit_test(port_b,6) #define C2 bit_test(port_b,5) #define C3 bit_test(port_b,4) void antirrebote(); void presentar(); int x=0; void main() //Función principal main. { set_tris_a(0x00);// define el puerto como SALIDA set_tris_b(0xF0);// define el puerto como ENTRADA Y SALIDA set_tris_c(0x00);// define el puerto como salida set_tris_e(0x00);// define el puerto como salida

lcd_init(); //Inicializa el LCD. lcd_gotoxy(0,0); printf(lcd_putc, "\f PROYECTO 2 "); delay_ms(2000); printf(lcd_putc, " \n 19/07/20"); delay_ms(2000); output_high(PIN_E0); disable_interrupts(GLOBAL); //Deshabilita todas las interrupciones globaleS F0 = 0; F1 = 0; F2 = 0; F3 = 0; lcd_gotoxy(4,1); printf(lcd_putc, "\f INTEGRANTES"); delay_ms(1500); lcd_gotoxy(0,0); printf(lcd_putc, "\fDE_LA_CRUZ_DIEGO \n PALLO_MARCO"); delay_ms(1500); lcd_gotoxy(0,0);

printf(lcd_putc, "\f SELECCIONE \n UNA SECUENCIA "); //Solicita que pulse una tecla. delay_ms(1000); while (TRUE) { //Bucle infinito. F0 = 0; if (C0 == 0) { X = 1; port_c=1; presentar(); antirrebote(); for (x=0;x