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

📄 lianjie.lst

📁 监测高压电电流
💻 LST
📖 第 1 页 / 共 5 页
字号:
     185 C04B      RJMP	0x01D1
     186 9543      INC	R20
     187 304A      CPI	R20,0xA
     188 F358      BCS	0x0174
(0412) 		}
(0413) 		break;
     189 C045      RJMP	0x01CF
(0414) 	case R_RX_PAYLOAD:
(0415) 		len = Register[3] & 0x3f;
     18A 9160 00EB LDS	R22,Register+3
     18C 736F      ANDI	R22,0x3F
(0416) //		uart_TxChar(len);
(0417) //		rxpt = 0;
(0418) //		handlept = 0;
(0419) 		FlashFlag = FLASHLIMIT;
     18D E082      LDI	R24,2
     18E 9380 006C STS	FlashFlag,R24
(0420) /*		for ( i=0; i<len; i++ )	 {
(0421) 			uart_TxChar(spi_rxbuf[i]);
(0422) 		}
(0423) */
(0424) //		rxpt = len;
(0425)         
(0426) 		handle();
     190 D116      RCALL	_handle
(0427) 		NoDataCount = 0;
     191 2422      CLR	R2
     192 2433      CLR	R3
     193 9230 006A STS	NoDataCount+1,R3
     195 9220 0069 STS	NoDataCount,R2
(0428) 		break;
     197 C037      RJMP	0x01CF
(0429) 	case R_TX_ADDRESS:
(0430) 		len = (Register[2] >> 4) & 0x07;
     198 9160 00EA LDS	R22,Register+2
     19A 9562      SWAP	R22
     19B 706F      ANDI	R22,0xF
     19C 7067      ANDI	R22,7
(0431) 		for ( i=0; i<len; i++ ) {
     19D 2744      CLR	R20
     19E C013      RJMP	0x01B2
(0432) 			if ( tx_addr[i] != spi_rxbuf[i] )	return 1;
     19F E781      LDI	R24,0x71
     1A0 E090      LDI	R25,0
     1A1 2FE4      MOV	R30,R20
     1A2 27FF      CLR	R31
     1A3 0FE8      ADD	R30,R24
     1A4 1FF9      ADC	R31,R25
     1A5 8020      LDD	R2,Z+0
     1A6 EC82      LDI	R24,0xC2
     1A7 E090      LDI	R25,0
     1A8 2FE4      MOV	R30,R20
     1A9 27FF      CLR	R31
     1AA 0FE8      ADD	R30,R24
     1AB 1FF9      ADC	R31,R25
     1AC 8030      LDD	R3,Z+0
     1AD 1432      CP	R3,R2
     1AE F011      BEQ	0x01B1
     1AF E001      LDI	R16,1
     1B0 C020      RJMP	0x01D1
     1B1 9543      INC	R20
     1B2 1746      CP	R20,R22
     1B3 F358      BCS	0x019F
(0433) 		}
(0434) 
(0435) 		break;
     1B4 C01A      RJMP	0x01CF
(0436) 	case R_TX_PAYLOAD:
(0437) 		len = Register[4] & 0x3F;
     1B5 9160 00EC LDS	R22,0x00EC
     1B7 736F      ANDI	R22,0x3F
(0438) 		for ( i=0; i<len; i++ ) {
     1B8 2744      CLR	R20
     1B9 C013      RJMP	0x01CD
(0439) 			if ( tx_buf[i] != spi_rxbuf[i] )	return 1;
     1BA E781      LDI	R24,0x71
     1BB E090      LDI	R25,0
     1BC 2FE4      MOV	R30,R20
     1BD 27FF      CLR	R31
     1BE 0FE8      ADD	R30,R24
     1BF 1FF9      ADC	R31,R25
     1C0 8020      LDD	R2,Z+0
     1C1 EA82      LDI	R24,0xA2
     1C2 E090      LDI	R25,0
     1C3 2FE4      MOV	R30,R20
     1C4 27FF      CLR	R31
     1C5 0FE8      ADD	R30,R24
     1C6 1FF9      ADC	R31,R25
     1C7 8030      LDD	R3,Z+0
     1C8 1432      CP	R3,R2
     1C9 F011      BEQ	0x01CC
     1CA E001      LDI	R16,1
     1CB C005      RJMP	0x01D1
     1CC 9543      INC	R20
     1CD 1746      CP	R20,R22
     1CE F358      BCS	0x01BA
(0440) 		}
(0441) 
(0442) 		break;
(0443) 	}
(0444) 
(0445) 	nrF905_RX_Mode();
     1CF DF7F      RCALL	_nrF905_RX_Mode
