📄 车库接收_查询.lst
字号:
A51 MACRO ASSEMBLER 车库接收__檠_ 06/16/2006 15:33:44 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 车库接收_查询.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE 车库接收_查询.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0092 1 TX_EN BIT P1.2
0093 2 TRX_CE BIT P1.3
0091 3 PWR_UP BIT P1.1
0090 4 DR BIT P1.0
00AD 5 ESPI BIT IE.5
0097 6 SCLK BIT P1.7
0096 7 MISO BIT P1.6
0095 8 MOSI BIT P1.5
0094 9 CSN BIT P1.4
00B4 10 MCU_WORK_LED BIT P3.4
00A4 11 IRDA_1 BIT P2.4
00A5 12 IRDA_2 BIT P2.5
008E 13 AUXR EQU 8EH
0085 14 SPCTL EQU 85H
0084 15 SPSTAT EQU 84H
0086 16 SPDAT EQU 86H
0091 17 P1M0 EQU 91H
0092 18 P1M1 EQU 92H
0030 19 NRF905_BUFFER EQU 30H
0034 20 IN_OUT_BYTE EQU 34H
21
0000 22 ORG 0000H
0000 75817F 23 START: MOV SP,#7FH
0003 D291 24 SETB PWR_UP
0005 C293 25 CLR TRX_CE
0007 C292 26 CLR TX_EN
0009 1200E1 27 LCALL DELAY
000C 115A 28 ACALL INITIAL_UART
000E 116F 29 ACALL INITIAL_SPI
0010 1185 30 ACALL INITIAL_NRF905
0012 C2B4 31 CLR MCU_WORK_LED
0014 753400 32 MOV IN_OUT_BYTE,#00H
0017 C292 33 CLR TX_EN
0019 30B2FD 34 MAIN: JNB P3.2,$
001C 35 RE_RECEIVE:
001C D293 36 SETB TRX_CE
001E 3090FD 37 JNB DR,$
0021 B2B4 38 CPL MCU_WORK_LED
0023 C293 39 CLR TRX_CE
0025 11C2 40 ACALL READ_NRF905
41 ; MOV IN_OUT_BYTE,P2
0027 E5A0 42 MOV A,P2
0029 B4FF05 43 CJNE A,#0FFH,OUT_LIB ;30H为有车
002C 7534FF 44 MOV IN_OUT_BYTE,#0FFH ;上位机接收到:FFH
002F 800E 45 SJMP UART
0031 46 OUT_LIB:
0031 B4EF05 47 CJNE A,#0EFH,IN_LIB ;10H为出车库
0034 75340F 48 MOV IN_OUT_BYTE,#0FH ;上位机出车库:0FH
0037 8006 49 SJMP UART
0039 B4DF03 50 IN_LIB: CJNE A,#0DFH,UART ;20H为入车库
003C 7534F0 51 MOV IN_OUT_BYTE,#0F0H ;上位机入车库:F0H
003F 7830 52 UART: MOV R0,#NRF905_BUFFER
0041 7F04 53 MOV R7,#4
0043 54 UART_SEND:
0043 E6 55 MOV A,@R0
0044 08 56 INC R0
0045 11D7 57 ACALL UART_SEND_BYTE
0047 DFFA 58 DJNZ R7,UART_SEND
A51 MACRO ASSEMBLER 车库接收__檠_ 06/16/2006 15:33:44 PAGE 2
0049 E534 59 MOV A,IN_OUT_BYTE
004B 11D7 60 ACALL UART_SEND_BYTE
004D A2A4 61 EXIT: MOV C,IRDA_1
004F 72A5 62 ORL C,IRDA_2
0051 40C9 63 JC RE_RECEIVE
0053 C293 64 CLR TRX_CE
0055 753400 65 MOV IN_OUT_BYTE,#00H
0058 80BF 66 SJMP MAIN
67
005A 68 INITIAL_UART:
005A 759850 69 MOV SCON,#50H
005D 758921 70 MOV TMOD,#21H ;T0 方式 1,T1 方式 2
0060 758DFD 71 MOV TH1,#0FDH ;9600bps at 11.0592MHZ
0063 758BFD 72 MOV TL1,#0FDH
0066 53877F 73 ANL PCON,#7FH
0069 438E40 74 ORL AUXR,#01000000B ; 9600*12bps=115200bps at 11.0592MHZ
006C D28E 75 SETB TR1
006E 22 76 RET
77
006F 78 INITIAL_SPI:
006F 759140 79 MOV P1M0,#01000000B ;40h
0072 7592A0 80 MOV P1M1,#10100000B ;0a0h
0075 7584C0 81 MOV SPSTAT,#11000000B ;SPIF WCOM X X X X X X
0078 538EF7 82 ANL AUXR,#11110111B ;T0X12 T1X12 UART_M0X6 EADCI ESPI EBODI X X
007B 7584C0 83 MOV SPSTAT,#11000000B ;SPIF WCOM X X X X X X
007E 7585D0 84 MOV SPCTL,#11010000B ;SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0
0081 7584C0 85 MOV SPSTAT,#11000000B ;SPIF WCOM X X X X X X
0084 22 86 RET
87
0085 88 INITIAL_NRF905:
0085 C294 89 CLR CSN
0087 7400 90 MOV A,#00000000B ;写配置寄存器命令,从第2字节开始 WC
0089 11B6 91 ACALL SPI_SEND_BYTE
008B 747B 92 MOV A,#7bH ;434.7MHz
008D 11B6 93 ACALL SPI_SEND_BYTE
008F 740C 94 MOV A,#0CH
0091 11B6 95 ACALL SPI_SEND_BYTE
0093 7444 96 MOV A,#44H ;RX地址4字节,TX地址4字节
0095 11B6 97 ACALL SPI_SEND_BYTE
0097 7405 98 MOV A,#05H ;接收有效示菘矶
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -