Info 6 Micros

Post on 06-Nov-2015

223 views 0 download

description

wdasd

Transcript of Info 6 Micros

Laboratorio de Sistemas MicroprocesadosPrctica 6: Programacin de los microcontroladores ATMEL(ATMega164P)Objetivo: Aprender a usar correctamente el programador para el Microcontrolador ATMega164p. Implementar un circuito que permita sumar, o restar 2 nmeros de 8 bits utilizando el microcontrolador ATmega164p.

INFORME1. Presentar los resultados de obtenidos del circuito propuesto en el laboratorio.Programa usado:.include"m164pdef.inc" .def aux=r19 .def cosita =r21 .org 0x00 rjmp inicio inicio:ser r16;setear r16clr r17;borrar r17out ddra,r17 ;porta como entradaout ddrb,r17;portb como entradaout ddrc,r16;portc como salidaout ddrd,r16;portd como salidasbi ddrc,7;portc,7 como entradacbi ddrd,7;portd,7 como entradalazo:in r18, pina ;leer puerto Ain r19, pinb;leer puerto B

sbis pind, 7;revisar estado del pin 7

rjmp saltoadd r18, r19;sumabrcs ledldi cosita,0b10000000rjmp mostrarled:ldi cosita, 0b00000000rjmp mostrarsalto:sub r18, r19;resta sin carrybrcs led1ldi cosita, 0b10000000rjmp mostrarled1:ldi cosita, 0b0000000 mostrar:;parte primera:mov aux, r18;r18 se lo mueve a auxandi aux,0x0f ;se extrae los bits mas BAJOS para mmostrarloscall subrutinaadd aux,cositaout portc,aux;salida del aux por portc;segunda parte:mov aux,r18;r18 se lo mueve a auxandi aux,0xf0 ;se extrae los bits mas ALTOS para mmostrarlosswap aux;para poder mostrarlos en la tabla y en los;displays hay que intercambiar los a bits altos por bajoscall subrutinaout portd,aux;salida del aux por portdrjmp lazosubrutina:ldi Zh,high(tabla