Led intermitente en assembler

hola gente. es mi primer tema que abro
necesito una gran ayuda. Para el siguiente circuito necesito realizar un programa para el MPLAB, el led debe encender y apagar en forma intermitente, con un ciclo activo de 500 mseg.

LIST P=16F84
STATUS EQU 0X03
PORTB EQU 0X06
TRISB EQU 0X06
;**************************************************
; RUTINA PRINCIPAL
ORG 0X00
GOTO INICIO
INICIO BSF STATUS,5
BCF TRISB,0
BCF STATUS,5
CICLO BSF PORTB,0
GOTO CICLO
END

A este programa tengo que agregarle el retardo, tengo el programa PICDEL pero no puedo hacer nada. Si me ayudan se los agradeceria mucho.

Saludos
 

Adjuntos

  • ledintermitente.JPG
    ledintermitente.JPG
    45.6 KB · Visitas: 53
A tu código no solo le faltan las subrutinas de retardos, sino que también le hace falta apagar el led, pues lo prendes y nunca lo apagas, aunque muy seguramente como no le das tiempo siemre lo verás off, revisa bien tu código primero y cuando lo tengas listo te envio las subrutinas de tiempo q te servirán. Salu2
 
Mas o menos es lo que buscas...

Código:
List P = 16F84A

;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;
STATUS  EQU  03H
PORTA   EQU  05H
PORTB   EQU  06H
TRISA   EQU  85H
TRISB   EQU  86H
TMR0    EQU  0X01
OPTIO   EQU  0X01
INTCON  EQU  0X0B
CONTA   EQU  0X0C
RB0     EQU  0
RP0     EQU  5

;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;
;CONSTANTES DEL PROGRAMA
TIEMPO EQU   0X30     ;POSICION DE MEMORIA
TICKS  EQU   D'50'
ORG   0
;ACCEDEMOS AL SEGUNDO BANCO DE RAM DE DATOS
BSF   STATUS,5
MOVLW   B'00000001'
MOVWF   TRISB
MOVLW   B'00000000'
MOVWF   TRISA
;CONFIGURACION DE TIMER
MOVLW   B'01010111'
MOVWF   OPTIO
;ACCEDE4MOS AL PRIMER BANCO DE RAM
BCF   STATUS,RP0
CLRF  PORTA

;;;;;;;;;;;;;;;; ESTE ES EL PROGRAMA EN SI

INICIO   BTFSC   PORTB, 0
         GOTO INICIO
         CALL RETARDO
         BSF PORTA,1
         CALL PAUSA
         BCF PORTA,1
         GOTO INICIO

;;;;;;;;;;;;;;;AQUI VA EL TEMPORIZADOR

PAUSA    MOVLW  TICKS
         MOVWF  TIEMPO
OTR_TIC  MOVLW  0XB2
         MOVWF  TMR0
SIGUE    BTFSS  INTCON,2
         GOTO   SIGUE
         BCF    INTCON,2
         DECFSZ TIEMPO,1
         GOTO   OTR_TIC                  
         RETURN
         RETARDO  CLRF  CONTA
         INCREM   INCFSZ  CONTA,1
         GOTO INCREM
         RETURN

         END
 
Atrás
Arriba