Anda di halaman 1dari 19

MARZO – JULIO 2010

UNIVERSIDAD POLITÉCNICA
SALESIANA
SISTEMAS MICROPROCESADOS 1

INFORME PRÁCTICA #03 AVR


TEMA: Control de puertos

DAVID ESPIN
ANDRÉS MOGRO

QUITO - ECUADOR
PRÁCTICA 03

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.

Este programa escribe el valor 55 hexadecimal en el puerto D.

Entradas:

El valor 55 hexadecimal en el puerto D.

Procesos:

• Habilitar puerto D (salida)


• Inicializa el puerto D como salida
• Escribo en el puerto D el valor 55 hexadecimal.

Salidas:

Salida del puerto D hacia los leds.

CÓDIGO.
'programa 1.2

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16

$crystal = 8000000 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida

Config Portd = Output ' se inicializa el puerto D como salida

Do 'inico de un lazo infinito


Portd=&B1010_1010 'se escribe en elpuerto el valor 55h

Loop 'fin de lazo


End
DIAGRAMA DE FLUJOS.

INICIO

Configuro el puerto D
como salida

Escribo en el puerto D

ESQUEMÁTICO.

FOTOS.
 En el programa 1 cambiar el valor &B1010_1010, por el
siguiente número decimal.
Portd=240
Observar el resultado.
El resultado fue que solo se encendieron 4 leds empezando desde el más
significativo.
CÓDIGO
'programa 1.2

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16


$crystal = 800 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida


Config Portd = Output ' se inicializa el puerto D como salida

Do 'inico de un lazo infinito


Portd=240 'se escribe en elpuerto el valor 55h
Loop 'fin de lazo
End

FOTOS.

Programa 2: este programa escribe en un pin del puerto D

Entradas:

Datos que se guardaran en el microcontrolador.

Procesos:

• Habilitar puerto D (salida)


• Inicializa el puerto D como salida
• Escribo en el del pin d.1 del puerto D el valor 55 hexadecimal.
Salidas:

Salida del puerto d.1 del puerto D hacia los leds.

CÓDIGO.
'programa 2

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16


$crystal = 8000000 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida


Config Portd = Output ' se inicializa el puerto D como salida
Portd = 0
Do 'inico de un lazo infinito
Portd.1 = 1 'se escribe en elpuerto el valor 55h
Loop 'fin de lazo
End

DIAGRAMA DE FLUJOS.

INICIO

Configuro el puerto D
como salida

Escribo en el pin d.1 del


puerto D
ESQUEMÁTICO.
FOTOS.
Programa 2: 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.

Entradas:

Datos que se guardaran en el microcontrolador.

Procesos:

• Habilitar puerto B como entrada


• Inicializa el puerto D como salida
• Se define la variable A tipo byte
• Escribo puerto D los datos leídos del puerto B

Salidas:

Salida del D hacia los leds.

CÓDIGO.
$regfile "m16def.dat"
$crystal = 8000000
Ddrd = 0
Ddrb = 255
Config Portd = Output
Config Portb = Input
Dim A As Byte
Do
A = Pinb
Portd = A
Loop
End

'fin de programa
DIAGRAMA DE FLUJO.

INICIO

Configuro el puerto D
como salida y puerto
B entrada

Escribir en el Puerto
BDlos datos leidos del
Puerto B

Escribo en el puerto D
los datos

ESQUEMÁTICO.
FOTOS.

1.2 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 ingresados por el usuario que se guardaran en el microcontrolador.

Procesos:

• Habilitar puerto B como entrada


• Inicializa el puerto D como salida
• Se define las variables A, B, C, D tipo bit
• Realiza la operación indicada
• Escribo puerto D los resultados.

Salidas:

Salida del D hacia los leds.

CÓDIGO.
'tabla de verdad

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16


$crystal = 8000000 'cristal a utilizar 8MHz

Ddrb = 0
Ddra = 0 'se especifica el puerto B como entrada
Ddrd = 255 'se especifica el puerto D como salida
Config Portd = Output ' se inicializa el puerto D como salida
Config Portb = Input ' se inicializa el puerto B como entrada
Config Porta = Input
Dim A As Bit , B As Bit , C As Bit , D As Bit 'se define la variable A tipo byte

Do 'inicio de un lazo infinito


A = Pinb.0 And Pinb.1
Portd.0 = A

B = Pina.0 Or Pina.1
Portd.1 = B

C = Pinb.4 Xor Pinb.5


Portd.2 = C

D = Not Pinb.6
Portd.3 = D

Loop

End 'fin de p
DIAGRAMA DE FLUJO.

INICIO

Configuro el puerto D
como salida y puerto
B entrada

Defino variables A, B,
C, D tipo bit

Leo puerto B y realizo


la operación indicada

Escribo en el puerto D
los datos obtenidos
ESQUEMÁTICO.

FOTOS.
Ejercicio propuesto:

Crear la tabla de verdad de la siguiente función booleana.

(A AND B) OR (NOT C)

Entradas:

Datos ingresados por el usuario que se guardaran en el microcontrolador.

Procesos:

• Habilitar puerto B como entrada


• Inicializa el puerto D como salida
• Se define las variables A, B, C tipo bit
• Realiza la operación indicada
• Escribo puerto D los resultados.

Salidas:

Salida del D hacia los leds.

CÓDIGO.
'tabla de verdad

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16


$crystal = 8000000 'cristal a utilizar 8MHz

Ddrb = 0 'se especifica el puerto B como entrada


Ddrd = 255 'se especifica el puerto D como salida
Config Portd = Output ' se inicializa el puerto D como salida
Config Portb = Input ' se inicializa el puerto B como entrada
Dim A As Bit , B As Bit , C As Bit 'se define la variable A tipo byte

Do 'inicio de un lazo infinito


A = Pinb.5 And Pinb.6
B = Not Portb.7
C = A Or B
Portd.0 = C
Loop

End

'fin de p

DIAGRAMA DE FLUJO.

INICIO

Configuro el puerto D
como salida y puerto
B entrada

Defino variables A, B, C
tipo bit

Leo puerto B y realizo


la operación indicada

Escribo en el puerto D
los datos obtenidos
Tabla de Verdad

ABC S
000 1
001 0
010 1
011 0
100 1
101 0
110 1
111 1

ESQUEMÁTICO.
FOTOS.
BIBLIOGRAFÍA

• MICROCONTROLADORES PIC. Diseño práctico de aplicaciones SEGUNDA PARTE: PIC


16F87X PIC 18FXXXX. Segunda edición. Segundo Angulo, Susana Romero, Mc Graw Hill.
España
• Hojas guía de la práctica.
• Librerías de ayuda del software Bascom AVR

Anda mungkin juga menyukai