;------------------------------------------------------------
; Código assembler generado por Niple.
; Nombre del Proyecto: Temporizador-conexión -impulso
; Autor: Francisco Freire Blanco.
; Fecha: 06/11/2002
; PIC: 16F84
; Velocidad de reloj: 4 Mhz
; Funcion: Si pulsamos y soltamos empieza a temporizar
10" y se activa la salida 1 intermitentemente, al finalizar se activa la
salida 2.
;------------------------------------------------------------
LIST P=PIC16F84
;------------------------------------------------------------
;
Declaración de Registros
;------------------------------------------------------------
w equ 00h
status equ 0x03
porta
equ 0x05
portb equ
0x06
_np_tiempo
equ 0x0f
_np_tiempo1
equ 0x10
_np_tiempo2
equ 0x11
_np_tiempo3
equ 0x12
trisa
equ 0x85
trisb
equ 0x86
;------------------------------------------------------------
;
Declaración de Bits
;------------------------------------------------------------
ra0
equ 0 ;bit 0 del puerto a
ra1
equ 1 ;bit 1 del puerto a
rb7
equ 7 ;bit 7 del puerto b
rp0 equ 5
;registrer banck select bit
;------------------------------------------------------------
;
Inicio
;------------------------------------------------------------
reset org 0
goto paso2
;------------------------------------------------------------
;
programa principal
;------------------------------------------------------------
paso2
clrw ;borra acumulador
movlw
b'00011111' ;configurar el puerto a como xxxeeeee
bsf
status,rp0 ;cambiar a pagina 1
movwf trisa
movlw
b'00000000' ;configurar el puerto b
como ssssssss
bsf
status,rp0 ;cambiar a pagina 1
movwf trisb
bcf
status,rp0 ;cambiar a pagina 0
btfss porta,ra0
goto paso2 ; cierra el ciclo
paso6
clrwdt
;temporizador 1
seg
movlw .1
call
tiempo_1_255_seg
;fin del
temporizador 1 seg
bsf
portb,rb7 ;salida alarma
;temporizador 1
seg
movlw .1
call
tiempo_1_255_seg
;fin del
temporizador 1 seg
bcf
portb,rb7 ;apagar lampara
btfss porta,ra1
goto paso6 ; cierra el ciclo
goto paso2 ; cierra el ciclo
;------------------------------------------------------------
;
Declaración de Subrutinas
;------------------------------------------------------------
tiempo_1_255_seg
movwf _np_tiempo
goto
tiempo_1_255_seg_1
tiempo_1_255_seg_bucle2
nop
nop
nop
nop
nop
nop
nop
tiempo_1_255_seg_1
movlw .10
movwf
_np_tiempo1
tiempo_1_255_seg_bucle1
nop
nop
movlw .99
movwf
_np_tiempo2
tiempo_1_255_seg_bucle0
nop
nop
nop
movlw .200
movwf
_np_tiempo3
tiempo_1_255_seg_bucle
nop
nop
decfsz
_np_tiempo3,1
goto
tiempo_1_255_seg_bucle
nop
nop
nop
decfsz
_np_tiempo2,1
goto
tiempo_1_255_seg_bucle0
nop
nop
nop
decfsz
_np_tiempo1,1
goto tiempo_1_255_seg_bucle1
decfsz
_np_tiempo,1
goto tiempo_1_255_seg_bucle2
return
End