; RS232 A40 INTERFACE
			ERRORLEVEL		-302
			ERRORLEVEL		-207
			list			p=16F84A
			#include		<p16f84a.inc>
			__CONFIG		_CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
			#define			TRANSMIT PORTA,0
			#define			LED PORTA,1

w			equ				0
f			equ				1
TD			equ				h'0c'

			ORG				h'00'
			GOTO			MAIN

MAIN		BSF				STATUS,RP0  ;bank 1
			movlw			B'00010000' ;PRESCALER IS FOR TMR0 1:2 ... with push-pull resistors on PortB
			movwf			OPTION_REG  ;W -> OR
			CLRF			INTCON		;00h -> INTCON
			CLRF			TRISA		;00h -> TRISA
			MOVLW			0xFF		;FFh -> W
			MOVWF			TRISB		;W -> TRISB ALL PORTB PINS ARE INPUTS
			BCF				STATUS,RP0	;bank 0
			CLRF			PORTA		;00h -> PORTA
			BSF				TRANSMIT	;1 -> UART TXD PIN
			goto			START		;-> START

DelayY		MACRO			tm
			variable		I
			i=0
			while			i<tm
			nop
			i=i+1
			endw
			ENDM

DATASEND	MOVWF			TD
			BCF				TRANSMIT
			variable		I
			i=0
			while			i<8
			DelayY			104
			BTFSC			TD,i
			BSF				TRANSMIT
			BTFSS			TD,i
			BCF				TRANSMIT
			i=i+1
			endw
			DelayY			104
			BSF				TRANSMIT	
			DelayY			208
			return

START		MOVLW			0x61		;61h -> W
			CALL			DATASEND	;W -> UART
			MOVLW			0x34		;34h -> W
			CALL			DATASEND	;W -> UART
			MOVLW			0x6f		;6fh -> W
			CALL			DATASEND	;W -> UART
			bsf				LED			;LED ON
			sleep						;SLEEP

			END