informe 4 sistemas microprocesados

December 11, 2017 | Author: Joshua Xavier | Category: Digital Technology, Digital & Social Media, Computer Engineering, Computing, Technology
Share Embed Donate


Short Description

Descripción: laboratorio de sistemas microprocesados...

Description

Objetivo: Familiarizar al estudiante con las herramientas existentes para la simulación grafica de sistemas Microprocesados con el paquete de software Proteus; en este caso utilizando el Atmega164p 1. Justificar mediante cálculos el tiempo tomado en el numeral 1 de la práctica. Presentar sus cálculos Mediante el simulador del Atmega se obtiene un tiempo de 751us con una frecuencia de 1MHz 1*1 = 1 1*249 = 249

ciclo de reloj (instrucción ldi) ciclos de reloj (instrucción dec)

2*249-1 = 497 ciclos de reloj (instrucción brne) 1*1 = 1

ciclo de reloj (instrucción inc)

2*1 = 2

ciclos de reloj (instrucción rjmp)

1*1 = 1

ciclo de reloj (instrucción out)

Total ciclos de reloj = 1+249+497+1+2+1 = 751us

2. Modificar el programa para que alternativamente sea un contador ascendente y luego descendente. Simular el diseño y capturar la pantalla del analizador lógico con las 8 señales individuales, en la que se pueda ver las secuencias ascendentes y descendentes en forma alternada. Entregar el listado del programa incluyendo comentarios y justificaciones

/* * contadorad.asm * * Created: 16/05/2015 11:40:35 * Author: Jonathan Cacuango de la Torre */ .include "m164pdef.inc" // definir variables .def contador=r16 ;variable q utilizo como contador .def tempo=r17 ;variable temporal .def maximo=r18 ; .cseg .org 0x0000 ;inicio del programa ldi contador,0 ;inicialio variable en cero ldi tempo,0b11111111 ;almaceno el numero 255 ldi maximo,255 ;cargo el numero maximo al q va a llegar el contador out ddra,tempo ;decalro como salida el puerto A lazo: ;lazo mas externo out porta,contador ;cargo en el puerto A la var contador ;ciclo de retraso ldi tempo,255 ;cargo el numero 255 salto: ;es un ciclo de retraso dec tempo ;decremento la variable tempo brne salto ;comparo si es cero inc contador ;incremento el contador cp contador,maximo ;realizo una comparacion si llego al numero max deseado brne lazo ;regreso a salto decremento: ;ciclo de decremento out porta,contador ;cargo el contador en el puerto A ;ciclo de retraso ldi tempo,255 ; cargo 255 en la variabl temporal salto1: dec tempo ;deremento el contador brne salto1 ;regreso a salto1 dec contador ;decremento el contador brne decremento ;regreso a decremento rjmp lazo ;regreso al lazo principal 3. Adicionalmente realizar lo que el instructor solicite

Bit que viaja de izquierda a derecha /* * registro.asm * * Created: 15/05/2015 12:49:45 * Author: Jonathan cacuango de la Torre */

.include"m164pdef.inc" //definir variables .def contador = R16 ; se define R16 como el contador .def tempo = R17 ; este es un registro auxiliar .cseg .org 0x0000 ; todos los programas inician en 0x0000 ldi contador,1 ; 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 DDRA lazo: out porta,contador ; envío del contenido de contador al Puerto A ldi r19,10 salto: ;ciclo de retraso ldi tempo,10 ; se inicia una rutina de retardo salto1: ;ciclo de retraso ldi r18,80 salto2: ;ciclo de retraso dec r18 ; salto se repite 80 veces brne salto2 ; hasta que la bandera Z=1 dec tempo ;salto que se repite 10 veces brne salto1 dec r19 ;salto que se repite 10 veces brne salto rol contador ; desplazo el bit hacia la izquierda rjmp lazo ; repitir el proceso indefinidamente

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF