INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA INTERDISCIPLINARIA EN INGENIERÍA Y TECNOLOGÍAS AVANZADAS (UPIITA)
MICROCONTROLADORES MICROCONTROLADORES AVANZADOS
PROFESOR: MÉNDEZ MARTÍNEZ, MAURICIO
PRÁCTICA 1: USO DE PUERTOS
ALUMNOS: BOTELLO MÉNDEZ, JOSÉ MANUEL CÁRDENAS MUCIÑO PEDRO FRANCISCO PATIÑO ORTEGA JONATHAN
GRUPO: 4MM5
FECHA DE ENTREGA: 14/02/2014
IPN - UPIITA
2
Contenido Objetivo.............................................................................................................................................................................3 Introducción.................................................................................................................................................................... 3 Desarrollo......................................................................................................................................................................... 3 Conclusiones ................................................................................................................................................................... 5
2
2014
IPN - UPIITA
3
Practica 1. Objetivo Adaptarnos al entorno de trabajo de ATMEL studio, aprender a utilizar algunas de las aplicaciones básicas del microcontrolador a utilizar, características configuraciones, también conocer algunas de las librerías que nos facilitan el trabajo, y comandos en c/c++, que nos sirven para activar el microcontrolador.
Introducción En esta práctica se realizará la suma de dos puertos, los cuales se mostraran en un tercer puerto, el cual estará configurado como salida, el cuarto puerto que se puede utilizar del microcontrolador deberá de hacer un corrimiento, donde solo uno de los leds conectados a este puerto estará prendido. Este se realizara con un programa en el ATMEL studio, en el cual se configuraran los 2 puertos como salida, se configurará el cristal interno a 4MHz, se realizara la suma de dos de los puertos de entrada, y se colocaran en otro de los puertos, uno de los de salida, en el último puerto que se configuro, se realizara un corrimiento, el cual tendrá una diferencia de 1 segundo, este programa debe de ser cíclico.
Desarrollo Primero se debe de generar el programa que realizara las tareas que necesitemos, en la figura 1 se muestra el programa, el cual se divide en varias etapas, la primer etapa es de configuración del oscilador al que se requiere que se trabaje, seguido por las bibliotecas con
3
2014
IPN - UPIITA
4
las que se podrán utilizar ciertas funciones a programar en el micro, con la finalidad de facilitarnos el trabajo.
Figura 1.- código del programa.
Figura 2.- Librerías a utilizar en el programa.
Como se mencionó otro de los aspectos importantes cuando realizamos nuestro programa es configurar la frecuencia en a la que se va a estar trabajando, en la figura se muestra el comando que nos servirá para poder modificar esta, recodando también que la frecuencia máxima del oscilador interno es de 8 MHz.
Figura 3.- Configuración de la frecuencia del oscilador interno a 4MHz.
Cabe resaltar que la frecuencia del oscilador se debe de definir antes que cualquier otra cosa en nuestro programa, es decir antes de las librerías. Una vez que se han realizado estas dos acciones, se configuraran el comportamiento de los puertos, como se dijo algunos estarán como entrada y otros como salida, en el caso de este programa se deben de configurar 2 como entrada y 2 como salida.
4
2014
IPN - UPIITA
5
En la figura 4 se muestra cómo es que se realiza la configuración de los puertos.
Figura4.- Configuración de puertos.
Por último se debe de realizar el programa cíclico que se muestra en la figura 1, donde se encuentra todo dentro de un while, en la figura 5 se muestra la estructura de este, donde en su interior se deberá de escribir el programa de servicio.
Figura 5.- Ciclo While
Conclusiones
Botello Méndez José Manuel.
La programación en un lenguaje de alto nivel simplifica muchas de las configuraciones que se le debe de hacer a un microcontrolador, además de tener funciones que nos permiten configurar con una solo línea lo que se requiere hacer en algún puerto del microcontrolador. Otra de las características buenas del micro que estamos usando es que tiene un oscilador interno, ahorrándonos así esas conexiones y dándonos la oportunidad de usar dos pines más.
Cárdenas Muciño Pedro Francisco
En este curso de microcontroladores avanzados usaremos un AVR que en nuestro caso escogimos un ATMEGA32. Para el curso estamos programando en lenguaje de alto nivel C que en comparativa con Ensamblador resulta ser mucho más sencillo en su interfaz. Usamos por el momento una protoboard para probar nuestro circuito, en espera de pronto usar una tarjeta.
5
2014
IPN - UPIITA
6
En esta práctica hicimos un circuito bastante simple, en la que nuestro microcontrolador debía realizar un corrimiento de un led en su puerto D y que al mismo tiempo hiciera una suma de lo que se encuentra en el puerto A y B; para desplegar el resultado en el puerto C. como se puede observar se utilizaron todos los puertos del microcontrolador.
Patiño Ortega Jonathan
El uso e implementación de un AVR (microcontrolador de la marca ATMEL) mediante el lenguaje C viene siendo más sencillo de manejar que el lenguaje ensamblador, para esto se debe de respetar las librerías correspondientes y la estructura del lenguaje C. Al momento de meter el programa al microcontrolador se escoge la frecuencia a trabajar en el proceso, no sin antes escoger el microcontrolador a programar y visualizar su número de serie. En el programa si se desea hacer un retardo se usa la librería delay.h ubicada en la subcarpeta útil y el comando _delay_ms (), otro aspecto importante es el definir entradas con el comando PIN_ mientras que las salidas usan el comando PORT_. Para definir la frecuencia de trabajo F_CPU va arriba de las librerías sino no toma en cuenta el tiempo, cabe mencionar que se programara a 1 MHz por default.
6
2014