0% encontró este documento útil (0 votos)
46 vistas1 página

Código de Microcontrolador 16F84 para LED

Este documento presenta un programa para encender y apagar un LED conectado al microcontrolador PIC16F84 de manera repetitiva. El programa configura el puerto B como salida, enciende el LED en RB0, llama a una subrutina de retardo, apaga el LED en RB0 y vuelve a llamar la subrutina de retardo antes de repetir el ciclo. La subrutina de retardo decrementa tres variables para generar un retardo.

Cargado por

JUAN LOPEZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas1 página

Código de Microcontrolador 16F84 para LED

Este documento presenta un programa para encender y apagar un LED conectado al microcontrolador PIC16F84 de manera repetitiva. El programa configura el puerto B como salida, enciende el LED en RB0, llama a una subrutina de retardo, apaga el LED en RB0 y vuelve a llamar la subrutina de retardo antes de repetir el ciclo. La subrutina de retardo decrementa tres variables para generar un retardo.

Cargado por

JUAN LOPEZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

;--------------- Comienzo -------------

LIST p=16f84 ; Se utilizar� el microcontrolador modelo 16F84


radix hex

;------------mapa de memoria---------
estado equ 0x03 ; Haciendo asignaciones
TRISB equ 0x06
ptob equ 0x06
var1 equ 0x0C ;Estas 3 variables permitir�n se utilizar�n para establecer el
retardo
var2 equ 0x0D
var3 equ 0x0E

;-------Configuraci�n de puertos-------
Reset org 0x00 ; origen del programa, aqu� comenzar�
; siempre que ocurra un reset
goto inicio ;salta a "inicio"
inicio bsf estado, 5 ;pone rp0 a 1 y pasa al banco1
movlw b'00000000' ; carga W con 00000000
movwf TRISB ; y pasa el valor a trisb
bcf estado, 5 ; pone rp0 a 0 y regresa al banco0

;----Aqu� enciende y apaga el LED-----


ahora bsf ptob,6 ; pone un 1 en RB0 (enciende el LED)
call retardo ; llama al retardo
bcf ptob,6 ; pone a 0 RB0 (apaga el LED)
call retardo ; llama al retardo
goto ahora ; repite todo de nuevo

;-----------Rutina de Retardo-----------
retardo movlw 15 ; aqu� se cargan los registros
movwf var1 ; var1, var2 y var3
; con los valores 15, 25 y 35
tres movlw 25 ; respectivamente
movwf var2
dos movwf 35
movwf var3
uno decfsz var3,1 ; aqu� se comienza a decrementar
goto uno ; cuando var3 llegue a 0
decfsz var2,1 ; se resta 1 a var2
goto dos ; cuando var2 llegue a 0
decfsz var1,1 ; se resta 1 a var1
goto tres ; cuando var1 llegue a 0
retlw 00 ; se regresa al lugar
; de donde se hizo la llamada
;------------------------------------------
end ; final del programa
;------------------------------------------

También podría gustarte