list p=16f72 ;PIC16f72 is the target processor
INCLUDE "P16f72.INC"
;------------------------------------------------------------------------------------
__config _PWRTE_ON&_XT_OSC & _WDT_OFF ; configuration switches
org 0x00
main bsf STATUS,RP0 ;Bank1
movlw b'00101111' ;Defining input and output pins
movwf TRISA ;Writing to TRISA register
movlw b'00001111' ;Defining input and output pins
movwf TRISB ;Writing to TRISB register 1-input,0-output
movlw b'00000000'
movwf TRISC
movlw 0x00
movwf ADCON1
bcf STATUS,RP0 ;Bank0
clrf PORTA ;potra,portb initially set to low
clrf PORTB
clrf PORTC
clrf CCP1CON
;removed interrupt bits
bcf T1CON,TMR1ON
movlw d'8'
movwf CCP1CON
movlw 20
movwf CCPR1L
movlw 30
movwf CCPR1H
clrf TMR1H
clrf TMR1L
bsf T1CON,TMR1ON
wait btfss PIR1,CCP1IF ;wait until TMR1=CCPR1
goto wait
;will get to here when match occurs
bcf PIR1,CCP1IF ;clear the flag
Hang goto Hang
end