You are on page 1of 5

INFORME N4

Utilizacin de las herramientas de simulacin del PROTEUS con los


microcontroladores ATmega164P
OBJETIVO:
Familiarizar al estudiante con las herramientas existentes para la simulacin grfica
de Sistemas Microprocesados con el paquete de software PROTEUS; en este caso,
utilizando el ATmega164P.
MARCO TERICO:
Una vez que se ha obtenido la solucin al problema planteado, en forma de Cdigo
Ejecutable o Mdulo Objeto contenido en el archivo .hex, puede ser comprobada
mediante el simulador en forma de texto (no grfico), como el que se encuentra
incorporado en el ATMEL Studio 6. Las ventajas para la depuracin de programas
mediante el uso de este tipo de simulador son incuestionables, especialmente por la
estrecha relacin que se muestra en la pantalla con el Cdigo Simblico o Mdulo
Fuente contenido en el archivo .asm sobre el cual el programador tiene acceso para
realizar las modificaciones necesarias hasta obtener la solucin al problema.
DESARROLLO:
1) Justificar mediante clculos el tiempo tomado en el numeral 1 de la
parte prctica. Presentar sus clculos.

1 ciclo=

1
=0.125useg
8 MHz

Para el retardo se tiene:


lazo:
out porta,contador
ldi tempo,0xf
call delay
inc contador
rjmp lazo2
delay:
ldi R17,100
delay1:
LDI R18,40
delay2:
ldi R19,250
delay3:
dec R19
NOP
BRNE delay3
dec R18
BRNE delay2
dec R17

;
; 1 ciclo
;
;
;

1 ciclo
5 ciclos
1 ciclo
2 ciclos

; 1 ciclo
; 1 ciclo
; 1 ciclo
;
;
;
;
;
;

1
1
1
1
1
1

ciclo
ciclo
ciclo
ciclo
ciclo
ciclo

BRNE delay1
Ret

; 1 ciclo
; 5 ciclos

Para el clculo se multiplico las veces que se realiza el retardo:


R= 4*106 ciclos de reloj
Mediante una regla de 3 simple se obtiene el tiempo:

0.125 useg 1 ciclo

x 4106 ciclos

Obtenindose:

x=0.5 seg
2) Modificar el programa para que alternativamente sea un contador
ascendente y luego descendente. Simular el diseo y capturar la pantalla
del Analizador Lgico con las 8 seales individuales, en la que se pueda
ver las secuencias ascendente y descendente en forma alternada.
Entregar el listado del programa incluyendo comentarios y justificaciones.
.include "m164pdef.inc"
.def contador = R16
.def tempo = R17
.cseg
.org 0x0000

; se define R16 como el contador


; este es un registro auxiliar
; todos los programas inician en 0x0000

asc:
; Etiqueta asc controla el contado ascendente
clr contador
; inicio la cuenta en cero
ldi tempo,0b11111111
; para definir al Puerto A como salida se debe
out ddra,tempo
; poner 1L en cada uno de los bits del DDR
lazo2:
out porta,contador
; envo del contenido de contador al Puerto A
ldi tempo,0xf
; se inicia una rutina de retardo
call delay4
inc contador
; incremento del contador en una unidad
; si llega al mximo 255, al incrementar vuelve a 0
breq desc
; si el contador llega a cero salta a la etiqueta desc
rjmp lazo2
; repitir el proceso indefinidamente
delay4:
ldi R17,10
delay5:
LDI R18,40
delay6:
ldi R19,250
delay7:
dec R19
NOP
BRNE delay7
dec R18
BRNE delay6
dec R17
BRNE delay5

ret
desc:
; Etiqueta desc indica el contador descendente
ser contador
; inicio la cuenta en FF
ldi tempo,0b11111111
; para definir al Puerto A como salida se debe
out ddra,tempo
; poner 1L en cada uno de los bits del DDR
lazo:
out porta,contador
; envo del contenido de contador al Puerto A
ldi tempo,0xf
; se inicia una rutina de retardo
call delay
dec contador
; decremento del contador en una unidad
; si llega al mnimo 0, al decrementar vuelve a 255
breq asc
; si el contador llega a cero salta a desc
rjmp lazo
; repitir el proceso indefinidamente
delay:
ldi R17,10
delay1:
LDI R18,40
delay2:
ldi R19,250
delay3:
dec R19
NOP
BRNE delay3
dec R18
BRNE delay2
dec R17
BRNE delay1
ret

Conclusiones:
Gabriela Gamboa

Es importante incluir rutinas de retardo en el programa ya que el


microprocesador trabaja en fracciones de segundo muy pequeas por lo que
se hace imposible observar la secuencia ascendente y descendente, al incluir
estas rutinas se posibilita observar los resultados del programa y verificarlos.
Las instrucciones de salto brne y breq son de gran utilidad para incluir saltos
a etiquetas creadas dentro del programa en caso de que se cumpla la
condicin que activa dichas instrucciones.
Es necesario incluir la sentencia ret para retornar de las subrutinas activadas
con la sentencia call.

Viviana Lagua
Se pudo visualizar el funcionamiento de microprocesados en tiempo real, es
decir, de forma grfica mediante las herramientas de simulacin de Proteus
por lo cual concluimos, que en este caso el ATmega 164p puede trabajar con
otros programas para su mejor utilizacin y de esta manera poder imprimir
su pista si es necesario.
Para una mejor visualizacin de programa en el simulador de Proteus es
necesario crear un lazo de retardo en el microprocesador ya que este trabaja
en un tiempo menor.
Mediante el set de instrucciones podemos realizar varias codificaciones de un
programa, este puede ser de diferentes maneras
con diferentes
instrucciones pero siempre debemos llegar al fin deseado considerando que
se debe realizar un algoritmo optimo y rpido, adems de entendible para el
usuario.
Miguel Calle

Se aprendi, comprob y estudio el funcionamiento del micro controlador


Atmega 164p en el simulador de Proteus, entendiendo as que este simulador
nos va a servir de mucha ayuda para probar los programas que vamos a
utilizar en el micro, y de esta manera al momento de la implementacin no
hayan errores.
Se pudo apreciar que la programacin en assembler, es una programacin
secuencial, y que de esta manera el micro controlador va a depender de la
manera ms simple que realicemos el programa, para realizar la funcin que
le ordenemos, de manera rpida. Entonces la velocidad con la que ejecute el
programa el micro controlador va a depender de la programacin que
realicemos.
Proteus es de gran utilidad, porque no solo nos permite simular el micro
controlador, sino que tambin nos permite simular otras herramientas
importantsimas como son el osciloscopio, fuentes, y todos estos equipos,

que son de gran utilidad para poder verificar los resultados, de una manera
visual.
Recomendaciones:

Ajustar el tiempo de retardo cuanto sea necesario para poder observar los
resultados de los mismos en los displays creados en PROTEUS.
Verificar
las
caractersticas
predeterminadas
en
PROTEUS
del
microprocesador como la divisin del reloj.

Bibliografa:

Set de instrucciones del AVR

You might also like