Contador Binario MSP430G2553

Acá les traigo un programa en lenguaje ensamblador, el cual hace una cuenta binaria de 0 a 3 con los 2 leds del lauchpad.
00
01
10
11
COPIA DESDE AQUI y pega en un proyecto CCS  nuevo
;*******************************************************************************

; MSP430x2xx  
;
;
;                MSP430x2xx
;             -----------------
;         /|\|              XIN|-
;          | |                 |
;          --|RST          XOUT|-
;            |                 |
;            |             P1.0|-->LED
;*******************************************************************************
            .cdecls C,LIST, "msp430G2553.h"  ; header
;-------------------------------------------------------------------------------
            .text                           ;  Inicio de programa
            .retain
            .retainrefs

;-------------------------------------------------------------------------------
RESET       mov.w   #250h,SP                ; Inicializar  stackpointer
AltoWDT     mov.w   #5A80h,&120h  ; Alto WDT
ConfP1

    bis.b #0110b,&200h
            bis.b   #41h,&P1DIR            ; P1.0 como salida en este caso los LED´s P1.0 y P1.6 

                   mov.b   #00h,&P1OUT         ;inicializa salidas en 0
CONT:       mov.b   #00h,&P1OUT          ;inicializa salidas en 0, en este caso es 00 con los leds
                   call #Tiempo        ;llama subrutina de retardo de tiempo

mov.b   #01h,&P1OUT      ;enciende el priemer led 01
        call #Tiempo

mov.b   #40h,&P1OUT      ;enciende el segundo led, y apaga el primero 10
                        call #Tiempo

                mov.b   #41h,&P1OUT      ;encienden ambos leds 11
call #Tiempo

            jmp CONT   ;brinco para volver hacer la rutina CONT

Tiempo       mov.w   #0FFFFh, R5   ;subrutina, FFFF es la frecuencia del contador, se guarda R5
Retardo:      dec.w   R5             ;decrementa R5 desde FFFF
            jnz     Retardo               ; si el valor de R5 es difernte de 0, brinca a Retardo
            ret                       
;-------------------------------------------------------------------------------
;           Interrupt Vectors
;-------------------------------------------------------------------------------

  .sect   ".reset"                ;  Vector de RESET
          .short  RESET
;           .end
;*******************************************************************************


SI QUIEREN QUE EL CONTEO SEA MÁS LENTO, DUPLIQUEN LA LÍNEA DE  call #Tiempo





Comentarios

  1. Disculpa tengo el launchpad pero al momento de hacer el debugg me marca error de MSP430: Error initializing emulator: Could not find MSP-FET430UIF on specified COM port...como le hago para resolver el problema ?

    ResponderEliminar
    Respuestas
    1. Cuando sucede eso es porque no esta conectado tu micro, o simplemente no lo reconoce, vuelve a conectarlo o serciorate que tu cable funciona

      Eliminar
  2. OYE COMO SE USA EL CONVERTIDOR "ADC" ,UN EJEMPLO PPORFA PARA ACTIVARLO

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Mapas de Karnaugh

Sumador binario de 2 números de 2 Bits

EAGLE 9.0.0