Vous êtes sur la page 1sur 13

UNIVERSIDAD POLITÉCNICA

SALESIANA

Sistemas Microprocesados I
Ing. Luis Oñate
Informe Práctica Nº1 AVR

Andrea Abarca B
Gonzalo Chimbo R
Leandro López T

Sexto Electrónica

24/10/2010
Objetivo.- Desarrollar la práctica utilizando el Microcontrolador ATMEL
AVR como una interface digital hacia el mundo exterior.

Marco Teórico:
AVR

Los AVR son una familia de microcontroladores RISC de Atmel. La


arquitectura de los AVR fue concebida por dos estudiantes en el
Norwegian Institute of Technology, y posteriormente refinada y
desarrollada en Atmel Norway, la empresa subsidiaria de Atmel, fundada
por los dos arquitectos del chip.

El AVR es una CPU de arquitectura Harvard. Tiene 32 registros de 8 bits.


Algunas instrucciones sólo operan en un subconjunto de estos registros.
La concatenación de los 32 registros, los registros de entrada/salida y la
memoria de datos conforman un espacio de direcciones unificado, al cual
se accede a través de operaciones de carga/almacenamiento. A
diferencia de los microcontroladores PIC, el stack se ubica en este espacio
de memoria unificado, y no está limitado a un tamaño fijo.

El AVR fue diseñado desde un comienzo para la ejecución eficiente de


código C compilado. Como este lenguaje utiliza profusamente punteros
para el manejo de variables en memoria, los tres últimos pares de
registros internos del procesador, son usados como punteros de 16 bit al
espacio de memoria externa, bajo los nombres X, Y, Z. Esto es un
compromiso que se hace en arquitecturas de ocho bit desde los tiempos
de Intel 8008, ya que su tamaño de palabra nativo de 8 bit (256
localidades accedidas) es pobre para direccionar. Por otro lado, hacer
que todo el banco superior de 16 registros de 8 bit tenga un
comportamiento alterno como un banco de 8 registros de 16 bit,
complicaría mucho el diseño, violando la premisa original de su
simplicidad. Además, algunas instrucciones tales como 'suma
inmediata' ('add immediate' en inglés) faltan, ya que la instrucción
'resta inmediata' ('substract immediate' en inglés) con el
complemento dos puede ser usada como alternativa.

Datasheet Atmega 164p

Ejercicios con el Atmega 164p:

Problema 1:
Este programa escribe el valor 55 hexadecimal en el puerto D.

Regfile "m164pdef.dat"
$crystal = 800000
Ddrd = 255
Config Portd = Output
Do
Portd = &B1010_1010
Loop
End
Simulación:

Foto:

Problema 2:
Este programa escribe en un pin del puerto D.
Regfile "m164pdef.dat"
$crystal = 8000000
Ddrd = 255
Config Portd = Output
Portd = 0
Do
Portd.1 = 1
Loop
End
Diagramas de Flujo:

Simulación:
Foto:

Problema 3:
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.

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
Diagramas de Flujo:

Simulación:

Foto:
Problema 4:
Comprobar el uso de las Funciones lógicas, and, or, xor y not.

Regfile "m164pdef.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

Diagramas de Flujo:
Simulación:

Foto:
Problema 5:
Crear una tabla de la siguiente Función Booleana: (A and B) or (not C).

Tabla de la Función.

Regfile "m164pdef.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
B = Not Pinb.2
C = A Or B
Portd.0 = C
Loop
End
Diagramas de Flujo:

Simulación:
Foto:

Conclusiones:

 Mediante el Atmega 164p hemos podido controlar varios procesos


lógicos que no hubieran sido aplicados en la práctica sino
tuviéramos en microcontrolador Atmega.

 También observamos que el AVR utilizado en esta práctica como el


Atmega 164p, tiene una gran capacidad de almacenamiento lo
cual hace más factible el manejo de procesos básicos y complejos.

 Acerca de la programación esta fue realizada a través del


programa compilador Bascom y de la interfaz prosgrip debido a
que es un lenguaje básico y muy fácil de programar.

Bibliografía:

 Hojas de Ejercicios proporcionadas por el Ing. Luis Oñate.


 http://www.atmel.com/dyn/resources/prod_documents/8011S.pdf
 http://es.wikipedia.org/wiki/AVR

Vous aimerez peut-être aussi