Sunteți pe pagina 1din 14

UNIVERSIDAD POLITÉCNICA

SALESIANA

INGENIERÍA ELECTRÓNICA

SISTEMAS MICROPROCESADOS

Tema: CONTROL DE PUERTOS

INFORME Nº 1 AVR

INTEGRANTES:

GARCÍA PATRÍCIO
SALGADO CRISTIAN
Objetivo: utilizar los puertos del microcontrolador ATMEL AVR, como
interface digital al mundo exterior.

Ejercicio 1
Este programa escribe el valor 55 h en el puerto D

Código:

Regfile "m16def.dat"
$crystal = 800000
Ddrd = 255
Config Portd = Output
Do
Portd = &B1010_1010
Loop
End

Algoritmo:

Entradas: numero binario 55h


Salidas: código binario 55h en el puerto D

Procesos:
- Establecemos el puerto D como Salida.
- Guardo el valor 55h en una variable.
- Escribir el dato guardado en el puerto D.

Diagramas de flujo:
INICIO

Especificar el puerto
D como salida

Escribir el dato 55H en el puerto


D
Portd = &B1010_1010

2
Simulación:

Fotos

3
Ejercicio 2

Este programa escribe en un pin del puerto D

Código:

Regfile "m16def.dat"
$crystal = 8000000

Ddrd = 255
Config Portd = Output
Portd = 0
Do
Portd.1 = 1
Loop
End

Algoritmo:

Entradas: valor que escribiremos en un pin del puerto D


Salidas: valor en el pin 1 del puerto D

Procesos:
- Especifico el puerto D como salida
- Especifico el pin que deseo como salida
- Escribimos el valor en el pin seleccionado (pin 1)

Diagramas de flujo:

INICIO

Habilitar puerto D como


salida

Especifico el pin que


deseo como salida
(Portd.1=1)

4
Simulación:

Fotos

5
Ejercicio 3

Lectura y escritura en puertos

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


Además se va a introducir al uso de las variables

Código:
Regfile "m16def.dat"
$crystal = 800000
Ddrb = 0
Ddrd = 255
Config Portd = Output
Config Portb = Input
Sim A As Byte
Do
A = Pinb
Portd = A
Loop
End

Algoritmo:

Entradas: Voltaje TTL (5v) en el puerto B


Salidas: Se Escribe en puerto D de acuerdo al numero enviado por el
puerto B

Procesos:
- Especifico el puerto B como Entrada
- Especifico el puerto D como salida
- Escribir los datos recibidos por el puerto B , en el puerto D

6
Diagramas de Flujo

INICIO

Habilitar puerto B como


Entrada

Habilitar puerto D como


salida

A=datos q recibe el
puerto B

Portd=A
Simulación:

7
Foto

8
Ejercicio 4

Utilizando el esquema anterior comprobar el uso de las funciones lógicas, AND,


OR, XOR y NOT

Código:

Regfile "m16def.dat"
$crystal = 800000
Ddrb = 0
Ddrd = 255
Config Portd = Output
Config Portb = Input
Dim A As Bit , B As Bit , C As Bit , D As Bit

Do
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 = C
Loop
End

Algoritmo:

Entradas: Bytes dados por dipswich hacia el puerto D


Salidas: Se Escribe en puerto D de acuerdo a la compuerta seleccionada

Procesos:
- Especifico el puerto B como Entrada
- Especifico el puerto D como salida
- Lógica booleana (and, or,xor, not) entre los diferentes pines

9
Diagramas de Flujo

INICIO

Habilitar puerto B como


Entrada

Habilitar puerto D como


salida

A = Pinb.0 And Pinb.1


B = Pinb.2 Or Pinb.3
C = Pinb.4 Xor Pinb.5
D = Not Pinb.6

Portd.0 = A
Portd.1 = B
Portd.2 = C
Portd.3 = C

And Or Xor Not

10
Simulación:

Foto

11
Ejercicio 5
Crear la tabla de la siguiente función Booleana (A AND B) OR (NOT C)

Código:

$crystal = 800000
Ddrb = 0
Ddrd = 255
Config Portd = Output
Config Portb = Input
Dim A As Bit , B As Bit , C As Bit , D As Bit

Do
A = Pinb.0 And Pinb.1
B = Not Pinb.2
C = A Or B
Portd.0 = C

Loop
End

Algoritmo:

Entradas: Bytes dados por dipswich hacia el puerto D


Salidas: Se Escribe en puerto D de acuerdo operación booleana
seleccionada

Procesos:
- Especifico el puerto B como Entrada
- Especifico el puerto D como salida
- Resolución de la tabla de verdad mediante lógica booleana
- Muestro en puerto D el resultado de las operaciones

12
Diagramas de Flujo

INICIO

Habilitar puerto B como


Entrada

Habilitar puerto D como


salida

A = Pinb.0 And Pinb.1


B = Not Pinb.2
C = A Or B

Portd.0 = C

Simulación:

13
Foto

14

S-ar putea să vă placă și