        

        PROCESSOR '16F877A'
        INCLUDE <P16F877A.INC>

        __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF

         
        ORG 0x0000
INIT:
        banksel	TRISC
		clrf	TRISC			  ; PortC kimenet
		banksel	ADCON1
		movlw	b'01001110'
		movwf	ADCON1			  ; PortA O bitje analóg bemenet
		banksel	ADCON0
		movlw	b'10000101'
		movwf	ADCON0			  ;Vref+ = Vdd	Vref- = Vss
		
        ;PWM Frekvencia beállítása
        BSF STATUS, RP0 ;BANK 01
        MOVLW D'255' ;PR2 = D'255' PWM periódus = 2,56*10^-4 s => PWM frekvencia = 3,9 kHz 
        MOVWF PR2
        BCF STATUS, RP0 ;BANK 00
        
        ;PWM kitöltés beállítása 
        CLRF CCPR1L

        MOVLW B'00001100' 
        MOVWF CCP1CON
        
        ;PWM kimenet beállítása
        BSF STATUS, RP0 ;BANK 01
        BCF TRISC, 2 ;PortC 2 bitje a PWM kimenet
        BCF STATUS, RP0  ;BANK 00
        
        ;TIMER 2 előosztás 1:1
        MOVLW B'00000100'
        MOVWF T2CON
        
        ;TIMER 2 törlése
        CLRF TMR2
        
        ;TIMER 2 indítása
        BSF T2CON, TMR2ON
        
        
MAIN:
        bsf	ADCON0,	GO
		btfsc	ADCON0,	GO
		goto	$-1
		movf	ADRESH,W
		MOVWF CCPR1L
		GOTO MAIN
        

        END
