;************************************************************************** ; TRANS : Transmission du buffer "RSBUF" sur la ligne RS-232 * ;************************************************************************** TRANS BCF Trx ;Front du start bit MOVLW 066H ;Init pour 102 x 8us 2us MOVWF SLREC ; 2us CPLBST NOP ; \ DECFSZ SLREC,1 ; I 816us GOTO CPLBST ; I NOP ; / MOVLW 008H ;init compteur bits 2us MOVWF SLREC ; 2us ;Boucle ajustue u 832us du bit (1202 bds) BCO8B BTFSC RSBUF,0 ;Bit a transmettre \ GOTO ILEA1 ; I 6us NOP ; / ;Chemin bit u zuro: BCF Trx ;Bit a zero => +12V \ 6us GOTO BCF8B ;Bit transmis. / ;Chemin bit u 1: ou... ILEA1 BSF Trx ;Bit a 1 => -12V \ NOP ; I 6us NOP ; / ;Tempo bit / bouclage: BCF8B CALL TP100U ; CALL TP100U ; CALL TP100U ; CALL TP100U ; \ 8 x 100us = 800us CALL TP100U ; / CALL TP100U ; CALL TP100U ; CALL TP100U ; NOP ; NOP ; NOP ; \ 6 x 2us = 12us NOP ; / NOP ; NOP ; RRF RSBUF,1 ;bit suivant en place 2us DECFSZ SLREC,1 ;cont. tant que < 8. 2us GOTO BCO8B ; 4us ;Bits de stop: NOP ; \ NOP ;Compense avance... I NOP ;a la sortie... I 8us NOP ; / BSF Trx ;debut 2 bits stop 2us MOVLW 0CEH ;init pour 206 x 8us 2us MOVWF SLREC ; 2us STOBTR NOP ; \ DECFSZ SLREC,1 ; I 1648us GOTO STOBTR ; I NOP ; / RETLW 0 ;Rappel immed. possib. 4us+2us+2us+4us+2us