Lenguaje ensamblador
Enviado por jacqueline1993 • 31 de Julio de 2015 • Práctica o problema • 651 Palabras (3 Páginas) • 228 Visitas
//esta practica si presionamos un boton genera los numeros en el display de forma ascendete, si presionamos el otro los decrementa
#include "msp430.h" ; #define controlled include file
org 0c000h
arreglo1 DC8 040h, 079h, 024h, 030h, 019h, 012h, 002h, 078h, 000h, 010h
arreglo2 DC8 010h, 000h, 078h, 002h, 012h, 019h, 030h, 024h, 079h, 040h
INICIO: mov.w #0400h,SP //inicializa stackpointer en la
mov.w #WDTPW+WDTHOLD,&WDTCTL //Deshabilita el watch dog
//NUMEROS
bis.b #07Fh,&P2DIR// p2 del 0 al 6 son salidas
mov.b #0,&P2SEL//PARA USAR EL P2.6 Y 7
//BOTONES
bic.b #0Ah,&P1DIR// p1.3 y p1.1 son entradas
bis.b #0Ah,&P1REN
bis.b #0Ah,&P1OUT
//Boton P1.1
ciclo2
ciclo mov #10,R6// si si es cero realiza el ciclo
mov #arreglo1, R5
ciclito bit.b #02h,&P1IN//pregunta si tiene 0 o 1
jnz continua// salta si no es cero
mov.b @R5+,&P2OUT
mov #0FFFFh,R15
loop0 dec R15
jnz loop0
mov #0FFFFh,R15
loop1 dec R15
jnz loop1
dec R6
jnz ciclito
jmp ciclo
// Boton P1.3
continua mov.b #07Fh,&P2OUT
ciclo3 mov #10,R6// si si es cero realiza el ciclo
mov #arreglo2, R5
ciclito1 bit.b #08h,&P1IN//pregunta si tiene 0 o 1
jnz continuar// salta si no es cero
mov.b @R5+,&P2OUT
mov #0FFFFh,R15
loop3 dec R15
jnz loop3
mov #0FFFFh,R15
loop4 dec R15
jnz loop4
dec R6
jnz ciclito1
jmp ciclo3
continuar mov.b #07Fh,&P2OUT
jmp ciclo2
ORG 0FFFEh
DW INICIO
END
...