
; Soft UART op 19k2

PUTSCHAR: PUSH  IE
	  CLR   IE.7	 ; Interrupts uit
	  PUSH  B
	  MOV   B,R3
	  PUSH  B	 ; Push R3
	  MOV   B,R2     ; Save R2 in B
	  
	  CLR	STXD	 ; Start bit laag
	  CALL  SBDELAY  ; Wacht Start bit
	  MOV	R2,#8	 ; Stuur 8 bits

PC10:	  RRC	A	 ; Bit naar carry
	  MOV	STXD,C	 ; Write bit
	  CALL  SBDELAY  ; Wacht Data bit
	  DJNZ	R2,PC10  ; Volgend bit

	  SETB	STXD	 ; stop bit
	  RRC	A	 ; A op orginele waarde
	  CALL  SBDELAY  ; Wacht Stop bit
	  	  
	  MOV   R2,B	 ; Restore R2  
	  POP   B
	  MOV   R3,B     ; Restore R3
	  POP   B
	  POP   IE
	  RET

SBDELAY:  MOV	R3,#22   ; Wacht bit tijd
SBT10:	  DJNZ	R3,SBT10 ; 22.5  	
	  NOP		 ; en de halve
	  RET       
