Está en la página 1de 5

PRACTICA 1

RICARDO BERNAL CABALLERO


CODIGO

LIST P=16F84A

INCLUDE <P16F84A.INC>

CONTA1 EQU 0X0C

CONTA2 EQU 0X0D

CONTA3 EQU 0X0E

CONTA4 EQU 0X0F

ORG 0

; CONFIGURAR EL PUERTO B COMO SALIDA

BSF STATUS,RP0

CLRF TRISB ; TRISB = PORTB

BCF STATUS,RP0

CLRF PORTB ; LIMPIEZA DEL PUERTO B ES DECIR LO INICIALIZAMOS EN 0


; ENVIAR LA SEÑAL A 50 HZ

INICIO

MOVLW 0X80 ; B'10000000'

MOVWF PORTB ; ENVIAMOS VALOR AL PUERTO B

CALL TIEMPO ; LLAMA LA RUTINA DE TIEMPO DE 10 ms

MOVLW 0X00 ; B'00000000'

MOVWF PORTB ; ENVIAMOS VALOR AL PUERTO B

CALL TIEMPO ; LLAMA LA RUTINA DE TIEMPO DE 10 ms

MOVLW 0X40 ; B'01000000'

MOVWF PORTB ; ENVIAMOS VALOR AL PUERTO B

CALL TIEMPO1 ; LLAMA LA RUTINA DE TIEMPO DE 8.33 ms

MOVLW 0X00 ; B'00000000'

MOVWF PORTB ; ENVIAMOS VALOR AL PUERTO B

CALL TIEMPO1 ; LLAMA LA RUTINA DE TIEMPO DE 8.33 ms

GOTO INICIO
; RUTINA DE TIEMPO PARA 10 ms (50 HZ)

TIEMPO

MOVLW D'5'

MOVWF CONTA1

LAZO2 MOVLW D'5'

MOVWF CONTA2

LAZO1 DECFSZ CONTA2,1

GOTO LAZO1

DECFSZ CONTA1,1

GOTO LAZO2

RETURN

; RUTINA DE TIEMPO PARA 8.33 ms (60 HZ)

TIEMPO1

MOVLW D'6'

MOVWF CONTA3

LAZO4 MOVLW D'6'

MOVWF CONTA4

LAZO3 DECFSZ CONTA4,1

GOTO LAZO3

DECFSZ CONTA3,1

GOTO LAZO4

RETURN

END
CIRCUITO

También podría gustarte