Sie sind auf Seite 1von 4

INSTITUTO POLITCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERA Y


TECNOLOGA AVANZADAS.

Prctica 1:
Entradas y salidas en AVRs.

PROFESOR
Mndez Martnez Maurcio

ELABOR
Rosas Antonio Abraham
Sarabia Santoyo Lizbeth

GRUPO
4MM5

ASIGNATURA
Microcontroladores Avanzados

Planteamiento del problema

Realizar un programa donde la salida del Puerto A se alterne de


0x55 a 0Xaa.
Leer el Puerto B y el Puerto C, la salida del puerto D corresponde a
la suma de las dos entradas B y C.

Introduccin
La serie Atmega que se utiliz tiene una arquitectura de 8 bits. Puede
calcular valores del tamao de 1 byte en un ciclo. Los puertos estn
enumerados por letras (A,B,C y D), y pines de 0 a 7.
Aparte de asignar valores por su representacin hexadecimal, tambien
se puede hacer por la expresin |=(1<<5) donde al bit 5 se le asigna
High, y para asignar Bajo se usara &= (1<<5)
En el bit DDR (Data Direction Register) se configuran las entradas y
salidas donde 0 indica que es una entrada y 1 salida.

Figura 1. Pines del Atmega8535

Desarrollo.

Se agregan las libreras.


Se configuran las entradas y salidas.
Se hace la escritura en el Puerto A de 0x55 y 0XAA, cada medio segundo
cambia de valor. Para la escritura PORT.
Para la lectura se utiliza PIN. La suma de la entraba B y C es el valor de
PORTD.

Figura 2. Para las entradas B y C se configuraron de tipo Pull-down.

Cdigo
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
//Port A,D -> salidas
//Port B,C -> entradas
//Se configuran entradas/salidas, por default vienen como default
vienen como entradas
DDRA=(1<<DDA7)|(1<<DDA6)|(1<<DDA5)|(1<<DDB4)|(1<<DDA3)|
(1<<DDA2)|(1<<DDA1)|(1<<DDA0);
DDRD=(1<<DDD7)|(1<<DDD6)|(1<<DDD5)|(1<<DDD4)|(1<<DDD3)|
(1<<DDD2)|(1<<DDD1)|(1<<DDD0);
while(1)
{
//Se van alternando valores
PORTA=0X55;
_delay_ms(500);
PORTA=0XAA;
_delay_ms(500);
//La salida del puerto D es la suma del B y C.

PORTD=PINB+PINC;
_delay_ms(500);
}
}

Figura 3. Circuito armado

Conclusin
Atmel Studio tiene libreras que son de ayuda para simplificar el programa, en
esta prctica se utilizaron las bsicas de retardo, entradas y salidas del AVR.
El objetivo principal del ejercicio fue saber manejar las entradas y salidas del
Atmega, para lo que utilz el registro DDRx (para asignar si es entrada o
salida), PORTx (para escribir dato) o PINx (leer dato).

Referencias
Benjamin Reh , Introduction to programming an Atmega microcontroller,
Noviembre 14, 2013

Das könnte Ihnen auch gefallen