ESCUELA POLITÉCNICA NACIONAL Campus Politécnico "J. Rubén Orellana R." FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control LABORATORIO DE CONTROL CON MICROPROCESADORES PRÁCTICA N°2 1. TEMA PROGRAMACION EN LENGUAJE C PARA MICROCONTROLADORES 2. OBJETIVOS 2.1. Familiarizar al estudiante con el lenguaje C para microcontroladores AVR mediante el uso de Atmel Studio. 3. INFORMACIÓN La programación de microcontroladores puede hacerse empleando lenguaje de bajo nivel (Assembler) o mediante lenguajes de Alto Nivel: Basic, C o C++. El uso de lenguaje de alto nivel facilita el desarrollo de aplicaciones en un microcontrolador, ya que una sentencia en alto nivel remplaza a varias instrucciones de bajo nivel, además no es necesario que el programador conozca el conjunto de instrucciones y características del hardware del microcontrolador utilizado, pero el uso de leguaje de alto nivel requiere mayor uso de memoria de programa. El lenguaje C es portable, lo que permite emplear el mismo código (funciones) en diferentes aplicaciones, además permite trabajar tanto a nivel de byte como a nivel de bit (operaciones lógicas, desplazamientos). Atmel Studio permite desarrollar aplicaciones en lenguaje C, para lo cual es necesario seguir los siguientes pasos: Creación de un nuevo proyecto en Atmel Studio Inicial Atmel Studio New Project Dirección: Ladrón de Guevara E11-253 Teléfono: (02) 2976300 Ext.2209 [email protected] Quito - Ecuador Correo: LABORATORIO DE CONTROL CON MICROPROCESADORES Seleccionar GCC C Executable Proyect C/C++ Dar un nombre al proyecto en “Name:” Ubicación donde se va a guardar el proyecto ”Location:” OK Seleccionar el microprocesador OK Dirección: Ladrón de Guevara E11-253 Teléfono: (02) 2976300 Ext.2209 Quito - Ecuador Correo: [email protected] LABORATORIO DE CONTROL CON MICROPROCESADORES Escribir el código Compilar el programa “Build Solution F7” Verificar que no exista errores en el código: Build succeeded. ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ========== Código de ejemplo /* PROGRAMA DE EJEMPLO Se lee el estado del puerto A y se muestra en el puerto C */ #include <avr/io.h> int main(void) { unsigned char aux; PORTA = 255; DDRB = 255; while(1) Dirección: Ladrón de Guevara E11-253 //llamado a libreria // funcion princiapal //variable local, de 8 bits //pull up del puerto A //puerto B como salida Teléfono: (02) 2976300 Ext.2209 Quito - Ecuador Correo: [email protected] LABORATORIO DE CONTROL CON MICROPROCESADORES { aux=PINA; //lectura puerto A (entrada) PORTB= aux; //escribir en Puerto B (salida) //TODO:: Please write your application code } } 4. TRABAJO PREPARATORIO 4.1 Diseñar un sistema que funcione de la siguiente manera; adquirir una señal analógica variable de 0V a 5V usando el conversor AD del microcontrolador, el valor de dicha señal se debe mostrar en una interfaz gráfica en la PC. Adicionalmente el sistema debe permitir ingresar un número en la interfaz de la PC usando un arreglo de 8 bits, el cual se envía por comunicación serial al microcontrolador y será mostrado en 8 leds y 3 displays 7 segmentos. El programa para el microcontrolador debe ser desarrollado en C y el HMI en uno de los programas descritos en la práctica anterior 5. EQUIPO Y MATERIALES Computador Personal Fuente de DC Multímetro Cable USB – RS232. 6. PROCEDIMIENTO 6.1. Probar el diseño del literal 4.1 7. INFORME 7.1. Documentar las pruebas realizadas en la práctica 7.2. Conclusiones y Recomendaciones 7.3. Referencias Bibliográficas. Notas: El informe se realizará al final de la práctica Responsable: Ing. Jhon Pilataxi Revisado por: Nelson Sotomayor, MSc. Coordinador Laboratorio Control con Microprocesadores Dirección: Ladrón de Guevara E11-253 Teléfono: (02) 2976300 Ext.2209 Quito - Ecuador Correo: [email protected]