📄 main.lis
字号:
02A2 ; {
02A2 ; variablel=nRF2401_Conf[i];
02A2 ; ByteWrite(variablel);
02A2 ; }
02A2 ; //Delay100();
02A2 ; delay_nus(600);
02A2 08E5 ldi R16,600
02A4 12E0 ldi R17,2
02A6 7CDF xcall _delay_nus
02A8 .dbline 492
02A8 ; //CS=0; //CS 置低使配置有效
02A8 ; CS_CLR();
02A8 .dbline 492
02A8 AC98 cbi 0x15,4
02AA .dbline 492
02AA .dbline 492
02AA .dbline 494
02AA ; //Delay100();
02AA ; delay_nus(600);
02AA 08E5 ldi R16,600
02AC 12E0 ldi R17,2
02AE 78DF xcall _delay_nus
02B0 .dbline -2
02B0 L63:
02B0 0E940000 xcall pop_gset2
02B4 .dbline 0 ; func end
02B4 0895 ret
02B6 .dbsym r variablel 20 c
02B6 .dbsym r i 22 i
02B6 .dbend
02B6 .dbfunc e SetTxMode _SetTxMode fV
.even
02B6 _SetTxMode::
02B6 .dbline -1
02B6 .dbline 498
02B6 ; }
02B6 ;
02B6 ; void SetTxMode(void)
02B6 ; {
02B6 .dbline 499
02B6 ; NRF_DDR|=((1<<CS)|(1<<CE)|(1<<PWR_UP)|(1<<DATA)|(1<<CLK1));
02B6 84B3 in R24,0x14
02B8 8B63 ori R24,59
02BA 84BB out 0x14,R24
02BC .dbline 504
02BC ; //设置为配置模式
02BC ; //PWR_UP=1;
02BC ; //CE=0;
02BC ; //CS=1;
02BC ; PWR_UP_SET();
02BC .dbline 504
02BC A89A sbi 0x15,0
02BE .dbline 504
02BE .dbline 504
02BE .dbline 505
02BE ; CE_CLR();
02BE .dbline 505
02BE A998 cbi 0x15,1
02C0 .dbline 505
02C0 .dbline 505
02C0 .dbline 506
02C0 ; CS_SET();
02C0 .dbline 506
02C0 AC9A sbi 0x15,4
02C2 .dbline 506
02C2 .dbline 506
02C2 .dbline 508
02C2 ; //Delay100();
02C2 ; delay_nus(600);
02C2 08E5 ldi R16,600
02C4 12E0 ldi R17,2
02C6 6CDF xcall _delay_nus
02C8 .dbline 513
02C8 ; //配置寄存器0 字节RXEN 设置为0:发送模式
02C8 ; //DATA =0;
02C8 ; //CLK1=1;
02C8 ; //CLK1=0;
02C8 ; DATA_CLR();
02C8 .dbline 513
02C8 AD98 cbi 0x15,5
02CA .dbline 513
02CA .dbline 513
02CA .dbline 514
02CA ; CLK1_SET();
02CA .dbline 514
02CA AB9A sbi 0x15,3
02CC .dbline 514
02CC .dbline 514
02CC .dbline 515
02CC ; CLK1_CLR();
02CC .dbline 515
02CC AB98 cbi 0x15,3
02CE .dbline 515
02CE .dbline 515
02CE .dbline 519
02CE ; //设置为Activemodes(Tx)
02CE ; //CS=0;
02CE ; //CE=1;
02CE ; CS_CLR();
02CE .dbline 519
02CE AC98 cbi 0x15,4
02D0 .dbline 519
02D0 .dbline 519
02D0 .dbline 520
02D0 ; CE_SET();
02D0 .dbline 520
02D0 A99A sbi 0x15,1
02D2 .dbline 520
02D2 .dbline 520
02D2 .dbline 522
02D2 ; //Delay100();
02D2 ; delay_nus(600);
02D2 08E5 ldi R16,600
02D4 12E0 ldi R17,2
02D6 64DF xcall _delay_nus
02D8 .dbline -2
02D8 L68:
02D8 .dbline 0 ; func end
02D8 0895 ret
02DA .dbend
02DA .dbfunc e SetRxMode _SetRxMode fV
.even
02DA _SetRxMode::
02DA .dbline -1
02DA .dbline 526
02DA ; }
02DA ;
02DA ; void SetRxMode(void)
02DA ; {
02DA .dbline 527
02DA ; NRF_DDR|=((1<<CS)|(1<<CE)|(1<<PWR_UP)|(1<<DATA)|(1<<CLK1));
02DA 84B3 in R24,0x14
02DC 8B63 ori R24,59
02DE 84BB out 0x14,R24
02E0 .dbline 532
02E0 ; //设置为配置模式
02E0 ; //PWR_UP = 1;
02E0 ; //CE=0;
02E0 ; //CS=1;
02E0 ; PWR_UP_SET();
02E0 .dbline 532
02E0 A89A sbi 0x15,0
02E2 .dbline 532
02E2 .dbline 532
02E2 .dbline 533
02E2 ; CE_CLR();
02E2 .dbline 533
02E2 A998 cbi 0x15,1
02E4 .dbline 533
02E4 .dbline 533
02E4 .dbline 534
02E4 ; CS_SET();
02E4 .dbline 534
02E4 AC9A sbi 0x15,4
02E6 .dbline 534
02E6 .dbline 534
02E6 .dbline 536
02E6 ; //Delay100();
02E6 ; delay_nus(600);
02E6 08E5 ldi R16,600
02E8 12E0 ldi R17,2
02EA 5ADF xcall _delay_nus
02EC .dbline 541
02EC ; //配置寄存器0 字节RXEN 设置为 1:接收模式
02EC ; //DATA =1;
02EC ; //CLK1=1;
02EC ; //CLK1=0;
02EC ; DATA_SET();
02EC .dbline 541
02EC AD9A sbi 0x15,5
02EE .dbline 541
02EE .dbline 541
02EE .dbline 542
02EE ; CLK1_SET();
02EE .dbline 542
02EE AB9A sbi 0x15,3
02F0 .dbline 542
02F0 .dbline 542
02F0 .dbline 543
02F0 ; CLK1_CLR();
02F0 .dbline 543
02F0 AB98 cbi 0x15,3
02F2 .dbline 543
02F2 .dbline 543
02F2 .dbline 547
02F2 ; //设置为Activemodes(Rx)
02F2 ; //CS=0;
02F2 ; //CE=1;
02F2 ; CS_CLR();
02F2 .dbline 547
02F2 AC98 cbi 0x15,4
02F4 .dbline 547
02F4 .dbline 547
02F4 .dbline 548
02F4 ; CE_SET()
02F4 .dbline 548
02F4 A99A sbi 0x15,1
02F6 .dbline 548
02F6 .dbline 550
02F6 ; //Delay100();
02F6 ; delay_nus(600);
02F6 08E5 ldi R16,600
02F8 12E0 ldi R17,2
02FA 52DF xcall _delay_nus
02FC .dbline 551
02FC ; NRF_DDR&=~(1<<DATA);
02FC A598 cbi 0x14,5
02FE .dbline -2
02FE L69:
02FE .dbline 0 ; func end
02FE 0895 ret
0300 .dbend
.area data(ram, con, rel)
0012 .dbfile C:\DOCUME~1\haolxy\桌面\smartcar\smartcar\main.c
0012 _TxAddress::
0012 .blkb 2
.area idata
0012 CCCC .byte 204,204
.area data(ram, con, rel)
0014 .dbfile C:\DOCUME~1\haolxy\桌面\smartcar\smartcar\main.c
0014 .blkb 2
.area idata
0014 CCCC .byte 204,204
.area data(ram, con, rel)
0016 .dbfile C:\DOCUME~1\haolxy\桌面\smartcar\smartcar\main.c
0016 .dbsym e TxAddress _TxAddress A[4:4]c
.area text(rom, con, rel)
0300 .dbfile C:\DOCUME~1\haolxy\桌面\smartcar\smartcar\main.c
0300 .dbfunc e nRF2401_TxPacket _nRF2401_TxPacket fV
0300 ; variable2 -> R20
0300 ; i -> R22,R23
0300 ; TxBuf -> R10,R11
.even
0300 _nRF2401_TxPacket::
0300 0E940000 xcall push_gset3
0304 5801 movw R10,R16
0306 .dbline -1
0306 .dbline 558
0306 ; }
0306 ;
0306 ; //接收方通道硬件地址
0306 ; unsigned char TxAddress[]={0xcc,0xcc,0xcc,0xcc};
0306 ; //nRF2401 数据发送函数
0306 ; void nRF2401_TxPacket(unsigned char TxBuf[])
0306 ; {
0306 .dbline 562
0306 ; int i;
0306 ; unsigned char variable2;
0306 ; //CE=1;
0306 ; CE_SET();
0306 .dbline 562
0306 A99A sbi 0x15,1
0308 .dbline 562
0308 .dbline 562
0308 .dbline 564
0308 ; //Delay100();
0308 ; delay_nus(600);
0308 08E5 ldi R16,600
030A 12E0 ldi R17,2
030C 49DF xcall _delay_nus
030E .dbline 565
030E ; for (i=0;i< (ADDR_W/8);i++)//写入接收地址(按字节对齐)
030E 6627 clr R22
0310 7727 clr R23
0312 L71:
0312 .dbline 566
0312 .dbline 567
0312 80E0 ldi R24,<_TxAddress
0314 90E0 ldi R25,>_TxAddress
0316 FB01 movw R30,R22
0318 E80F add R30,R24
031A F91F adc R31,R25
031C 4081 ldd R20,z+0
031E .dbline 568
031E 042F mov R16,R20
0320 86DF xcall _ByteWrite
0322 .dbline 569
0322 L72:
0322 .dbline 565
0322 6F5F subi R22,255 ; offset = 1
0324 7F4F sbci R23,255
0326 .dbline 565
0326 6230 cpi R22,2
0328 E0E0 ldi R30,0
032A 7E07 cpc R23,R30
032C 94F3 brlt L71
032E .dbline 570
032E ; {
032E ; variable2=TxAddress[i];
032E ; ByteWrite(variable2);
032E ; }
032E ; for (i=0;i<(DATA1_W/8);i++)//写入需要发送的数据(按字节对齐)
032E 6627 clr R22
0330 7727 clr R23
0332 L75:
0332 .dbline 571
0332 .dbline 572
0332 FB01 movw R30,R22
0334 EA0D add R30,R10
0336 FB1D adc R31,R11
0338 4081 ldd R20,z+0
033A .dbline 573
033A 042F mov R16,R20
033C 78DF xcall _ByteWrite
033E .dbline 574
033E L76:
033E .dbline 570
033E 6F5F subi R22,255 ; offset = 1
0340 7F4F sbci R23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -