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

📄 wdct.lst

📁 我写的atmega16驱动的nrf24l01程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    01FA E100      LDI	R16,0x10
    01FB E010      LDI	R17,0
    01FC 5F0F      SUBI	R16,0xFF
    01FD 4F1F      SBCI	R17,0xFF
    01FE 940E0837  CALL	_EEPROMread
    0200 930002D4  STS	_nrfTxBuf+1,R16
(0070)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0202 E082      LDI	R24,2
    0203 8388      STD	Y+0,R24
    0204 E02B      LDI	R18,0xB
    0205 E032      LDI	R19,2
    0206 ED03      LDI	R16,0xD3
    0207 E012      LDI	R17,2
    0208 DF89      RCALL	_SPI_SendData
(0071) 
(0072)     nrfTxBuf[0] = 0x22;                       // EN_RXADDR:激活接收地址
    0209 E282      LDI	R24,0x22
    020A 938002D3  STS	_nrfTxBuf,R24
(0073)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+2);//0x01;                       // 使能接收通道0
    020C E100      LDI	R16,0x10
    020D E010      LDI	R17,0
    020E 5F0E      SUBI	R16,0xFE
    020F 4F1F      SBCI	R17,0xFF
    0210 940E0837  CALL	_EEPROMread
    0212 930002D4  STS	_nrfTxBuf+1,R16
(0074)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0214 E082      LDI	R24,2
    0215 8388      STD	Y+0,R24
    0216 E02B      LDI	R18,0xB
    0217 E032      LDI	R19,2
    0218 ED03      LDI	R16,0xD3
    0219 E012      LDI	R17,2
    021A DF77      RCALL	_SPI_SendData
(0075) 
(0076)     nrfTxBuf[0] = 0x23;                       // SETUP_AW:设置地址宽度
    021B E283      LDI	R24,0x23
    021C 938002D3  STS	_nrfTxBuf,R24
(0077)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+3);//0x03;                       // 5byte地址宽度
    021E E100      LDI	R16,0x10
    021F E010      LDI	R17,0
    0220 5F0D      SUBI	R16,0xFD
    0221 4F1F      SBCI	R17,0xFF
    0222 940E0837  CALL	_EEPROMread
    0224 930002D4  STS	_nrfTxBuf+1,R16
(0078)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0226 E082      LDI	R24,2
    0227 8388      STD	Y+0,R24
    0228 E02B      LDI	R18,0xB
    0229 E032      LDI	R19,2
    022A ED03      LDI	R16,0xD3
    022B E012      LDI	R17,2
    022C DF65      RCALL	_SPI_SendData
(0079) 
(0080)     nrfTxBuf[0] = 0x24;                       // SETUP_RETR
    022D E284      LDI	R24,0x24
    022E 938002D3  STS	_nrfTxBuf,R24
(0081)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+4);//0x0a;                       // 重发10次,重发延时250+86us
    0230 E100      LDI	R16,0x10
    0231 E010      LDI	R17,0
    0232 5F0C      SUBI	R16,0xFC
    0233 4F1F      SBCI	R17,0xFF
    0234 940E0837  CALL	_EEPROMread
    0236 930002D4  STS	_nrfTxBuf+1,R16
(0082)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0238 E082      LDI	R24,2
    0239 8388      STD	Y+0,R24
    023A E02B      LDI	R18,0xB
    023B E032      LDI	R19,2
    023C ED03      LDI	R16,0xD3
    023D E012      LDI	R17,2
    023E DF53      RCALL	_SPI_SendData
(0083) 
(0084)     nrfTxBuf[0] = 0x25;                       // RF_CH:射频频道
    023F E285      LDI	R24,0x25
    0240 938002D3  STS	_nrfTxBuf,R24
(0085)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+5);//0x40;                       // 频点2
    0242 E100      LDI	R16,0x10
    0243 E010      LDI	R17,0
    0244 5F0B      SUBI	R16,0xFB
    0245 4F1F      SBCI	R17,0xFF
    0246 940E0837  CALL	_EEPROMread
    0248 930002D4  STS	_nrfTxBuf+1,R16
(0086)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    024A E082      LDI	R24,2
    024B 8388      STD	Y+0,R24
    024C E02B      LDI	R18,0xB
    024D E032      LDI	R19,2
    024E ED03      LDI	R16,0xD3
    024F E012      LDI	R17,2
    0250 DF41      RCALL	_SPI_SendData
(0087) 
(0088)     nrfTxBuf[0] = 0x26;                       // RF_SETUP:射频设置寄存器
    0251 E286      LDI	R24,0x26
    0252 938002D3  STS	_nrfTxBuf,R24
(0089) //    nrfTxBuf[1] = 0x09;                       // 2Mbps, 0-18 dBm,Setup LNA gain
(0090)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+6);//0x07;                       // 1Mbps, 0 dBm,Setup LNA gain
    0254 E100      LDI	R16,0x10
    0255 E010      LDI	R17,0
    0256 5F0A      SUBI	R16,0xFA
    0257 4F1F      SBCI	R17,0xFF
    0258 940E0837  CALL	_EEPROMread
    025A 930002D4  STS	_nrfTxBuf+1,R16
(0091)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    025C E082      LDI	R24,2
    025D 8388      STD	Y+0,R24
    025E E02B      LDI	R18,0xB
    025F E032      LDI	R19,2
    0260 ED03      LDI	R16,0xD3
    0261 E012      LDI	R17,2
    0262 DF2F      RCALL	_SPI_SendData
(0092) 
(0093)     nrfTxBuf[0] = 0x27;                       // STATUS:状态寄存器
    0263 E287      LDI	R24,0x27
    0264 938002D3  STS	_nrfTxBuf,R24
(0094)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+7);//0x70;                       // 清空各中断
    0266 E100      LDI	R16,0x10
    0267 E010      LDI	R17,0
    0268 5F09      SUBI	R16,0xF9
    0269 4F1F      SBCI	R17,0xFF
    026A 940E0837  CALL	_EEPROMread
    026C 930002D4  STS	_nrfTxBuf+1,R16
(0095)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    026E E082      LDI	R24,2
    026F 8388      STD	Y+0,R24
    0270 E02B      LDI	R18,0xB
    0271 E032      LDI	R19,2
    0272 ED03      LDI	R16,0xD3
    0273 E012      LDI	R17,2
    0274 DF1D      RCALL	_SPI_SendData
(0096) 
(0097)     nrfTxBuf[0] = 0x2A;                       // RX_ADDR_P0:接收数据通道0的地址40位
    0275 E28A      LDI	R24,0x2A
    0276 938002D3  STS	_nrfTxBuf,R24
(0098)     nrfTxBuf[1] = EEPROMread(RxPipe0Addr+0);//0x01;// 接收数据通道0的地址LSB
    0278 E208      LDI	R16,0x28
    0279 E010      LDI	R17,0
    027A 940E0837  CALL	_EEPROMread
    027C 930002D4  STS	_nrfTxBuf+1,R16
(0099)     nrfTxBuf[2] = EEPROMread(RxPipe0Addr+1);//0x02;
    027E E208      LDI	R16,0x28
    027F E010      LDI	R17,0
    0280 5F0F      SUBI	R16,0xFF
    0281 4F1F      SBCI	R17,0xFF
    0282 940E0837  CALL	_EEPROMread
    0284 930002D5  STS	_nrfTxBuf+2,R16
(0100)     nrfTxBuf[3] = EEPROMread(RxPipe0Addr+2);//0x03;
    0286 E208      LDI	R16,0x28
    0287 E010      LDI	R17,0
    0288 5F0E      SUBI	R16,0xFE
    0289 4F1F      SBCI	R17,0xFF
    028A 940E0837  CALL	_EEPROMread
    028C 930002D6  STS	_nrfTxBuf+3,R16
(0101)     nrfTxBuf[4] = EEPROMread(RxPipe0Addr+3);//0x04;
    028E E208      LDI	R16,0x28
    028F E010      LDI	R17,0
    0290 5F0D      SUBI	R16,0xFD
    0291 4F1F      SBCI	R17,0xFF
    0292 940E0837  CALL	_EEPROMread
    0294 930002D7  STS	0x2D7,R16
(0102)     nrfTxBuf[5] = EEPROMread(RxPipe0Addr+4);//0x05;                       // 接收数据通道0的地址MSB
    0296 E208      LDI	R16,0x28
    0297 E010      LDI	R17,0
    0298 5F0C      SUBI	R16,0xFC
    0299 4F1F      SBCI	R17,0xFF
    029A 940E0837  CALL	_EEPROMread
    029C 930002D8  STS	0x2D8,R16
(0103)     SPI_SendData(nrfTxBuf, nrfRxBuf, 6);
    029E E086      LDI	R24,6
    029F 8388      STD	Y+0,R24
    02A0 E02B      LDI	R18,0xB
    02A1 E032      LDI	R19,2
    02A2 ED03      LDI	R16,0xD3
    02A3 E012      LDI	R17,2
    02A4 DEED      RCALL	_SPI_SendData
(0104) 
(0105)     nrfTxBuf[0] = 0x2B;                       // RX_ADDR_P1:接收数据通道1的地址40位
    02A5 E28B      LDI	R24,0x2B
    02A6 938002D3  STS	_nrfTxBuf,R24
(0106)     nrfTxBuf[1] = EEPROMread(RxPipe1Addr+0);//0x01;// 接收数据通道0的地址LSB
    02A8 E20D      LDI	R16,0x2D
    02A9 E010      LDI	R17,0
    02AA 940E0837  CALL	_EEPROMread
    02AC 930002D4  STS	_nrfTxBuf+1,R16
(0107)     nrfTxBuf[2] = EEPROMread(RxPipe1Addr+1);//0x02;
    02AE E20D      LDI	R16,0x2D
    02AF E010      LDI	R17,0
    02B0 5F0F      SUBI	R16,0xFF
    02B1 4F1F      SBCI	R17,0xFF
    02B2 940E0837  CALL	_EEPROMread
    02B4 930002D5  STS	_nrfTxBuf+2,R16
(0108)     nrfTxBuf[3] = EEPROMread(RxPipe1Addr+2);//0x03;
    02B6 E20D      LDI	R16,0x2D
    02B7 E010      LDI	R17,0
    02B8 5F0E      SUBI	R16,0xFE
    02B9 4F1F      SBCI	R17,0xFF
    02BA 940E0837  CALL	_EEPROMread
    02BC 930002D6  STS	_nrfTxBuf+3,R16
(0109)     nrfTxBuf[4] = EEPROMread(RxPipe1Addr+3);//0x04;
    02BE E20D      LDI	R16,0x2D
    02BF E010      LDI	R17,0
    02C0 5F0D      SUBI	R16,0xFD
    02C1 4F1F      SBCI	R17,0xFF
    02C2 940E0837  CALL	_EEPROMread
    02C4 930002D7  STS	0x2D7,R16
(0110)     nrfTxBuf[5] = EEPROMread(RxPipe1Addr+4);//0x05;                       // 接收数据通道0的地址MSB
    02C6 E20D      LDI	R16,0x2D
    02C7 E010      LDI	R17,0
    02C8 5F0C      SUBI	R16,0xFC
    02C9 4F1F      SBCI	R17,0xFF
    02CA 940E0837  CALL	_EEPROMread
    02CC 930002D8  STS	0x2D8,R16
(0111)     SPI_SendData(nrfTxBuf, nrfRxBuf, 6);
    02CE E086      LDI	R24,6
    02CF 8388      STD	Y+0,R24
    02D0 E02B      LDI	R18,0xB
    02D1 E032      LDI	R19,2
    02D2 ED03      LDI	R16,0xD3
    02D3 E012      LDI	R17,2
    02D4 DEBD      RCALL	_SPI_SendData
(0112) 
(0113)     nrfTxBuf[0] = 0x2C;                       //
    02D5 E28C      LDI	R24,0x2C
    02D6 938002D3  STS	_nrfTxBuf,R24
(0114)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0x0c);
    02D8 E100      LDI	R16,0x10
    02D9 E010      LDI	R17,0
    02DA 5F04      SUBI	R16,0xF4
    02DB 4F1F      SBCI	R17,0xFF
    02DC 940E0837  CALL	_EEPROMread
    02DE 930002D4  STS	_nrfTxBuf+1,R16
(0115)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    02E0 E082      LDI	R24,2
    02E1 8388      STD	Y+0,R24
    02E2 E02B      LDI	R18,0xB
    02E3 E032      LDI	R19,2
    02E4 ED03      LDI	R16,0xD3
    02E5 E012      LDI	R17,2
    02E6 DEAB      RCALL	_SPI_SendData
(0116) 
(0117)     nrfTxBuf[0] = 0x2D;                       
    02E7 E28D      LDI	R24,0x2D
    02E8 938002D3  STS	_nrfTxBuf,R24
(0118)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0x0d);
    02EA E100      LDI	R16,0x10
    02EB E010      LDI	R17,0
    02EC 5F03      SUBI	R16,0xF3
    02ED 4F1F      SBCI	R17,0xFF
    02EE 940E0837  CALL	_EEPROMread
    02F0 930002D4  STS	_nrfTxBuf+1,R16
(0119)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    02F2 E082      LDI	R24,2
    02F3 8388      STD	Y+0,R24
    02F4 E02B      LDI	R18,0xB
    02F5 E032      LDI	R19,2
    02F6 ED03      LDI	R16,0xD3
    02F7 E012      LDI	R17,2
    02F8 DE99      RCALL	_SPI_SendData
(0120)     nrfTxBuf[0] = 0x2E;                      
    02F9 E28E      LDI	R24,0x2E
    02FA 938002D3  STS	_nrfTxBuf,R24
(0121)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0x0e);
    02FC E100      LDI	R16,0x10
    02FD E010      LDI	R17,0
    02FE 5F02      SUBI	R16,0xF2
    02FF 4F1F      SBCI	R17,0xFF
    0300 940E0837  CALL	_EEPROMread
    0302 930002D4  STS	_nrfTxBuf+1,R16
(0122)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0304 E082      LDI	R24,2
    0305 8388      STD	Y+0,R24
    0306 E02B      LDI	R18,0xB
    0307 E032      LDI	R19,2
    0308 ED03      LDI	R16,0xD3
    0309 E012      LDI	R17,2
    030A DE87      RCALL	_SPI_SendData
(0123)     nrfTxBuf[0] = 0x2F;                       
    030B E28F      LDI	R24,0x2F
    030C 938002D3  STS	_nrfTxBuf,R24
(0124)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0x0f);
    030E E100      LDI	R16,0x10
    030F E010      LDI	R17,0
    0310 5F01      SUBI	R16,0xF1
    0311 4F1F      SBCI	R17,0xFF
    0312 940E0837  CALL	_EEPROMread
    0314 930002D4  STS	_nrfTxBuf+1,R16
(0125)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0316 E082      LDI	R24,2
    0317 8388      STD	Y+0,R24
    0318 E02B      LDI	R18,0xB
    0319 E032      LDI	R19,2
    031A ED03      LDI	R16,0xD3
    031B E012      LDI	R17,2
    031C DE75      RCALL	_SPI_SendData
(0126) 
(0127)     nrfTxBuf[0] = 0x30;                       // TX_ADDR:发送数据通道地址,40位
    031D E380      LDI	R24,0x30
    031E 938002D3  STS	_nrfTxBuf,R24
(0128)     nrfTxBuf[1] = EEPROMread(TxPipeAddr+0);//0x01;                       // 接收数据通道0的地址LSB
    0320 E302      LDI	R16,0x32
    0321 E010      LDI	R17,0
    0322 940E0837  CALL	_EEPROMread
    0324 930002D4  STS	_nrfTxBuf+1,R16
(0129)     nrfTxBuf[2] = EEPROMread(TxPipeAddr+1);//0x02;
    0326 E302      LDI	R16,0x32
    0327 E010      LDI	R17,0
    0328 5F0F      SUBI	R16,0xFF
    0329 4F1F      SBCI	R17,0xFF
    032A 940E0837  CALL	_EEPROMread
    032C 930002D5  STS	_nrfTxBuf+2,R16
