		LIST		p=16F877
#include	"P16f877.inc"
		__config	0x3339



	;cblock	0x20
	;	DATAIN
;	endc
	datain	equ	0x20	
	
		org	0x00
		goto	main
	


		org	0x04				; Megszakítás szubrutin
		goto	interrupt


main
		banksel	OPTION_REG
		movlw	b'11011111'			;T0CKI porta bemenet
		movwf	OPTION_REG
		banksel	INTCON
		movlw	b'11000000'			;GIE,PIE RB7-RB4 ON 
		movwf	INTCON				;többi megszakítása OFF
		banksel	PIE1
		movlw	b'00110000'			;RX,TX megszakítás ON többi OFF
		movwf	PIE1				;
		banksel	intcon
		call	init_comport		;comport beállítása
		call	init_IOports		;I/O portok beállítása		
		call	loop				;ciklus

init_comport
		banksel	txsta
		movlw	b'00100100'			;TXSTA beállítása:8bit mode,transmit enable,async mode,BRGH=1(high)
		movwf	TXSTA
		movlw	d'25'				;táblázat szerint baudrate:9615 bps=> hiba=0,16%
		movwf	SPBRG				;
		banksel	rcsta
		movlw	b'10010000'			;RCSTA beállítása:soros port enabled,8bit mode, folyamatos mód, nincs cím figyelés,
		movwf	RCSTA				;
		return

init_IOports
		banksel	trisb
		movlw	b'11110000'			;Portb7-4 bemenet, 
		movwf	trisd
		movlw	b'00000000'			;Portd kimenet mind, ez megy izzó 
		movwf	trisd				;vezérlésekre
		movlw	b'11000000'			;portc,7,6 RX;TX
		movwf	trisc				;portc is
		banksel	portd
		clrf	portd
		return
		
loop
	banksel	portd
	movf	datain,w
	movwf	portd
	goto	loop
		
;-----------------------------------------interrupt-----------------------

interrupt	
		banksel		RCREG
		movf		RCREG,w							;RCREG-et beletesszük a 0x30-as RAM-ba
		movwf		datain							;mert FSR adja a címet amire INDF-el hivatkozok
		
	
retfie

end
						