Vous êtes sur la page 1sur 8

Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 1 ~ Ing. Zenn Cucho Mendoza




UNIVERSIDAD NACIONAL DEL CALLAO



FACULTAD DE INGENIERA ELECTRICA Y ELECTRNICA

Informe Final N1

Asignatura: Microcontroladores

Profesor: Ing. Zenn Cucho Mendoza

Alumnos: Cesar Guzmn Alvitrez 090609k
Alvarado Churano, Pamela 100704k


Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 2 ~ Ing. Zenn Cucho Mendoza

Informe Final N1 de Microcontroladores
Pregunta 1:
Mediante un microcontrolador se desea evaluar la temperatura final a partir de la siguiente
expresin:
T= 2T02 + 15
Donde T0 es la temperatura inicial contenida en R22
T es la temperatura final que se guarda en los 2 registros R31:R30
Escriba el programa para hallar la temperatura final
Solucin:
Cdigo:
.org $00
rjmp inicio
inicio: ; //empezamos cargando los numeros en
; // los siguientes registros.
ldi r22,10 ;//r22=10
ldi r18,2 ;//r18=2
ldi r17,15 ;//r17=15
ldi r19,1 ;//r19=1
;// programa pricipal
mul r22,r22 ;//multiplicamos r22 con r22
mov r21,r0 ;//cargamos r0 en r21
mul r18,r21 ;//multiplicamos r18 con r21
mov r23,r0 ;//cargamos r0 en r23
add r17,r23 ;//sumamos r17 y r23
mul r17,r19 ;//multiplicamos r17 y r19
mov r30,r0 ;// cargamos r0 en r30
Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 3 ~ Ing. Zenn Cucho Mendoza

mov r31,r1 ;// cargamos r1 en r31
rjmp fin ;// saltamos a fin
fin: rjmp fin ;//bucle infinito
Diagrama de Flujo:

Simulacin:

Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 4 ~ Ing. Zenn Cucho Mendoza

Pregunta 2:
Se tiene 3 nmeros almacenados en los registros R20,R21, R22. Se pide escribir un
programa para ordenarlos de menor a mayor, en los registros R23,R24,R25
Ejemplo:
Antes de la ejecucin: R20=13, R21=6, R22=120
Despus de la ejecucin: R23= 6, R24=13, R25= 120
Solucin:
Cdigo:

******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
;indicar de menor a mayor
.include "C:\VMLAB\include\m8def.inc"
.org $00
rjmp inicio
inicio:
ldi r20,13
ldi r21,6
ldi r22,120
;/// Programa principal
ldi r21,6
brlo p1 ;// Salta si 6 es menor 13
p1:
ldi r20,13
mov r23,r21
ldi r21,6
brlo p2 ;// Salta si 6 es menor 120
p2:
ldi r22,120
mov r24,r20
ldi r20,13
brlo p3 ;// Salta si 13 es menor 120
p3:
ldi r22,120
mov r25,r22
rjmp inicio


Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 5 ~ Ing. Zenn Cucho Mendoza

Simulacin en los registros :








Diagrama de Flujo:

Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 6 ~ Ing. Zenn Cucho Mendoza

Pregunta 3:
Un pulsador y 4 diodos leds estn conectados a un microcontrolador. Inicialmente, el
diodo led (D1)conectado a PB2 est prendido y los otros diodos leds D2,D3.D4 y D5 que
estn conectados a PB0,PB5 y PB7 estn apagados. Escriba un programa que cumpla
con la condicin siguiente: Al presionar el pulsador que est conectado a PC5 (sin soltar)
se prenden los diodos apagados, al soltarlo vuelve a su condicin inicial, es decir se
prende el diodo led D1 nuevamente y los otros se apagan.
Solucin:
Cdigo:
.include "C:\VMLAB\include\m8def.inc"
.cseg
.org $00
rjmp inicio
inicio:
ldi r16,$A5 ;//Configuramos el puerto B
out DDRB,r16 ;//como salida
ldi r16,$00 ;//Configuramos el puerto C
out DDRC,r16 ;//como entrada
ldi r18,$04 ;//Inicialmente el led que se
out PORTB,r18;//ubica en el puerto PB2 esta prendido
EsperaPulso:
in r20,PINC ;//Esperamos que se pulse
andi r20,0b0100000 ;//filtramos bits PC5
cpi r20,0 ;//Si r20 es igual a 0
breq EsperaPulso ;//salta a esperapulso

;Se presiono el pulsador
EsperaFinPulso:
Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 7 ~ Ing. Zenn Cucho Mendoza

in r20,PINC ;//Esperamos el fin de pulso
andi r20,0b0100000 ;// filtramos bits PC5
cpi r16,0 ;//Si r16 no es igual a 0
brne prender ;//salta a prender
prender:
ldi r18,$A1 ;//Prendemos los leds que se
out PORTB,r18 ;//ubican en PB0,PB5,PB7
rjmp prender1 ;//salta a prender1
prender1:
rjmp inicio ;//salta a inicio
;se solto el pulsador
rjmp fin ;//salta a fin
fin: rjmp fin ;//bucle infinito
Simulacin:


Universidad Nacional del Callao Ingeniera Electrnica

Microcontroladores ~ 8 ~ Ing. Zenn Cucho Mendoza

Diagrama de Flujo: