⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 基于MEAG16的电机PID控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -