
	list      p=16F690           ; list directive to define processor
	#include <p16F690.inc>        ; processor specific variable definitions

	errorlevel  -302              ; suppress message 302 from list file


	__CONFIG   _CP_OFF & _CPD_OFF & _BOR_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF 


	org 0

	goto main

	org 0x0C
main
	
	bsf	    STATUS,5            
	movlw   b'00000000'         
	movwf   TRISA           	
	movlw   b'0101000'	
	movwf   TRISB	   	
	movlw   b'01100111'	
	movwf   TRISC       
	bcf	    STATUS,5	
	movlw   b'00100000'
	movwf   PORTB            
	movlw   b'00000000'       	;
	movwf   PORTA

RS232init
	banksel SPBRG				
	;bsf		STATUS,5  
	movlw	0x19               
	movwf	SPBRG
	movlw	b'00100100'     
	movwf	TXSTA	  
	;bcf		STATUS,5	     
	banksel RCSTA
	movlw	b'10010000'       
	movwf	RCSTA   

EEPROM

	movlw	b'00100000'	; w = 32
	banksel EEADR
  	movwf 	EEADR 	;EEADR = CIM   W-->EEADR
	movlw	b'01001101'
  	movwf 	EEDAT 	;EEDATA = ADAT

	banksel EECON1
  	bcf 	EECON1,EEPGD 	;EEPGD = "0", az EEPROM kiválasztása
	bsf 	EECON1,WREN 	;WREN = "1", az írás engedélyezése
  	bcf 	INTCON,GIE 	;GIE = "0", a megszakítások tiltása
	movlw 	H'55' 	;W = H'55'
  	movwf 	EECON2 	;EECON2 = H'55', írás inicializálás
  	movlw 	H'AA' 	;W = H'AA'
  	movwf 	EECON2 	;EECON2 = H'AA', írás inicializálás
  	bsf 	EECON1,WR 	;WR = "1", az írás indítása

varok	

	btfss	EECON1,WR	;várunk, amíg befejeződik az írás: ekkor WR 0 lesz
	goto	varok
	banksel PIR2
	bcf 	PIR2,EEIF
	banksel EECON1;
	bcf 	EECON1,WREN 	;WREN = "0", az írás tiltása
	bsf 	INTCON,GIE 	;GIE = "1", a megszakítások engedélyezése

	banksel EECON1
  	bcf 	EECON1,EEPGD 	;EEPGD = "0", az EEPROM kiválasztása
	movlw	b'00100000'	; w = 32
	banksel EEADR
  	movwf 	EEADR 	;EEADR = CIM
	banksel EECON1
  	bsf 	EECON1,RD 	;RD = "1", az olvasás indítása
	banksel EEDAT
  	movf 	EEDAT,W 	;W = EEDATA, az eredmény kiolvasása
	

	banksel TXREG
	movwf	TXREG	
	bsf		STATUS,5
	nop
	btfss	TXSTA,TRMT	
	goto	$-1	      
	bcf		STATUS,5	    
	return 

loop

	goto loop

	end                  

