I have a project wireless circuit having transmitter and receiver by using XBee for wireless. The protocol used for communicate the PIC 16F877A and the XBee is UART. And I wrote my program in assembly languge and I don't know the correct way for the UART configuration so could any one help to run my project.
this is my program for TX
include <p16f877a.inc>
COUNT1 equ H'20'
COUNT2 equ H'21'
COUNT3 equ H'22'
COUNT4 equ H'23'
Init
bsf STATUS,RP0 ;Move to Bank1
movlw b'11111111'
movwf TRISA ;Set port A as input
movlw b'00000000'
movwf TRISB ;Set port B as output
movlw b'00000000'
movwf TRISC ;Set port C as output
movlw b'00000000'
movwf TRISD ;Set port D as output
movlw b'00000000'
movwf TRISE ;Set port E as output
bcf STATUS,RP0 ;Return to Bank0
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
bcf TXSTA,TX9 ;Selects 8-bit transmission
bsf TXSTA,TXEN ;Transmit Enable bit
bcf TXSTA,SYNC ;Asynchronous mode select
bsf TXSTA,BRGH ;High Baud Rate Select bit
bcf TXSTA,TRMT ;Transmit Shift Register Status bit
start
btfsc PORTC,7
goto powerON
goto powerfail
powerfail
bsf PORTC,6 ;send data to transmitter
bsf PORTD,1 ;switch ON alarm
goto start
powerON
bcf PORTC,6 ;power resume stop sending data for transsmitter
bcf PORTD,1 ;switch off alarm
goto start
Delay ;a delay subroutine of around 1 sec.
movlw d'239'
movwf COUNT3
end
this is my program for TX
include <p16f877a.inc>
COUNT1 equ H'20'
COUNT2 equ H'21'
COUNT3 equ H'22'
COUNT4 equ H'23'
Init
bsf STATUS,RP0 ;Move to Bank1
movlw b'11111111'
movwf TRISA ;Set port A as input
movlw b'00000000'
movwf TRISB ;Set port B as output
movlw b'00000000'
movwf TRISC ;Set port C as output
movlw b'00000000'
movwf TRISD ;Set port D as output
movlw b'00000000'
movwf TRISE ;Set port E as output
bcf STATUS,RP0 ;Return to Bank0
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
bcf TXSTA,TX9 ;Selects 8-bit transmission
bsf TXSTA,TXEN ;Transmit Enable bit
bcf TXSTA,SYNC ;Asynchronous mode select
bsf TXSTA,BRGH ;High Baud Rate Select bit
bcf TXSTA,TRMT ;Transmit Shift Register Status bit
start
btfsc PORTC,7
goto powerON
goto powerfail
powerfail
bsf PORTC,6 ;send data to transmitter
bsf PORTD,1 ;switch ON alarm
goto start
powerON
bcf PORTC,6 ;power resume stop sending data for transsmitter
bcf PORTD,1 ;switch off alarm
goto start
Delay ;a delay subroutine of around 1 sec.
movlw d'239'
movwf COUNT3
end