;Vonalkövető F-1_robot.asm segítség, hogy ne szálljon fel a füst!
;VALAMI NEM MEGY? NE ADD FEL! ÍRJ: kepa@picnick.hu

;írta: 
;utolsó módosítás:

	LIST P=18F2520
#INCLUDE "P18F2520.INC"

	config		OSC=INTIO67		;BELSŐ KVARC OSZCI RA6-7 I/0 LÁB ÜZEM	
	config		FCMEN=ON		;OSZCILLÁTOR MONITOR BE
	config		IESO=OFF		;BELSŐ-KÜLSŐ OSZCI VÁLTÁS KI
	config		PWRT=ON
	config		BOREN=OFF		;BOR BE
	config		BORV=2
	config		WDT=OFF			;WATCHDOG ki
	config		WDTPS=128
	config		MCLRE=ON		;RESZET LÁB BE
	config		LPT1OSC=OFF
	config		PBADEN=OFF		;PORTB0-4 DIGIT I/O
	config		CCP2MX = PORTBE		;pwm out hol legyen
	config 		STVREN=OFF		;VEREM RESET
	config		LVP=OFF			;ALACSONY FESZÜLTSÉGŰ PROGRAMOZÁS RB5 LÁB IS FORLALT
	config		XINST=OFF		;KITERJESZTETT UTASÍTÁSKÉSZLET KI, INDEXELÉS KI
	config		DEBUG=OFF		;BOGARÁSZÓ MÓD
	config		CP0=OFF			;KÓDVÉDELEM
	config		CP1=OFF
	config		CP2=OFF
	config		CP3=OFF
	config		CPB=OFF			;BOOT-BLOKK VÉDELEM (1. 128 SOR)
	config		CPD=OFF			;EEPROM VÉDELEM
	config		WRT0=OFF		;ÍRÁSVÉDELEM (KÓD)
	config		WRT1=OFF
	config		WRT2=OFF
	config		WRT3=OFF
	config		WRTB=OFF		;BOOT-BLOKK ÍRÁSVÉDELEM
	config		WRTC=OFF		;KONFIG BITEK ÍRÁSVÉDELME
	config		WRTD=OFF		;EEPROM ÍRÁSVÉDELME
	config		EBTR0=OFF		;TÁBLA KIOLVASÁS VÉDELEM
	config		EBTR1=OFF
	config		EBTR2=OFF
	config		EBTR3=OFF
	config		EBTRB=OFF

; LÁBAK MEGNEVEZÉSE
#DEFINE		AD		PORTA,0
#DEFINE		LED9		PORTA,1
#DEFINE		LED8		PORTA,2
#DEFINE		LED7		PORTA,3
#DEFINE		JOBB_GOMB	PORTA,4
#DEFINE		LED6		PORTA,5
#DEFINE		LED4		PORTA,6
#DEFINE		LED5		PORTA,7

#DEFINE		LED3		PORTC,0
#DEFINE		LED2		PORTC,1
#DEFINE		BAL_PWM		PORTC,2
#DEFINE		LED1		PORTC,3
#DEFINE		BAL_VEZÉR	PORTC,4
#DEFINE		RED		PORTC,5
;#DEFINE	TX		PORTC,6
;#DEFINE	RX		PORTC,7

#DEFINE		BAL_HALL	PORTB,0
#DEFINE		JOBB_HALL	PORTB,1
#DEFINE		BAL_GOMB	PORTB,2
#DEFINE		JOBB_PWM	PORTB,3
#DEFINE		SERVO_OUT	PORTB,4
#DEFINE		JOBB_VEZÉR	PORTB,5
;#DEFINE	ICD2		PORTB,6
;#DEFINE	ICD2		PORTB,7


	CBLOCK	0X00			;VÁLTOZÓK LÉTREHOZÁSA


	ENDC

	ORG	0X00			;RESET VEKTOR
	GOTO	INIC

	ORG	0X08			;MEGSZAKÍTÁSI VEKTOR
	;A MEGSZAKíTÁST TESSÉK HASZNÁLNI!
	;A LÁBAK NEM VÉLETLENSZERŰEN VANNAK BEKÖTÖZGETVE...
	;BAL HALL, JOBB HALL PWM, SZERVO, STB...
	RETFIE

INIC
	MOVLW	B'11101110'		;PORTOK "TÖRLÉSE"
	MOVWF	PORTA
	MOVLW	B'00001011'
	MOVWF	PORTC
	CLRF	PORTB
	MOVLW	B'00010001'		;PORTIRÁNYOK MEGADÁSA
	MOVWF	TRISA
	MOVLW	B'11000111'
	MOVWF	TRISB
	MOVLW	B'11000000'
	MOVWF	TRISC

OSCILLÁTOR_INIC
	MOVLW	B'01100010'		;OSCILLÁTOR BEÁLLÍTÁSA  BELSŐ,4mHz stb...
	MOVWF	OSCCON

PWM_INIC
	MOVLW	B'00001111'
	MOVWF	CCP1CON
	MOVWF	CCP2CON
	MOVLW	B'00000111'
	MOVWF	T2CON
	MOVLW	.255
	MOVWF	PR2
	CLRF	CCPR1L			;BAL KERÉK PWM
	CLRF	CCPR2L			;JOBB KERÉK PWM

AD_INIC
	MOVLW	B'00000001'		;A/D ON CH0 GODONE,1
	MOVWF	ADCON0
	MOVLW	B'00001110'		;RA0 A/D A TÖBBI DIGIT
	MOVWF	ADCON1		
	MOVLW	B'00001111'		;BELSO RC, FELÜLRE IGAZÍTVA
	MOVWF	ADCON2	


	GOTO	MAIN




MAIN



	END
