Data sheet for atmel avr and avr 32 microprocessors
SISTEMAS MICROPROCESADOS I
UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS I INGENIERÍA ELECTRÓNICA INFORME DE LA PRACTICA 3
INTEGRANTES: • •
CHRISTIAN MORALES HENRY SUNTAXI UNIVERSIDAD POLITÉCNICA SALESIANA
SISTEMAS MICROPROCESADOS I
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 práctica utilizamos utilizamos AVR Atmega16 Atmega16 y su correspondien correspondiente te diagrama diagrama de pines y características.
Figura 1. Diagrama de pines de Atmega16
Figura2. Bascom-AVR
SISTEMAS MICROPROCESADOS I
Para Para el Atme Atmega ga16 16 nece necesi sita tamo moss un progr program amad ador or de AVR AVR y escr escrib ibir ir el arch archiv ivo o HEX 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 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.
SISTEMAS MICROPROCESADOS I
•
ALGORITMO
Proceso: o
Habilitar el puerto D como salida
o
Escribir 55h en el puerto D
Salida: Visualizo Visualizo en el el puerto puerto D
0/1L correspondi correspondiente ente al valor 55h en en binario 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
Visualización Visualización de Datos en uerto D •
Esquemático: Utilizamos el Atmega16
SISTEMAS MICROPROCESADOS I
•
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
SISTEMAS MICROPROCESADOS I o
Escribir 240 en el puerto D
Salida: Visualizo Visualizo en el el puerto puerto D
0/1L correspondi correspondiente ente al valor 240 en en binario 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 Do
' se inicializa el puerto D como salida 'inico de un lazo infinito
Portd = 240 Loop
'se escribe en elpuerto el valor 240 'fin de lazo
End •
Diagrama de Flujos INICIO
Habilito el puerto B como salida y
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
Habilito el puerto D como salida
Defi Defin no la var variabl iable e A para leer y escribir en Visualización Visualización en el puerto B
SISTEMAS MICROPROCESADOS I
•
Esquemático: Utilizamos el Atmega16
Figura 6. Fotografía practica 1.3
SISTEMAS MICROPROCESADOS I
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
Habilito el puerto D como salida y
Visualización Visualización de Datos en pin1 del
SISTEMAS MICROPROCESADOS I
•
Esquemático: En Proteus
•
Simulación: .
Figura 7. Fotografía practica 1.4
SISTEMAS MICROPROCESADOS I
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
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
'se define la variable A tipo byte
'inicio de un lazo infinito
SISTEMAS MICROPROCESADOS I
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
0
1
1
1
0
1
1
1
0
Tabla de verdad XOR
Pinb.6
D
0
1
1
0
SISTEMAS MICROPROCESADOS I
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
Visualización en los pines del puerto D las
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 Ddrd = 255 Config Portd = Output Config Portb = Input Dim A As Bit , B As Bit , C As Bit Do A = Pinb.5 And Pinb.6 B = Not Pinb.7 C = A Or B
'se especifica el puerto B como entrada 'se especifica el puerto D como salida ' se inicializa el puerto D como salida ' se inicializa el puerto B como entrada 'se define la variable A tipo byte 'inicio de un lazo infinito
SISTEMAS MICROPROCESADOS I
Portd.2 = C Loop End
•
'fin de p
Diagrama de Flujos
INICIO
Definir variables internas PuertoB como entrada y
Envió los datos A, B y C por el puerto B
Realizar las debidas funciones lógicas
Visualización Visualización en el
Esquemático: En Proteus
SISTEMAS MICROPROCESADOS I
•
Simulación:
Figura 9. Fotografía practica 1.6
CONCLUSIONES La programación para microcontroladores Atmel AVR es muy sencilla al momento de utiliz utilizar ar y contro controlar lar los puertos puertos se logro logro entende entenderr mejor mejor el funcio funcionam namien iento to de algunos algunos códigos en esta práctica los programas de d e AVR se los realizo en Bascom.
SISTEMAS MICROPROCESADOS I
Se logr logro o ente entende nderr la form formaa de util utiliz izaci ación ón del ATME ATMEGA GA 16 asi asi como como la form formaa de programarlos.
BIBLIOGRAFÍA •
Hoja de prácticas de microcontroladores AVR proporcionados por el ing. Luis Oñate.