first,Hello everybody.
i’m newbie in this forum
and i’m sorry for my weak languages
i have 2 pieces TRW2.4G and 2 pieces AT89C4051
group 1 // TRW2.4G#1 ↔ AT89C4051#1 as transmitter
group 2 // TRW2.4G#2 ↔ AT89C4051#2 as reciever
and this is my assembly sourcecode
write by READ51
---------------- Transmit Module -----------------------
;********* Use TRW-24G to Transmit *********
;data1 P1.0
;CS1 p1.1
;CE1 p1.2
;clock1 P1.3
;DR1 p1.4
COUNT EQU 38H
TXBYTE1 EQU 39H
TXBYTE2 EQU 40H
BITCHT EQU 41H
ORG 0000H
MAIN: LCALL STDBY1
LCALL DLY_3msec
LCALL CNFTRF1
MAIN1: LCALL SDATA
SJMP MAIN1
;*********************************
;********SEND TRF-2.4 DATA *******
SDATA: SETB P1.2
CLR P1.1
LCALL DLY_232usec
MOV R6,#9
MOV DPTR,#DATA11
SDATA1: CLR A
CLR P1.3
CLR P1.0
MOVC A,@A+DPTR
MOV TXBYTE1,A
ACALL TBCH1
INC DPTR
DJNZ R6,SDATA1
LCALL DLY_20usec
LCALL STDBY1
LCALL DLY_20usec
RET
;************************************
DATA11: DB 0AAH,0BBH,0CCH,0DDH,0EEH,31H,32H,33H,34H
;***********************************
;****** CONFIG TRF-2.4 MODULE TO TRANSMIT *******
CNFTRF1: MOV P1,#00000000B
CLR P1.2
SETB P1.1
ACALL DLY_232usec
CLR A
CNFTR1: MOV B,A
MOV DPTR,#MESSAGE1
MOVC A,@A+DPTR
ACALL TBCH1 ;= send_bitdata
MOV A,B
INC A
CJNE A,#16,CNFTR1
LCALL STDBY1
RET
;********** CONFIG PARAMETER TABLE ********
MESSAGE1: DB 00H,20H,00H,00H,00H,00H,00H,0AAH,0BBH,0CCH,0DDH,0EEH,0A3H,6FH,004H,00H
;*****************************************
TBCH1: MOV R7,#8
TBCH11: CLR C
TBCH111:RLC A
JNC TBCH12
SETB P1.0
SJMP TBCH13
TBCH12: CLR P1.0
TBCH13: NOP
CLR P1.3
NOP
SETB P1.3
NOP
DJNZ R7,TBCH111
RET
;****Stand-by Mode
STDBY1: CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
RET
;Delay Routine********
DLY_232usec: MOV R4,#52 ;DELAY 232USEC (CRYSTAL 16 MHz)
DELAY232: NOP
NOP
NOP
NOP
DJNZ R4,DELAY232
RET
DLY_3msec: MOV R2,#750
DELAY3: NOP
NOP
NOP
DJNZ R2,DELAY3
RET
DLY_20usec: MOV R3,#8
DELAY20: NOP
DJNZ R3,DELAY20
RET
END
---------------------- Recieve Module ---------------
;********* Use TRW-24G to Receive *********
;data1 P1.0
;CS1 p1.1
;CE1 p1.2
;clock1 P1.3
;DR1 p1.4
COUNT EQU 38H
TXBYTE1 EQU 39H
TXBYTE2 EQU 40H
BITCHT EQU 41H
ORG 0000H
;******** MAIN **********
;******** SET SERIAL PORT ********
SERIAL: CLR TR1
MOV P1,#00000000B
MOV TMOD,#00100000B
MOV TH1,#0F7H
MOV TL1,TH1
SETB TR1
MOV SCON,#01000000B
MOV PCON,#10000000B
MOV SP,#60H
MAIN: LCALL STDBY1
LCALL DLY_3msec
LCALL CNFTRF2
SETB P1.2
LCALL DLY_232usec
MAIN1: JB P1.4,SEND_TO_PC
SJMP MAIN1
;*********************************
SEND_TO_PC:
MOV P1,#00010001B
MOV COUNT,#4
SEND_ALL_BYTE:
ACALL READ_RF_MODULE
ACALL UART_TRANSMIT
DJNZ COUNT,SEND_ALL_BYTE
CLR P1.4
RET
;**************************************
READ_RF_MODULE:
CLR TXBYTE2
CLR A
MOV BITCHT,#8
NEXT_BIT:RL A
SETB P1.3
JNB P1.0,SEND_0
SETB ACC.0
SEND_0: CLR P1.3
NOP
DJNZ BITCHT,NEXT_BIT
MOV TXBYTE2,A
RET
UART_TRANSMIT:
CLR TI
MOV SBUF,TXBYTE2
WAIT: JNB TI,WAIT
CLR TI
RET
;****** CONFIG TRF-2.4 MODULE TO RECEIVE *******
CNFTRF2:MOV P1,#00000000B
CLR P1.2
SETB P1.1
LCALL DLY_232usec
CLR A
CNFTR2: MOV B,A
MOV DPTR,#MESSAGE2
MOVC A,@A+DPTR
ACALL TBCH2 ;= send_bitdata
MOV A,B
INC A
CJNE A,#16,CNFTR2
LCALL STDBY1
RET
;********** CONFIG PARAMETER TABLE ********
MESSAGE2: DB 00H,20H,00H,00H,00H,00H,00H,0AAH,0BBH,0CCH,0DDH,0EEH,0A3H,6FH,05H,00H
;*****************************************
TBCH2: MOV R5,#8
TBCH22: CLR C
TBCH222:RLC A
JNC TBCH23
SETB P1.0
SJMP TBCH24
TBCH23: CLR P1.0
TBCH24: NOP
CLR P1.3
NOP
SETB P1.3
NOP
DJNZ R5,TBCH222
RET
;****Stand-by Mode
STDBY1: CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
RET
;Delay Routine********
DLY_232usec: MOV R4,#52 ;DELAY 232USEC (CRYSTAL 16 MHz)
DELAY232: NOP
NOP
NOP
NOP
DJNZ R4,DELAY232
RET
DLY_3msec: MOV R2,#750
DELAY3: NOP
NOP
NOP
DJNZ R2,DELAY3
RET
DLY_20usec: MOV R3,#8
DELAY20: NOP
DJNZ R3,DELAY20
RET
END
have something wrong in my sourcecode that cause it not working.
help me please.
thank you for your helping