Вы находитесь на странице: 1из 15

UNIVERSIDAD POLITÉCNICA SALESIANA

FACULTAD DE INGENIERIAS

CARRERA DE INGENIERÍA ELECTRÓNICA

SISTEMAS MICROPROCESADOS I

INFORME MICROCONTROLADOR ATMEL AVR

CONTROL DE PUERTOS

INTEGRANTES:
 HÉCTOR CARDENAS
 RICARDO RAMOS
 ESTEBAN SALAZAR

SEMESTRE
SEPTIEMBRE 2009– FEBRERO 2010
SISTEMAS MICROPROCESADOS I

CONTENIDO

1. CONTENIDO ......................................................................................................... 2

2. ESCRITURA EN UN PUERTO DEL MICROCONTROLADOR ATMEL AVR. ....... 3

3. LECTURA Y ESCRITURA EN PUERTOS ............................................................. 7

4. TABLAS DE VERDAD ......................................................................................... 10

5. EJERCICIO PROPUESTO .................................................................................. 13

-2-
SISTEMAS MICROPROCESADOS I

UNIVERSIDAD POLITÉCNICA SALESIANA


INGENIERÌA ELECTRÒNICA
SISTEMAS MICROPROCESADOS I
INFORME
Tema: Control de Puertos.

Objetivo:

Nombres: Héctor Cárdenas


Ricardo Ramos.
Esteban Salazar.

1.1 Escritura en un puerto del microcontrolador Atmel AVR

Para escribir en un puerto se debe, habilitar mediante el comando DDRX =


255, como salidas, luego se procede a escribir el valor en el puerto.

 Programa 1
Este programa escribe el valor 55 hexagesimal en el puerto D.

- Entradas

 Valor 55 hexagesimal.

- Salidas

 Escribir en el puerto D los diodos LEDs.

- Procesos

 Configurar el puerto D como salida


 Escribir en el puerto D el valor 55h.

Diagrama de Flujo

Inicio

Ddrd = 255

Config Portd =Output

Portd = &B1010_1010

-3-
SISTEMAS MICROPROCESADOS I

Codificación

Simulación

-4-
SISTEMAS MICROPROCESADOS I

Gráficos del trabajo en el laboratorio

Figura 1. Circuito de escritura del valor 55h en el puerto D

Figura 2. Circuito de escritura del valor 55h en el puerto D visto desde arriba

 Programa 2

Este programa escribe en un pin del puerto D.

- Entradas

-5-
SISTEMAS MICROPROCESADOS I

- Salidas

 Escribir en el puerto D los diodos LEDs.

- Procesos

 Configurar el puerto D como salida


 Escribir en un pin del puerto D el valor 55h.

Diagrama de Flujo

Inicio

Ddrd = 255

Config Portd =Output

Portd = 0

Portd.1 = 1

Codificación

-6-
SISTEMAS MICROPROCESADOS I

Simulación

Gráficos del trabajo en el laboratorio

Figura 3. Circuito de escritura en un pin del puerto D

-7-
SISTEMAS MICROPROCESADOS I

Figura 4. Circuito de escritura en un pin del puerto D visto desde arriba

1.2 Lectura y escritura en puertos

Para leer en un puerto de un microcontrolador AVR se utiliza el comando


PIN. Además se va ha introducir al uso de variables.

- Entradas

 Datos del Dipswitch en el puerto B.

- Salidas

 Escribir en el puerto D los diodos LEDs.

- Procesos

 Configurar el puerto B como entrada.


 Configurar el puerto D como salida.
 Definir una variable A como byte donde pueda almacenar
 Leer la variable A mediante el puerto B.
 Escribir el valor de la variable en el puerto D

Diagrama de Flujo

-8-
SISTEMAS MICROPROCESADOS I

Inicio

Ddrb = 0

Ddrd = 255

Config Portd =Output

Config Portb = Input

Definir
variable A

A = Pinb

Portd = A

Codificación

-9-
SISTEMAS MICROPROCESADOS I

Simulación

Gráficos del trabajo en el laboratorio

Figura 5. Circuito de Lectura y escritura en puertos

- 10 -
SISTEMAS MICROPROCESADOS I

Figura 6. Circuito de Lectura y escritura en puertos, prendidos todos los LEDs

1.3 Tablas de verdad

Utilizando el esquema del tema 1.2, se comprobara el uso de las funciones


lógicas, and, or, xor y not.

- Entradas

 Datos del Dipswitch en el puerto B.

- Salidas

 Escribir en el puerto D los diodos LEDs.

- Procesos

 Configurar el puerto B como entrada.


 Configurar el puerto D como salida.
 Definir variables A, B, C, D tipo bit donde pueda almacenar
 Leer las variables A, B, C y D.
 Uso de la función AND con la variable A
 Escribir el valor de la variable A en el puerto D
 Uso de la función OR con la variable B
 Escribir el valor de la variable B en el puerto D
 Uso de la función XOR con la variable C
 Escribir el valor de la variable C en el puerto D
 Uso de la función NOT con la variable D
 Escribir el valor de la variable D en el puerto D

- 11 -
SISTEMAS MICROPROCESADOS I

Diagrama de Flujo
Inicio

Ddrb = 0

Ddrd = 255

Config Portd =Output

Config Portb = Input

Definir
variables A,
B, C, D

A = Pinb.0 And Pinb.1

Portd.0 = A

B = Pinb.2 Or Pinb.3

Portd.1 = B

C = Pinb.4 Xor Pinb.5

Portd.2 = C

D = Not Pinb.6

Portd.3 = D

- 12 -
SISTEMAS MICROPROCESADOS I

Codificación

Simulación

- 13 -
SISTEMAS MICROPROCESADOS I

Gráficos del trabajo en el laboratorio

Figura 7. Circuito donde se utilizan las funciones lógicas: and, or, xor y not.

 Ejercicio Propuesto

Crear la tabla de la siguiente función boolena:

(A AND B) OR (NOT C)

A B C A.B 𝑪 A.B+𝑪
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 1 1
0 1 1 0 0 0
1 0 0 0 1 1
1 0 1 0 0 0
1 1 0 1 1 1
1 1 1 1 0 1

- 14 -
SISTEMAS MICROPROCESADOS I

Simulación:

- 15 -