Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <p16F690.inc>
- counter EQU 0x20
- counter2 EQU 0x22
- cblock 0x24
- ;counter
- ;counter2
- counter3
- frequency
- status_temp
- w_temp
- endc
- org 0x00
- goto SETUP
- org 0x04
- movwf w_temp
- movf STATUS, w
- movwf status_temp
- banksel PIR1
- btfss PIR1, TMR1IF
- goto CK_CAP
- bcf PIR1, TMR1IF
- movlw 0x0B
- movwf TMR1H
- movlw 0xDC
- movwf TMR1L
- movf counter2, w
- movwf frequency
- clrf counter2
- retfie
- CK_CAP:
- btfss PIR1, CCP1IF
- goto END_ISR
- bcf PIR1, CCP1IF
- incf counter2
- END_ISR:
- movf status_temp, w
- movwf STATUS
- swapf w_temp, f
- swapf w_temp, w
- retfie
- SETUP:
- banksel OSCCON
- movlw 0x70
- movwf OSCCON
- ; TMR1 Initialization
- banksel T1CON
- movlw 0x21
- movwf T1CON
- bcf PIR1, TMR1IF
- movlw 0x0B
- movwf TMR1H
- movlw 0xDC
- movwf TMR1L
- banksel PIE1
- bsf PIE1, TMR1IE
- movlw 0xC0
- movwf INTCON
- banksel CCP1CON
- bcf CCP1CON, CCP1M3
- bsf CCP1CON, CCP1M2
- bcf CCP1CON, CCP1M1
- bsf CCP1CON, CCP1M0
- clrf counter
- clrf counter2
- clrf counter3
- banksel PIE1
- bsf PIE1, CCP1IE
- bsf INTCON, GIE
- bsf INTCON, PEIE
- movlw 0xC0
- movwf INTCON
- clrf PORTB
- clrf PORTC
- banksel TRISB
- clrf TRISB
- movlw 0x04
- movwf TRISC
- banksel ANSEL
- clrf ANSEL
- clrf ANSELH
- MAIN:
- goto MAIN
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement