Beruflich Dokumente
Kultur Dokumente
1: Puertos I/O
UPIITA - IPN
I N S T I T U T O P O L I T E C N I C |O N A C I O N A L
Unidad Profesional Interdisciplinaria de Ingeniera y Tecnologas Avanzadas
Microcontroladores Avanzados
Prof. Mauricio Martnez Mndez
Prctica No. 1
Puertos I/O
Bautista Alvarado Mindy Wendolyne
Gonzlez Rodrguez Jobrail
4MM5
OBJETIVO
El alumno comprobara los mtodos dados en clase para hacer la declaracin de puertos
como entradas y salidas.
INTRODUCCIN
Se empleara el software AVR Studio el cual es un programa dedicado a la programacin de
microcontroladores AVR. Se comenzara a conocer la plataforma y la interfaz, as como los
comandos bsicos como operaciones entre variables y la adquisicin de datos. Se realizara
una suma y resta de datos adquiridos a travs de los puertos y se desplegara el resultado
por una barra de leds.
INTRODUCCIN TERICA
Como sabemos para programar microcontroladores existen diversos lenguajes de
programacin, por lo cual no se pude decir que uno u otro es mejor para programar, ya
que todo depende de la habilidad del programador para utilizar los recursos del
microcontrolador y sacar el mejor provecho del compilador con el cual est trabajando.
En nuestro curso optamos por utilizar el lenguaje C, el cual destaca principalmente por lo
siguiente:
UPIITA - IPN
UPIITA - IPN
En el diagrama se muestra las conexiones q se deben realizar para conectar los dipswich y
las barras de leds.
Se realiz el cdigo siguiente, en el cual se declaran primeramente los puertos usar y
despus se leern los puertos , posteriormente se procede a hacer la operacin deseada y
en alternar la salida.
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
//1 salidas
//0 entradas
DDRA = (1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) |
(1<<DDA0); //DDRA=0XFF;
DDRB = (0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) |
(0<<DDB0);
DDRC = (0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) |
(0<<DDC0);
DDRD = (1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) |
(1<<DDD0);
UPIITA - IPN
//DECLARACION DE VARIABLES
char x;
char y;
char z;
while(1)
{
//PUERTO A ALTERNA ENTRE 0XAA Y 0X55
PORTA = 0XAA;
_delay_ms(500);
PORTA = 0X55;
_delay_ms(500);
//PUERTO B Y C LEIDOS Y SUMADO, SU RESULTADO SE DESPLIEGA EN PUERTO D
x = PINB;
y = PINC;
z = x +y;
PORTD = z;
//TODO:: Please write your application code
}
}
RESULTADOS
UPIITA - IPN