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 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
A.B 0 0 0 0 0 0 1 1
- 14 -
𝑪 1 0 1 0 1 0 1 0
A.B+𝑪 1 0 1 0 1 0 1 1
SISTEMAS MICROPROCESADOS I
Simulación:
- 15 -