seriden kastın rs232 ise
;----------------------------------------------------------------------
;;BILGISAYARA BILGI GONDERME(1200 BAUD ,VE 2 ADET STOP BITI
;ADDR,ADDR1 ADRESLERI VE GONDERILECEK
;BILGI T_R_REG 'REGISTERLERINE YAZILACAK
;**************************************************************
PCWRT MOVLW b'00110001' ;pcrx=5 kartrx=4
TRIS PORT_C
BcF PORT_C,pctx ;START BİTİ GONDERİLDİ
CALL DELAY1
TRMT MOVLW .8 ; 8 Data bits+2 adet stop bit
MOVWF count
MOVF T_R_REG,W
MOVWF temp3
TEKRAR BCF status,0
RRF temp3,F
BTFSC status,0
BsF PORT_C,pctx
BTFSS status,0
BcF PORT_C,pctx
CALL DELAY1
DECFSZ count,F
GOTO TEKRAR
BsF PORT_C,pctx
CALL DELAY1 ;2 ADET STOP BİTİ GONDERİLİYOR
CALL DELAY1
RETLW 0
;****************************************************************
;BILGISAYARDAN BILGI OKUMA
PCREAD MOVLW B'00110001' ;pcrx=5 kartrx=4
TRIS PORT_C
CLRF T_R_REG ; Clear all bits of RcvReg
MOVLW 0ffh
MOVWF dlycnt
MOVWF dly2cn
DON1 BTFSs PORT_C,pcrx ;BU KISIM 2 SN YE BİLGİ GELMEZSE GERİ
GOTO RCVR ;DONMEYİ SAGLIYOR
BSF status,5
CALL TIME
bcf status,5
DECFSZ dly2cn,F ;
GOTO DON1 ;
DECFSZ dlycnt,F ;
GOTO DON1 ;
BSF flag,hata ;
nop
RETLW 0
RCVR CALL DELAY1
CALL DELAY2 ; delay for(1/1200)+(0.5/1200) 1249 uS
MOVLW .8 ; 8 Data bits+2 adet stop bit
MOVWF count
R_NEXT CLRF PORT_C
BCF status,0
RRF T_R_REG,F
BTFSc PORT_C,pcrx
BSF T_R_REG,7
CALL DELAY1 ; delay for (1/1200) 833 uS
DECFSZ count,F
GOTO R_NEXT
CLRF PORT_C ; STOP BİTLERİ KONTROL EDİLİYOR
CALL DELAY1
BTFSs PORT_C,pcrx
BSF flag,hata ; GOTO HATA
CLRF PORT_C ; İKİNCİ STOP BİTİ KONTROL EDİLİYOR
; CALL DELAY1
; BTFSs PORT_C,pcrx
; BSF flag,hata ; GOTO HATA
RETLW 0
WAIT MOVLW .100
GOTO SAVE
DELAY1 MOVLW .4 ;4*208 842 US
GOTO SAVE
DELAY2 MOVLW .2 ;2*208 832/2 US
GOTO SAVE
DELAY3 MOVLW .1 ;1*208 832/4 US
SAVE MOVWF dlycnt
REDO_1 MOVLW .67 ; 4800 BAUD=.15 1200 BAUD=.67
BTFSS FLAG2,FLAGBAUD
MOVLW .14
BTFSC FLAG2,FLAGKO
MOVLW .67
MOVWF dly2cn
DON DECFSZ dly2cn,F
GOTO DON
DECFSZ dlycnt,F
GOTO REDO_1
RETLW 0
calısan programdan kesıp yapıstırdım fazlalıklar olabılır ayıklarsınız.