Está en la página 1de 19

SISTEMAS MICROPROCESADOS I

UNIVERSIDAD POLITÉCNICA SALESIANA

SISTEMAS MICROPROCESADOS I

INGENIERÍA ELECTRÓNICA

INFORME DE LA PRACTICA 3

INTEGRANTES:

• CHRISTIAN MORALES
• HENRY SUNTAXI
SISTEMAS MICROPROCESADOS I

UNIVERSIDAD POLITÉCNICA SALESIANA


SISTEMAS MICROPROCESADOS I
INFORME No. 3
INTEGRANTES: Christian Morales
Henry Suntaxi
TEMA: Entrada y Salida en el microcontrolador.AVR.

OBJETIVO: Utilizar los puertos del microcontrolador AVR, como interface digital al
mundo exterior.
DESARROLLO
Para la práctica utilizamos AVR  Atmega16 y su correspondiente diagrama de pines y
características.

Figura 1. Diagrama de pines de Atmega16


SISTEMAS MICROPROCESADOS I

Figura2. Bascom-AVR
Para el Atmega16 necesitamos un programador de AVR y escribir el archivo HEX
generado por el BASCO.

Programador AVR
Además de su programa para lograr escribir el archivo HEX en el AVR.

Figura 3. Atmega16

PROCEDIMIENTO PRÁCTICO
SISTEMAS MICROPROCESADOS I

1.- ESCRITURA EN UN PUERTO DEL MICORCONTROLADOR ATMEL AVR


• PROBLEMA
Para escribir en un puerto se debe, habilitar mediante el comando DDRX= 255
como salidas y escribir el valor 55Hexagesimal en el puerto D.

• ALGORITMO
Proceso:
o Habilitar el puerto D como salida
o Escribir 55h en el puerto D
Salida: Visualizo en el puerto D 0/1L correspondiente al valor 55h en binario
representado por los led’s

• CÓDIGO
'programa 1.1
$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

Habilito el puerto D
como salida y
escribo el valor 55h

Visualización de
Datos en puerto D
SISTEMAS MICROPROCESADOS I

• Esquemático: Utilizamos el Atmega16

• Simulación:

Figura 4. Fotografía practica 1.1

2.- ESCRITURA EN UN PUERTO DEL MICORCONTROLADOR ATMEL AVR


• PROBLEMA
Escribir el valor 240 en el puerto D.
• ALGORITMO
Proceso:
o Habilitar el puerto D como salida
o Escribir 240 en el puerto D
SISTEMAS MICROPROCESADOS I

Salida: Visualizo en el puerto D 0/1L correspondiente al valor 240 en binario


representado por los led’s

• CÓDIGO

$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 = 240 'se escribe en elpuerto el valor 240
Loop 'fin de lazo
End
• Diagrama de Flujos

INICIO

Habilito el puerto B
como salida y
escribo el valor 55h

Visualización de
Datos en puerto B

• Esquemático: Utilizamos el Atmega16


SISTEMAS MICROPROCESADOS I

• Simulación:

Figura 5. Fotografía practica 1.2

3.- LECTURA Y ESCRITURA EN PUERTOS


• PROBLEMA
Para leer en un puerto de un microcontrolador AVR se utiliza el comando PIN,
Además se va ha introducir al uso de variables.
• ALGORITMO
Proceso:
SISTEMAS MICROPROCESADOS I

o Habilitar el puerto B como entradas


o Habilitar el puerto D como salidas
o Defino variables
Salida: visualizo en el puerto D las entradas de B
• CÓDIGO
$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16
$crystal = 8000000 'cristal a utilizar 8MHz
Ddrb = 0 'se especifica el puerto B como entradas
Ddrd = 255 'se especifica al 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 Byte ' Se define la variable A tipo byte
Do 'inico de un lazo infinito
A= Pinb ' Se lee en la variable A los datos en el Puerto B
Portd=A ' se escribe en el puerto d los datos del puerto B
Loop ' fin de lazo
End ' fin de programa

• Diagrama de Flujos

INICIO

Habilito el puerto B
como entrada
SISTEMAS MICROPROCESADOS I

Habilito el puerto D
como salida

Defino la variable A
para leer y escribir en

Visualización en el
puerto B

• Esquemático: Utilizamos el Atmega16


SISTEMAS MICROPROCESADOS I

Figura 6. Fotografía practica 1.3

4.- ESCRIBIR EN UN PIN DEL PUERTO D


• PROBLEMA
Escribir en un pin del puerto D
ALGORITMO
Proceso: Habilito en el puerto D y ingreso un valor a pin.
Salida: Visualizo en el pin 2 del puerto D.

• CÓDIGO
$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
Loop 'fin de lazo
End

• Diagrama de Flujos

INICIO
SISTEMAS MICROPROCESADOS I

Habilito el puerto D
como salida y
escribo el valor 55h

Visualización de
Datos en pin1 del

• Esquemático: En Proteus

• Simulación: .
SISTEMAS MICROPROCESADOS I

Figura 7. Fotografía practica 1.4

5.- TABLA DE VERDAD


• PROBLEMA
Utilizando el esquema de los circuitos anteriores, se comprobara el uso de las
funciones, lógicas, and, or, xor y not.
• ALGORITMO
Proceso: Habilito en el puerto B como entrada para y el puerto D como salida pra
realizar las operaciones.
Salida: Visualizo en el los pines del puerto D las operaciones.

• CÓDIGO

$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, D As Bit 'se define la variable A tipo byte
SISTEMAS MICROPROCESADOS I

Do 'inicio de un lazo infinito


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 'fin del lazo

End

Tablas de verdad
Pinb.0 Pinb.1 A
0 0 0
0 1 0
1 0 0
1 1 1
Tabla de verdad AND

Pinb.2 Pinb.3 B
0 0 0
0 1 1
1 0 1
1 1 1
Tabla de verdad OR

Pinb.4 Pinb.5 C
0 0 0
SISTEMAS MICROPROCESADOS I

0 1 1
1 0 1
1 1 0
Tabla de verdad XOR

Pinb.6 D
0 1
1 0

Tabla de verdad NOT

• Diagrama de Flujos

INICIO

Definir PuertoB como


entrada y PeurtoD
como salida

Envió los datos A, B y


C, D por el puerto B

Realizar las operaciones


AND, OR, XOR, NOT en
cada pin

Visualización en los
pines del puerto D las
operaciones

Esquemático: En Proteus
SISTEMAS MICROPROCESADOS I

Figura 8. Fotografía practica 1.5

6.- CREAR LA TABLA DE LA SIGUIENTE FUNCIÓN BOOLEANA.


• PROBLEMA
SISTEMAS MICROPROCESADOS I

Comprobar la función (A And B) Or Not C.


Tabla de verdad
A B C AB /C S
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

• ALGORITMO
Proceso: Habilito en el puerto B como entrada para A, B y C y el puerto D como
salida
Salida: Visualizo en el led del puerto D

• 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 Pinb.7
C = A Or B
SISTEMAS MICROPROCESADOS I

Portd.2 = C
Loop

End 'fin de p

• Diagrama de Flujos

INICIO

Definir variables
internas PuertoB
como entrada y
PeurtoD como salida

Envió los datos A, B y


C por el puerto B

Realizar las debidas


funciones lógicas

Visualización en el
pin D

Esquemático: En Proteus
SISTEMAS MICROPROCESADOS I

• Simulación:

Figura 9. Fotografía practica 1.6

CONCLUSIONES
SISTEMAS MICROPROCESADOS I

La programación para microcontroladores Atmel AVR es muy sencilla al momento de


utilizar y controlar los puertos se logro entender mejor el funcionamiento de algunos
códigos en esta práctica los programas de AVR se los realizo en Bascom.
Se logro entender la forma de utilización del ATMEGA 16 asi como la forma de
programarlos.

BIBLIOGRAFÍA
• Hoja de prácticas de microcontroladores AVR proporcionados por el ing. Luis
Oñate.
• Ayuda en manual de bascom microcontroladores AVR.

También podría gustarte