	#INCLUDE	<p18f4520.inc>
	list		p=18f4520
    
    
    CONFIG  OSC = HS
    CONFIG  BOREN = OFF
    CONFIG  WDT = OFF
    CONFIG  LVP = OFF
    CONFIG  PBADEN = OFF
	;CONFIG	FOSC	=	INTI07

	CBLOCK	0X20
	Delay_1_T1
	Delay_1_T2
	Delay_1_T3
	PWM_LED
	ENDC
    
    ORG	0X0000
 ;-----------CONFIG-----------------   
	MOVLW	0X00
	MOVWF	TRISA
	MOVWF	TRISB
	MOVWF	TRISC
	MOVWF	TRISD
	MOVWF	TRISE
	MOVLW	0x00
	MOVWF	PORTA
	MOVWF	PORTC
	MOVWF	PORTB
	MOVWF	PORTD
	MOVWF	PORTC
	MOVWF	PORTE
;-----------CONFIG END---------------------

	CLRF	PORTC
	CLRF	LATC
	CLRF	TRISC
	MOVLW	0X01
	MOVWF	PORTA
	MOVLW	0XFF
	MOVWF	PORTB

MAIN

	CLRF	TRISC,1
	CLRF	TRISC,2

	MOVLW	B'00001100'
	MOVWF	CCP2CON

	MOVLW	B'00000010'
	MOVWF	T2CON

	MOVLW	D'199'
	MOVWF	PIR1
	
	CLRF 	PWM_LED
;-----------------	
	
;-----------CONFIG PWM----------------
PWM_START	
	MOVLW	0X00
	MOVWF	TMR2IF
	MOVLW	0X00
	MOVWF	TMR2
	BSF		T2CON,TMR2ON
	CALL	INIT_D_1
	;GOTO	MAIN_1
;------------END--------------------	
MAIN_1
	CALL	INIT_D_1	
	MOVLW	0X00
	IORWF	PWM_LED,W

	BTFSS	STATUS,Z
	GOTO 	DEC_CCPR2L

INC_CCPR2L
	INCFSZ	CCPR2L
	GOTO	MAIN_1
	GOTO	PWM_LED_0
DEC_CCPR2L
	DECFSZ	CCPR2L
	GOTO	MAIN_1
	
STATE
	COMF	PWM_LED,F
	INCFSZ	CCPR2L
	GOTO	MAIN_1
PWM_LED_0
	COMF	PWM_LED,F
	GOTO	PWM_START





INIT_D_1:
	MOVLW		0xA9
	MOVWF		Delay_1_T1
	MOVLW		0xC
	MOVWF		Delay_1_T2
DELAY_1:
	DECFSZ		Delay_1_T1, 1
	GOTO		DELAY_1
	DECFSZ		Delay_1_T2, 1
	GOTO		DELAY_1
	NOP
	RETURN


    END