(0130)     nrfTxBuf[3] = EEPROMread(TxPipeAddr+2);//0x03;
    032E E302      LDI	R16,0x32
    032F E010      LDI	R17,0
    0330 5F0E      SUBI	R16,0xFE
    0331 4F1F      SBCI	R17,0xFF
    0332 940E0837  CALL	_EEPROMread
    0334 930002D6  STS	_nrfTxBuf+3,R16
(0131)     nrfTxBuf[4] = EEPROMread(TxPipeAddr+3);//0x04;
    0336 E302      LDI	R16,0x32
    0337 E010      LDI	R17,0
    0338 5F0D      SUBI	R16,0xFD
    0339 4F1F      SBCI	R17,0xFF
    033A 940E0837  CALL	_EEPROMread
    033C 930002D7  STS	0x2D7,R16
(0132)     nrfTxBuf[5] = EEPROMread(TxPipeAddr+4);//0x05;                       // 接收数据通道0的地址MSB
    033E E302      LDI	R16,0x32
    033F E010      LDI	R17,0
    0340 5F0C      SUBI	R16,0xFC
    0341 4F1F      SBCI	R17,0xFF
    0342 940E0837  CALL	_EEPROMread
    0344 930002D8  STS	0x2D8,R16
(0133)     SPI_SendData(nrfTxBuf, nrfRxBuf, 6);
    0346 E086      LDI	R24,6
    0347 8388      STD	Y+0,R24
    0348 E02B      LDI	R18,0xB
    0349 E032      LDI	R19,2
    034A ED03      LDI	R16,0xD3
    034B E012      LDI	R17,2
    034C DE45      RCALL	_SPI_SendData
(0134) 
(0135)     nrfTxBuf[0] = 0x31;                       // RX_PW_P0 :接收数据通道0的有效载荷字节数
    034D E381      LDI	R24,0x31
    034E 938002D3  STS	_nrfTxBuf,R24
(0136)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0x11);//0x20;                       // 32byte
    0350 E100      LDI	R16,0x10
    0351 E010      LDI	R17,0
    0352 5E0F      SUBI	R16,0xEF
    0353 4F1F      SBCI	R17,0xFF
    0354 940E0837  CALL	_EEPROMread
    0356 930002D4  STS	_nrfTxBuf+1,R16
(0137)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0358 E082      LDI	R24,2
    0359 8388      STD	Y+0,R24
    035A E02B      LDI	R18,0xB
    035B E032      LDI	R19,2
    035C ED03      LDI	R16,0xD3
    035D E012      LDI	R17,2
    035E DE33      RCALL	_SPI_SendData
(0138) 
(0139)     nrfTxBuf[0] = 0x20;                       // CONFIG:PRx, CRC 2byte,power up
    035F E280      LDI	R24,0x20
    0360 938002D3  STS	_nrfTxBuf,R24
(0140)     nrfTxBuf[1] = EEPROMread(UserConfigAddress+0);//0x0f;
    0362 E100      LDI	R16,0x10
    0363 E010      LDI	R17,0
    0364 940E0837  CALL	_EEPROMread
    0366 930002D4  STS	_nrfTxBuf+1,R16
(0141)     SPI_SendData(nrfTxBuf, nrfRxBuf, 2);
    0368 E082      LDI	R24,2
    0369 8388      STD	Y+0,R24
    036A E02B      LDI	R18,0xB
    036B E032      LDI	R19,2
    036C ED03      LDI	R16,0xD3
    036D E012      LDI	R17,2
    036E DE23      RCALL	_SPI_SendData
(0142)     
(0143) 
(0144) 	_TurnOnLed1;
    036F 98AA      CBI	0x15,2
(0145)     
(0146)     nrfTxBuf[0] = dCom_ClrTxFIFO;//0xe1;                       // 清空发送FIFO
    0370 EE81      LDI	R24,0xE1
    0371 938002D3  STS	_nrfTxBuf,R24
(0147)     SPI_SendData(nrfTxBuf, nrfRxBuf, 1);   
    0373 E081      LDI	R24,1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -