thanks pittuck and lajon, now I send de code that I usin for configurate de transceiver.
list p=16f876
include<p16f876.inc>
org 0x00
goto inicio
org 0x04
goto inter
;///////////declaracion de variables//////////7777777
retar_20 equ 0x30
retar1_20 equ 0x31
retar equ 0x32
retar1 equ 0x33
retaro equ 0x34
retar1o equ 0x35
cont equ 0x36
temp1 equ 0x37
temp2 equ 0x38
var equ 0x39
veinte equ 0x3A
dato_raml equ 0x39
dato_ramh equ 0x3A
W_Temp equ 7Ch
Status_Temp equ 7Dh
PClatch_Temp equ 7Eh
FSR_Temp equ 7Fh
;configuracion de registros
inicio
call iniciar_puertos
call iniciar_perifericos
call iniciar_variables
goto principal
;programa principal
principal
call retardo_20
call retardo_20
call retardo_20
call retardo_20
call conf_RF
goto $
;/////////////////interrupciones/////////////
inter
movwf W_Temp
swapf STATUS,w
clrf STATUS ;guarda STATUS
movwf Status_Temp
movf PCLATH,w
movwf PClatch_Temp ;guarda PCLATH
clrf PCLATH
movf FSR,w
movwf FSR_Temp ;guarda FSR
;///////////////////verifica a q interrupcion ir//////////////
btfsc INTCON,INTF ;ve si es la interrupcion externa
goto interext ;va a la interrupcion externa
;//////////////////salida de las interrupciones///////////
fininter
movf FSR_Temp,w
movwf FSR ;reestablece FSR
movf PClatch_Temp,w
movwf PCLATH ;restablece PCLATH
swapf Status_Temp,w
movwf STATUS
swapf W_Temp,f
swapf W_Temp,w ;restablece w
retfie
;////////////////////////interrupcion externa////////////////
interext
bcf INTCON,INTF
bsf PORTA,3 ;habilita CE
bcf PORTA,4 ;limpia CS
nop
movlw 0xAA
call env_spi
movlw 0xBB
call env_spi
movlw 0xCC
call env_spi
movlw 0xDD
call env_spi
movlw 0xEE
call env_spi ;manda la direccion
movlw 0x31
call env_spi
movlw 0x32
call env_spi
movlw 0x33
call env_spi
movlw 0x34
call env_spi ;manda el dato
bcf PORTA,3 ;limpia CE
bcf PORTA,4 ;limpia CS
goto fininter
;/////////////////////rituna q inicializa los puertos/////////////////////
iniciar_puertos
bcf STATUS, RP0 ;va al banco 0
clrf PORTA
clrf PORTB
clrf PORTC
;clrf PORTD
;clrf PORTE
bsf STATUS, RP0 ;va al banco 1
movlw b’00000111’ ;RA0,RA1,RA2,RA3,RA4,RA5,RE0,RE1,RE2 digitales
movwf ADCON1 ;Mover el valor al registro
movlw b’00000100’ ;0,1,2,3 entradas 4 salida
movwf TRISA
movlw b’00000001’ ;0,1,2,3 entradas 4,5,6,7 salidas
movwf TRISB
movlw b’10011011’ ;0,1,2,3,4,5,6 salidas 7 entrada
movwf TRISC
;movlw b’00000000’ ;0,1,2,3,4,5,6,7 salidas entrada
;movwf TRISD
;movlw b’00000000’ ;0,1,2,3,4,5,6,7 salidas entrada
;movwf TRISE
bcf STATUS,RP0
return
;/////////////////////rituna q inicializa los perifericos/////////////////////
iniciar_perifericos
bsf STATUS,RP0 ;seleccion del banco 1
movlw b’00100000’
movwf PIE1 ;permiso de interrupciones para el T1 y T2
movlw b’00110011’
movwf SPBRG ;indica q la transmision serial se realiza a 9600 baudios
bsf TXSTA,TXEN
bsf TXSTA,BRGH
bcf STATUS,RP0 ;va al banco 0
movlw b’11010000’
movwf INTCON
bsf RCSTA,CREN
bsf RCSTA,SPEN
clrf STATUS
clrf PIR1
clrf PIR2
return
;/////////////////////rituna q inicializa las variables/////////////////////
iniciar_variables
bcf STATUS,RP0 ;va al banco 0
movlw 0x0A
movwf retar1
movlw 0x03
movwf retar
clrf temp1
clrf temp2
clrf cont
clrf var
clrf veinte
bcf PORTA,3
bcf PORTA,1
clrf dato_raml
clrf dato_ramh
return
;///////////////////////rutina de transmision serial///////////
enviar
movwf TXREG
bcf PIR1,TXIF
bsf STATUS,RP0
bcf STATUS,RP1
fintx
btfss TXSTA,TRMT
goto fintx
bcf STATUS,RP0
bcf STATUS,RP1
retardo_mas
decfsz retar
goto retardo_mas
movlw 0x03
movwf retar
decfsz retar1
goto retardo_mas
movlw 0x0A
movwf retar1
return
;///////////////////retardo de 20ms/////////7
retardo_20
retardo22
decfsz retar_20
goto retardo22
movlw 0xFF
movwf retar_20
decfsz retar1_20
goto retardo22
movlw 0x50
movwf retar1_20
return
;///////////////////retardo de 5ms/////////7
retardo_5
retardoo
decfsz retaro
goto retardoo
movlw 0xFF
movwf retaro
decfsz retar1o
goto retardoo
movlw 0x02
movwf retar1o
return
;/////////////////////////espera q llegue dato spi//////////
esp_spi
movlw 0x08
movwf temp2 ;Inicializa el contador
nop
nop
nop
nop
bck_spi
bsf PORTA,1 ;coloca reloj en estado alto
bsf STATUS,C
btfss PORTA,2 ;Copia el valor del dato en el carry
bcf STATUS,C
nop
nop
nop
nop
bcf PORTA,1 ;coloca reloj en estado bajo
rlf temp1,f ;Para guardarlo en el temporal
decfsz temp2,f ;Comprobamos el contador, para ver si hemos recibido los 8 bits
goto bck_spi ;Si no, se repite el ciclo
movf temp1,w
call enviar
return
;////////////////////enviar dato spi////////
env_spi
movwf temp1 ;Salva el byte a transmitir en el registro temporal ‘temp1’
movlw 0x08
movwf temp2 ;Inicializa el contador
vuelve_spi
bsf PORTA,0 ;coloca dati en 1
btfss temp1,7 ;Comprueba el bit
bcf PORTA,0 ;y lo coloca la salida en 0 si el dato es 0
nop ;Envia el bit
nop
bsf PORTA,1
nop ;Da un pulso de reloj
nop
nop
nop
bcf PORTA,1
nop
rlf temp1,f ;Rotamos a la izquierda ‘temp1’
decfsz temp2,f ;Comprobamos el contador, para ver si hemos enviado los 8 bits
goto vuelve_spi ;Si no se repite el ciclo
bcf PORTA,0
return
;/////////////////////////7configura en trw 24g////////////////////
conf_RF
bcf PORTA,3 ;limpia CE
bsf PORTA,4 ;habilita CS
nop
movlw 0x00
call env_spi
movlw 0x20
call env_spi
movlw 0x00
call env_spi
movlw 0x00
call env_spi
movlw 0x00
call env_spi
movlw 0x00
call env_spi
movlw 0x00
call env_spi
movlw 0xAA
call env_spi
movlw 0xBB
call env_spi
movlw 0xCC
call env_spi
movlw 0xDD
call env_spi
movlw 0xEE
call env_spi
movlw 0xA2
call env_spi
movlw 0x4C
call env_spi
movlw 0x04
call env_spi
bcf PORTA,3 ;limpia CE
bcf PORTA,4 ;limpia CS
return
;/////////////////////////////incluye la libreria/////////////////////////////
end
that is de code please someone help me with my problem I apreeciate so much your colaboration.