|
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _EXTCLK_OSC & _MCLRE_OFF & _LVP_OFF
var1 equ 0x20 ;
;***************************
;*** Program Code ***
;***************************
org 0x0000
goto labl001
nop ; Warning--Code may not be reachable
nop ; Warning--Code may not be reachable
nop ; Warning--Code may not be reachable
;***************************
;*** Interrupt Routine ***
;***************************
org 0x0004
btfss PIR1, TMR1IF
goto errint
t1int bcf T1CON,TMR1ON
bcf INTCON, GIE
bcf STATUS, RP0
bcf STATUS, RP1
bcf PIR1, TMR1IF
clrf TMR1L
clrf TMR1H
bsf T1CON,TMR1ON
incf var1
btfsc var1,0 ;моргаем 18-й ногой (норма)
bcf PORTA,1
bsf PORTA,1
retfie
errint bsf PORTA, 0 ;моргаем 17-й ногой (авария)
bcf PORTA, 0
goto errint
;*********main prog*********
;
labl001
clrf STATUS ;select bank 0
clrf PORTA ;инит пота А
clrf PORTB ;инит пота B
movlw 0x07 ;
movwf CMCON ;откл.компараторы
bsf STATUS,RP1 ;select bank 1
bcf VRCON,VREN ;откл.ист.оп.напр.
bcf VRCON,VROE ;ИОН не подкл.к RA2
movlw 0xBC ;10111100
tris PORTA ;направл.порта А
movlw 0xFF ;11111111
tris PORTB ;направл.порта B
bsf PIE1, TMR1IE
bcf STATUS,RP1 ;select bank 0
clrf PIR1
bsf INTCON,PEIE ;разр.прерыв.
bsf INTCON,GIE ;разр.прерыв.
clrf var1
;
clrf TMR1L
clrf TMR1H
movlw 0x06 ;00000110
movwf T1CON
bsf T1CON,TMR1ON ;считаем на T1CKI
encount bsf PORTA,6 ;генерим 15-й ногой
nop :то, чего считаем на TMR1CKI
nop
bcf PORTA,6
goto encount
end;
E-mail: info@telesys.ru