T
E
RABAJO Y
XPLICACIÓN
bcf
clrf
clrf
bsf
retfie
No_1000_mS
movlw b'195'
movwf TMR0
bcf
retfie
;------------------------------------------------------------------------------------------------------------------------------
Inicio
clrf
clrf
bsf
movlw b'00000110'
movwf ADCON1
clrf
clrf
movlw b'11000111'
movwf OPTION_REG ;Preescaler de 256 asociado al TMR0
movwf TRISC
bcf
;El TMR1 actúa como contador externo asíncrono y con un preescaler de 1:1
movlw b'00000010'
movwf T1CON
clrf
clrf
call
call
movlw b'00001100'
call
movlw b'100'
movwf Delay
movlw b'195'
movwf TMR0
bsf
movlw b'10100000'
movwf INTCON
Loop
nop
goto
end
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
INTCON,2
;Repone flag del TMR0
TMR1L
TMR1H
;Borra el TMR1
T1CON,0
;TMR1 en On, se inicia la nueva cuenta de pulsos externos
;Repone para temporizar otros 10mS
INTCON,2
;Repone el flag del TMR0
PORTB
;Borra los latch de salida
PORTA
;Borra los latch de salida
STATUS,RP0
;Selecciona banco 1
;Puerta A E/S digitales
TRISB
;Puerta B se configura como salida
TRISA
;Puerta A se configura como salida
;Puerta C como entrada
STATUS,RP0
;Selecciona banco 0
;TMR1 Off
TMR1L
TMR1H
;Puesta a 0 del TMR1
UP_LCD
;Configura puerto para el LCD
LCD_INI
;Inicia el LCD
LCD_REG
;LCD On, cursor y blink Off
;Prepara temporización total de 1000mS (1")
;TMR0 comienza a temporizar 10 ms
T1CON,0
;TMR1 en On, comienza la cuenta de pulsos externos
;Habilita interrupción del TMR0
Loop
;Bucle
P
E
ROTOTIPOS
LECTRÓNICOS
2º DPE
75