(0446) 	return 0;
     1D0 2700      CLR	R16
     1D1 C387      RJMP	pop_xgsetF00C
_SPI_R_CONFIG:
  i                    --> R20
     1D2 934A      ST	R20,-Y
(0447) }
(0448) 
(0449) /////////////////////////////////////////////////////////////
(0450) BYTE SPI_R_CONFIG()
(0451) {
(0452)  	BYTE	i;
(0453) 
(0454) 	spi_rxpt = 0;
     1D3 2422      CLR	R2
     1D4 9220 0070 STS	nrf905_JinJu.c:spi_rxpt,R2
(0455) 	spi_handlept = 0;
     1D6 9220 006F STS	spi_handlept,R2
(0456) 	nrF905_Standby_Mode();
     1D8 DF6F      RCALL	_nrF905_Standby_Mode
(0457) 	CSN_L;
     1D9 98C2      CBI	0x18,2
(0458)  	SPI_Char(0,R_CONFIG);
     1DA E120      LDI	R18,0x10
     1DB 2700      CLR	R16
     1DC DF54      RCALL	_SPI_Char
(0459) 	for ( i=0; i<10; i++ ) 	SPI_Char(1,0xff);
     1DD 2744      CLR	R20
     1DE C004      RJMP	0x01E3
     1DF EF2F      LDI	R18,0xFF
     1E0 E001      LDI	R16,1
     1E1 DF4F      RCALL	_SPI_Char
     1E2 9543      INC	R20
     1E3 304A      CPI	R20,0xA
     1E4 F3D0      BCS	0x01DF
(0460) 
(0461) 	CSN_H;
     1E5 9AC2      SBI	0x18,2
(0462) 	return spi_handle(R_CONFIG);
     1E6 E100      LDI	R16,0x10
     1E7 DF6E      RCALL	_spi_handle
     1E8 9149      LD	R20,Y+
     1E9 9508      RET
_SPI_W_CONFIG:
  i                    --> R20
     1EA 934A      ST	R20,-Y
(0463) }
(0464) 
(0465) /////////////////////////////////////////////////////////////
(0466) void SPI_W_CONFIG()
(0467) {
(0468)  	BYTE	i;
(0469) 
(0470) 	nrF905_Standby_Mode();
     1EB DF5C      RCALL	_nrF905_Standby_Mode
(0471) 	ms(10);
     1EC E00A      LDI	R16,0xA
     1ED E010      LDI	R17,0
     1EE DEB1      RCALL	_ms
     1EF C017      RJMP	0x0207
(0472) 	while(1)	{
(0473) 		CSN_L;
     1F0 98C2      CBI	0x18,2
(0474) 	 	SPI_Char(0,W_CONFIG);
     1F1 2722      CLR	R18
     1F2 2700      CLR	R16
     1F3 DF3D      RCALL	_SPI_Char
(0475) 		for ( i=0; i<10; i++ )	{
     1F4 2744      CLR	R20
     1F5 C00A      RJMP	0x0200
(0476) 		 	SPI_Char(0,Register[i]);
     1F6 EE88      LDI	R24,0xE8
     1F7 E090      LDI	R25,0
     1F8 2FE4      MOV	R30,R20
     1F9 27FF      CLR	R31
     1FA 0FE8      ADD	R30,R24
     1FB 1FF9      ADC	R31,R25
     1FC 8120      LDD	R18,Z+0
     1FD 2700      CLR	R16
     1FE DF32      RCALL	_SPI_Char
     1FF 9543      INC	R20
     200 304A      CPI	R20,0xA
     201 F3A0      BCS	0x01F6
(0477) 		}
(0478) 
(0479) 		CSN_H;
     202 9AC2      SBI	0x18,2
(0480) 
(0481) 		if ( !SPI_R_CONFIG() )	break;
     203 DFCE      RCALL	_SPI_R_CONFIG
     204 2300      TST	R16
     205 F409      BNE	0x0207
     206 C001      RJMP	0x0208
     207 CFE8      RJMP	0x01F0
(0482) 	}
(0483) 
(0484) 	nrF905_RX_Mode();
     208 DF46      RCALL	_nrF905_RX_Mode
     209 9149      LD	R20,Y+
     20A 9508      RET
_SPI_R_TX_PAYLOAD:
  len                  --> R20
  i                    --> R10
     20B 92AA      ST	R10,-Y
     20C 934A      ST	R20,-Y
(0485) }
(0486) 
(0487) /////////////////////////////////////////////////////////////
(0488) BYTE SPI_R_TX_PAYLOAD()
(0489) {
(0490)  	BYTE	i,len;
(0491) 
(0492) 	spi_rxpt = 0;
     20D 2422      CLR	R2
     20E 9220 0070 STS	nrf905_JinJu.c:spi_rxpt,R2
(0493) 	spi_handlept = 0;
     210 9220 006F STS	spi_handlept,R2
(0494) 	nrF905_Standby_Mode();
     212 DF35      RCALL	_nrF905_Standby_Mode
(0495) 	CSN_L;
     213 98C2      CBI	0x18,2
(0496)  	SPI_Char(0,R_TX_PAYLOAD);
     214 E221      LDI	R18,0x21
     215 2700      CLR	R16
     216 DF1A      RCALL	_SPI_Char
(0497) 	len = Register[4] & 0x3F;
     217 9140 00EC LDS	R20,0x00EC
     219 734F      ANDI	R20,0x3F
(0498) 	for ( i=0; i<len; i++ ) 	SPI_Char(1,0xff);
     21A 24AA      CLR	R10
     21B C004      RJMP	0x0220
     21C EF2F      LDI	R18,0xFF
     21D E001      LDI	R16,1
     21E DF12      RCALL	_SPI_Char
     21F 94A3      INC	R10
     220 16A4      CP	R10,R20
     221 F3D0      BCS	0x021C
(0499) 
(0500) 	CSN_H;
     222 9AC2      SBI	0x18,2
(0501) 	return spi_handle(R_TX_PAYLOAD);
     223 E201      LDI	R16,0x21
     224 DF31      RCALL	_spi_handle
     225 9149      LD	R20,Y+
     226 90A9      LD	R10,Y+
     227 9508      RET
_SPI_W_TX_PAYLOAD:
  len                  --> R20
  i                    --> R20
     228 934A      ST	R20,-Y
(0502) }
(0503) 
(0504) /////////////////////////////////////////////////////////////
(0505) void SPI_W_TX_PAYLOAD()
(0506) {
(0507)  	BYTE	i,len;
(0508) 
(0509) 	CSN_L;
     229 98C2      CBI	0x18,2
(0510) 	SPI_Char(0,W_TX_PAYLOAD);
     22A E220      LDI	R18,0x20
     22B 2700      CLR	R16
     22C DF04      RCALL	_SPI_Char
(0511) 
(0512) 	len = Register[4] & 0x3F;
     22D 9140 00EC LDS	R20,0x00EC
     22F 734F      ANDI	R20,0x3F
(0513) 	for ( i=0; i<16; i++ )	{
     230 2744      CLR	R20
     231 C00A      RJMP	0x023C
(0514) 		SPI_Char(0,tx_buf[i]);
     232 EA82      LDI	R24,0xA2
     233 E090      LDI	R25,0
     234 2FE4      MOV	R30,R20
     235 27FF      CLR	R31
     236 0FE8      ADD	R30,R24
     237 1FF9      ADC	R31,R25
     238 8120      LDD	R18,Z+0
     239 2700      CLR	R16
     23A DEF6      RCALL	_SPI_Char
     23B 9543      INC	R20
     23C 3140      CPI	R20,0x10
     23D F3A0      BCS	0x0232
(0515) //uart_TxChar(tx_buf[i]);
(0516) 	}
(0517) 	CSN_H;
     23E 9AC2      SBI	0x18,2
     23F 9149      LD	R20,Y+
     240 9508      RET
_SPI_R_TX_ADDRESS:
  len                  --> R20
  i                    --> R10
     241 92AA      ST	R10,-Y
     242 934A      ST	R20,-Y
(0518) }
(0519) 
(0520) /////////////////////////////////////////////////////////////
(0521) BYTE SPI_R_TX_ADDRESS()
(0522) {
(0523)  	BYTE	i,len;
(0524) 
(0525) 	spi_rxpt = 0;
     243 2422      CLR	R2
     244 9220 0070 STS	nrf905_JinJu.c:spi_rxpt,R2
(0526) 	spi_handlept = 0;
     246 9220 006F STS	spi_handlept,R2
(0527) 	nrF905_Standby_Mode();
     248 DEFF      RCALL	_nrF905_Standby_Mode
(0528) 	CSN_L;
     249 98C2      CBI	0x18,2
(0529)  	SPI_Char(0,R_TX_ADDRESS);
     24A E223      LDI	R18,0x23
     24B 2700      CLR	R16
     24C DEE4      RCALL	_SPI_Char
(0530) 	len = (Register[2] >> 4) & 0x07;
     24D 9140 00EA LDS	R20,Register+2
     24F 9542      SWAP	R20
     250 704F      ANDI	R20,0xF
     251 7047      ANDI	R20,7
(0531) 	for ( i=0; i<len; i++ ) 	SPI_Char(1,0xff);
     252 24AA      CLR	R10
     253 C004      RJMP	0x0258
     254 EF2F      LDI	R18,0xFF
     255 E001      LDI	R16,1
     256 DEDA      RCALL	_SPI_Char
     257 94A3      INC	R10
     258 16A4      CP	R10,R20
     259 F3D0      BCS	0x0254
(0532) 
(0533) 	CSN_H;
     25A 9AC2      SBI	0x18,2
(0534) 	return spi_handle(R_TX_ADDRESS);
     25B E203      LDI	R16,0x23
     25C DEF9      RCALL	_spi_handle
     25D 9149      LD	R20,Y+
     25E 90A9      LD	R10,Y+
     25F 9508      RET
_SPI_W_TX_ADDRESS:
  len                  --> R20
  i                    --> R10
     260 92AA      ST	R10,-Y
     261 934A      ST	R20,-Y
(0535) }
(0536) 
(0537) /////////////////////////////////////////////////////////////
(0538) void SPI_W_TX_ADDRESS()
(0539) {
(0540)  	BYTE	i,len;
(0541) 
(0542) 	CSN_L;
     262 98C2      CBI	0x18,2
(0543)  	SPI_Char(0,W_TX_ADDRESS);
     263 E222      LDI	R18,0x22
     264 2700      CLR	R16
     265 DECB      RCALL	_SPI_Char
(0544) 	len = (Register[2] >> 4) & 0x07;
     266 9140 00EA LDS	R20,Register+2
     268 9542      SWAP	R20
     269 704F      ANDI	R20,0xF
     26A 7047      ANDI	R20,7
(0545) 	for ( i=0; i<len; i++ )	{
     26B 24AA      CLR	R10
     26C C00A      RJMP	0x0277
(0546) 		SPI_Char(0,tx_addr[i]);
     26D EC82      LDI	R24,0xC2
     26E E090      LDI	R25,0
     26F 2DEA      MOV	R30,R10
     270 27FF      CLR	R31
     271 0FE8      ADD	R30,R24
     272 1FF9      ADC	R31,R25
     273 8120      LDD	R18,Z+0
     274 2700      CLR	R16
     275 DEBB      RCALL	_SPI_Char
     276 94A3      INC	R10
     277 16A4      CP	R10,R20
     278 F3A0      BCS	0x026D
(0547) 	}
(0548) 	CSN_H;
     279 9AC2      SBI	0x18,2
     27A 9149      LD	R20,Y+
     27B 90A9      LD	R10,Y+
     27C 9508      RET
_SPI_R_RX_PAYLOAD:
  i                    --> Y,+1
  len                  --> R20
     27D 934A      ST	R20,-Y
(0549) }
(0550) 
(0551) /////////////////////////////////////////////////////////////
(0552) BYTE SPI_R_RX_PAYLOAD()
(0553) {
(0554)  	BYTE	i,len;
(0555) 
(0556) 	spi_rxpt = 0;
     27E 2422      CLR	R2
     27F 9220 0070 STS	nrf905_JinJu.c:spi_rxpt,R2
(0557) 	spi_handlept = 0;
     281 9220 006F STS	spi_handlept,R2
(0558) 	TRX_CE_L;
     283 9896      CBI	0x12,6
(0559) //	nrF905_Standby_Mode();
(0560) 	CSN_L;
     284 98C2      CBI	0x18,2
(0561)  	SPI_Char(0,R_RX_PAYLOAD);
     285 E224      LDI	R18,0x24
     286 2700      CLR	R16
     287 DEA9      RCALL	_SPI_Char
(0562) 	len = Register[3] & 0x3f;
     288 9140 00EB LDS	R20,Register+3
     28A 734F      ANDI	R20,0x3F
     28B C003      RJMP	0x028F
(0563) 	while(DR)	{
(0564) 		SPI_Char(1,0xff);
     28C EF2F      LDI	R18,0xFF

⌨️ 快捷键说明

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