		'PIC 16F628a   sinuspwm 50hZ
		'made by mat janssen
			
		@ DEVICE PIC16F628A,XT_OSC
		@ DEVICE PIC16f628A,HS_OSC
		@ DEVICE PIC16F628A,MCLR_OFF
		@ DEVICE PIC16F628A,BOD_OFF
		@ DEVICE PIC16F628A,LVP_OFF
		@ DEVICE PIC16F628A,CPD_OFF
		@ DEVICE PIC16F628A,PROTECT_ON
		
		DEFINE	OSC	20
		DEFINE CCP1_REG PORTB
		DEFINE CCP1_BIT 3
		CCP1CON = %00001100
		CMCON = 7
		OPTION_REG = $C3
		INTCON = $C5
		PIE1 = 1
		T1CON = $05
		T2CON = $7C
		TRISA	=	%00111111
		TRISB	= 	%00000000
		
		STP			VAR	BYTE
		GETAL		VAR	BYTE
		FREQ		VAR	WORD 
		FREQL		VAR	FREQ.BYTE0
		FREQH		VAR	FREQ.BYTE1
				
		Clear
		
		FREQ	= $FE88	'50Hz
		
		
		ON INTERRUPT GoTo UPD
		
		
		
BEGIN:
		GoTo BEGIN
		

		Disable
UPD:
		STP = STP + 1
		IF STP > 199 Then STP = 0
		LookUp STP,[128,132,136,139,143,147,150,154,158,161,165,169,172,176,179,182,186,189,192,195,199,202,204,207,210,213,215,218,220,223,225,227,229,231,233,235,237,238,240,241,242,243,244,245,246,247,247,247,248,248,248,248,248,247,247,247,246,245,244,243,242,241,240,238,237,235,233,231,229,227,225,223,220,218,215,213,210,207,204,202,199,195,192,189,186,182,179,176,172,169,165,161,158,154,150,147,143,139,136,132,128,124,120,117,113,109,106,102,98,95,91,87,84,80,77,74,70,67,64,61,57,54,52,49,46,43,41,38,36,33,31,29,27,25,23,21,19,18,16,15,14,13,12,11,10,9,9,9,8,8,8,8,8,9,9,9,10,11,12,13,14,15,16,18,19,21,23,25,27,29,31,33,36,38,41,43,46,49,52,54,57,61,64,67,70,74,77,80,84,87,91,95,98,102,106,109,113,117,120,124],GETAL
		CCPR1L = GETAL
		TMR1L = FREQL : TMR1H = FREQH
		PIR1.0 = 0
		Resume