Programación Específica > Microcontroladores

 Rutina De Tx Y Rx Con Pic 16f870

(1/1)

giovy:
Hola a todos, soy nuevo en el foro y quisiera algo de ayuda, necesito realizar una rutina de TX y RX serial con pic 16f870, el dato recibido en el Pic es TTL y necesito sacarlo a 4 dispositivos en TTL.

No se si me pudieran colaborar indicandome como realizarlo, la idea es no emplear el módulo de TX y RX que trae el Pic.

Por su gentil colaboración les agradezco a todos.

oldkami:
No recuerdo muy bien donde encontre estas rutinas, sirven para configurar un rs232 por software.   espero que te sean de ayuda.



--- Código: Text --- ;transmite serialmente a 9600bps con un xtal de 4MHz;se deben definir las siguientes variables:;  RXport   ;  RXtris;  TXport;  TXtris;  RS_TEMP1;  RS_TEMP2;  RXD;  TXD;  RB0, ES LA SEÑAL DE RX    #define  RXport  PORTB,0  #define  RXtris  TRISB,0  #define  TXport  PORTB,1  #define  TXtris  TRISB,1    CONSTANT  LF   = d'10'  CONSTANT  CR = d'13'  CONSTANT  TAB = d'9'  CONSTANT  BS   = d'8'   UDATA_SHRRS_TEMP1  RES  1RS_TEMP2  RES  1RXD    RES  1TXD    RES  1   ;MACROS RS232init  macro  call  RS_init  endm SEND  macro  S_String  movlw  S_String  call  SENDsub  endm SENDw  macro  call  SENDsub  endm RECEIVE  macro  call  RECsub  endm ;subrutinas;RS_init inicializaRS_init  bsf  TXport      banksel  OPTION_REG  clrf  OPTION_REG  bcf  TXtris  bsf  RXtris  banksel  TXport  bsf  TXport&#59;movlw  INTCON  RETURN ;RECsub  recibe el dato serial  RECsub  call  RS_Wait  btfsc  RXport  &#59;  goto  REENTRY  &#59;   movlw  0x08  movwf  RS_TEMP1  goto  RECaRECa  call  R_Wait  btfss  RXport  goto  RECb  bsf  RXD,0x07  goto  RECcRECb  bcf  RXD,0x07RECc  decfsz  RS_TEMP1,0  rrf  RXD,1  decfsz  RS_TEMP1,1  goto  RECa  call  R_Wait  btfss  RXport  clrf  RXD  retlw  0x01 ;REENTRY limpia RXD en caso de malentendidoREENTRY    clrf  RXD  movlw  0x0F  movwf  RXD  retlw  0x01 ;SENDsub transmite un dato almacenado en WSENDsub  movwf  TXD  bcf  TXport  movlw  0x08  movwf  RS_TEMP1  call  S_WaitSENDa  btfsc  TXD,0  goto  SENDb  bcf  TXport  goto  SENDcSENDb  bsf  TXportSENDc  rrf  TXD,1  call  S_Wait  decfsz  RS_TEMP1,1  goto  SENDa  goto  SENDdSENDd  bsf  TXport  call  S_Wait  call  S_Wait  bsf  TXport  RETURN ;rutinas de espera: deben ser cambiadas segun el xtal usado;y la tasa de baudios. S_Wait  movlw  0x1E  movwf  RS_TEMP2  goto  X_WaitRS_Wait  movlw  0x0C  movwf  RS_TEMP2  goto  X_WaitR_Wait  movlw  0x1D  movwf  RS_TEMP2  goto  X_WaitX_Wait  decfsz  RS_TEMP2,1  goto  X_Wait  RETURN  
Saludos

Oldkami

giovy:
Oldkami mil gracias por su colaboración, comenzare a trabajar en el.
 :D

Navegación

[0] Índice de Mensajes

Ir a la versión completa