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

📄 project.lst

📁 AVR单片机 C语言程序设计经典实用
💻 LST
📖 第 1 页 / 共 5 页
字号:
    02B4 8126      LDD	R18,Z+6
    02B5 8137      LDD	R19,Z+7
    02B6 D380      RCALL	_sDataToChar
(0458) 	SciBuffer_Tx_In(&stSciBuffer,' ');
    02B7 E220      LDI	R18,0x20
    02B8 E10C      LDI	R16,0x1C
    02B9 E011      LDI	R17,1
    02BA DEE4      RCALL	_SciBuffer_Tx_In
(0459) 	
(0460) 	sDataToChar(dwTest,4,&stSciBuffer);
    02BB E18C      LDI	R24,0x1C
    02BC E091      LDI	R25,1
    02BD 839B      STD	Y+3,R25
    02BE 838A      STD	Y+2,R24
    02BF E084      LDI	R24,4
    02C0 8388      STD	Y+0,R24
    02C1 01FE      MOVW	R30,R28
    02C2 8104      LDD	R16,Z+4
    02C3 8115      LDD	R17,Z+5
    02C4 8126      LDD	R18,Z+6
    02C5 8137      LDD	R19,Z+7
    02C6 D370      RCALL	_sDataToChar
(0461) 	SciBuffer_Tx_In(&stSciBuffer,' ');
    02C7 E220      LDI	R18,0x20
    02C8 E10C      LDI	R16,0x1C
    02C9 E011      LDI	R17,1
    02CA DED4      RCALL	_SciBuffer_Tx_In
(0462) 	
(0463) 	sDataToChar(dwTest,2,&stSciBuffer);
    02CB E18C      LDI	R24,0x1C
    02CC E091      LDI	R25,1
    02CD 839B      STD	Y+3,R25
    02CE 838A      STD	Y+2,R24
    02CF E082      LDI	R24,2
    02D0 8388      STD	Y+0,R24
    02D1 01FE      MOVW	R30,R28
    02D2 8104      LDD	R16,Z+4
    02D3 8115      LDD	R17,Z+5
    02D4 8126      LDD	R18,Z+6
    02D5 8137      LDD	R19,Z+7
    02D6 D360      RCALL	_sDataToChar
(0464) 	SciBuffer_Tx_In(&stSciBuffer,' ');
    02D7 E220      LDI	R18,0x20
    02D8 E10C      LDI	R16,0x1C
    02D9 E011      LDI	R17,1
    02DA DEC4      RCALL	_SciBuffer_Tx_In
(0465) 	
(0466) 	sDataToChar(dwTest,1,&stSciBuffer);
    02DB E18C      LDI	R24,0x1C
    02DC E091      LDI	R25,1
    02DD 839B      STD	Y+3,R25
    02DE 838A      STD	Y+2,R24
    02DF E081      LDI	R24,1
    02E0 8388      STD	Y+0,R24
    02E1 01FE      MOVW	R30,R28
    02E2 8104      LDD	R16,Z+4
    02E3 8115      LDD	R17,Z+5
    02E4 8126      LDD	R18,Z+6
    02E5 8137      LDD	R19,Z+7
    02E6 D350      RCALL	_sDataToChar
(0467) 	SciBuffer_Tx_In(&stSciBuffer,'\n');
    02E7 E02A      LDI	R18,0xA
    02E8 E10C      LDI	R16,0x1C
    02E9 E011      LDI	R17,1
    02EA DEB4      RCALL	_SciBuffer_Tx_In
(0468) 	
(0469) 	UART_WRITE_DATA(&stSciBuffer);
    02EB E10C      LDI	R16,0x1C
    02EC E011      LDI	R17,1
    02ED DEEF      RCALL	_UART_WRITE_DATA
(0470) }
    02EE 9628      ADIW	R28,0x8
    02EF 940E06F5  CALL	pop_gset2
    02F1 9508      RET
(0471) 
(0472) //********************************************************************
(0473) // Function    : XXCommand
(0474) // Input       : none
(0475) // Output      : none
(0476) // Description : XX
(0477) //********************************************************************
(0478) void XXCommand(void)
(0479) {
(0480) 	sStringToChar("Received XX Command.\n",&stSciBuffer);
_XXCommand:
    02F2 E12C      LDI	R18,0x1C
    02F3 E031      LDI	R19,1
    02F4 E006      LDI	R16,6
    02F5 E011      LDI	R17,1
    02F6 D361      RCALL	_sStringToChar
(0481) 	UART_WRITE_DATA(&stSciBuffer);	
    02F7 E10C      LDI	R16,0x1C
    02F8 E011      LDI	R17,1
(0482) }
    02F9 CEE3      RJMP	_UART_WRITE_DATA
_YYCommand:
  bChar                --> Y+0
    02FA 9723      SBIW	R28,3
(0483) 
(0484) //********************************************************************
(0485) // Function    : YYCommand
(0486) // Input       : none
(0487) // Output      : none
(0488) // Description : YY,MM
(0489) //********************************************************************
(0490) void YYCommand(void)
(0491) {
(0492) 	INT8U bChar[3];
(0493) 	bChar[0] = stSciBuffer.bRxBuffer[2];
    02FB 90200121  LDS	R2,__idata_end+1
    02FD 8228      STD	Y+0,R2
(0494) 	bChar[1] = stSciBuffer.bRxBuffer[3];
    02FE 90200122  LDS	R2,__idata_end+2
    0300 8229      STD	Y+1,R2
(0495) 	bChar[2] = stSciBuffer.bRxBuffer[4];
    0301 90200123  LDS	R2,__idata_end+3
    0303 822A      STD	Y+2,R2
(0496) 	sStringToChar("Received YY Command , ",&stSciBuffer);
    0304 E12C      LDI	R18,0x1C
    0305 E031      LDI	R19,1
    0306 EE0F      LDI	R16,0xEF
    0307 E010      LDI	R17,0
    0308 D34F      RCALL	_sStringToChar
(0497) 	if((bChar[0] == ',') && \
    0309 8188      LDD	R24,Y+0
    030A 328C      CPI	R24,0x2C
    030B F501      BNE	0x032C
    030C 8189      LDD	R24,Y+1
    030D 3380      CPI	R24,0x30
    030E F0E8      BCS	0x032C
    030F E389      LDI	R24,0x39
    0310 8029      LDD	R2,Y+1
    0311 1582      CP	R24,R2
    0312 F0C8      BCS	0x032C
    0313 818A      LDD	R24,Y+2
    0314 3380      CPI	R24,0x30
    0315 F0B0      BCS	0x032C
    0316 E389      LDI	R24,0x39
    0317 802A      LDD	R2,Y+2
    0318 1582      CP	R24,R2
    0319 F090      BCS	0x032C
(0498) 	   (bChar[1] >= '0') && (bChar[1] <= '9') &&\
(0499) 	   (bChar[2] >= '0') && (bChar[2] <= '9'))
(0500) 	{
(0501) 		sStringToChar("Parameter : ",&stSciBuffer);
    031A E12C      LDI	R18,0x1C
    031B E031      LDI	R19,1
    031C EE02      LDI	R16,0xE2
    031D E010      LDI	R17,0
    031E D339      RCALL	_sStringToChar
(0502) 		SciBuffer_Tx_In(&stSciBuffer,bChar[1]);
    031F 8129      LDD	R18,Y+1
    0320 E10C      LDI	R16,0x1C
    0321 E011      LDI	R17,1
    0322 DE7C      RCALL	_SciBuffer_Tx_In
(0503) 		SciBuffer_Tx_In(&stSciBuffer,bChar[2]);
    0323 812A      LDD	R18,Y+2
    0324 E10C      LDI	R16,0x1C
    0325 E011      LDI	R17,1
    0326 DE78      RCALL	_SciBuffer_Tx_In
(0504) 		SciBuffer_Tx_In(&stSciBuffer,'\n');
    0327 E02A      LDI	R18,0xA
    0328 E10C      LDI	R16,0x1C
    0329 E011      LDI	R17,1
    032A DE74      RCALL	_SciBuffer_Tx_In
(0505) 	}
    032B C005      RJMP	0x0331
(0506) 	else
(0507) 	{
(0508) 		sStringToChar("Illegal Parameter !\n",&stSciBuffer);
    032C E12C      LDI	R18,0x1C
    032D E031      LDI	R19,1
    032E EC0D      LDI	R16,0xCD
    032F E010      LDI	R17,0
    0330 D327      RCALL	_sStringToChar
(0509) 	}	
(0510) 	UART_WRITE_DATA(&stSciBuffer);
    0331 E10C      LDI	R16,0x1C
    0332 E011      LDI	R17,1
    0333 DEA9      RCALL	_UART_WRITE_DATA
(0511) }
    0334 9623      ADIW	R28,3
    0335 9508      RET
_ZZCommand:
  bChar                --> Y+0
    0336 9728      SBIW	R28,0x8
(0512) 
(0513) //********************************************************************
(0514) // Function    : ZZCommand
(0515) // Input       : none
(0516) // Output      : none
(0517) // Description : ZZ,MMM,NNN
(0518) //********************************************************************
(0519) void ZZCommand(void)
(0520) {
(0521) 	INT8U bChar[8];
(0522) 	bChar[0] = stSciBuffer.bRxBuffer[2];
    0337 90200121  LDS	R2,__idata_end+1
    0339 8228      STD	Y+0,R2
(0523) 	bChar[1] = stSciBuffer.bRxBuffer[3];
    033A 90200122  LDS	R2,__idata_end+2
    033C 8229      STD	Y+1,R2
(0524) 	bChar[2] = stSciBuffer.bRxBuffer[4];
    033D 90200123  LDS	R2,__idata_end+3
    033F 822A      STD	Y+2,R2
(0525) 	bChar[3] = stSciBuffer.bRxBuffer[5];
    0340 90200124  LDS	R2,0x124
    0342 822B      STD	Y+3,R2
(0526) 	bChar[4] = stSciBuffer.bRxBuffer[6];
    0343 90200125  LDS	R2,0x125
    0345 822C      STD	Y+4,R2
(0527) 	bChar[5] = stSciBuffer.bRxBuffer[7];
    0346 90200126  LDS	R2,0x126
    0348 822D      STD	Y+5,R2
(0528) 	bChar[6] = stSciBuffer.bRxBuffer[8];
    0349 90200127  LDS	R2,0x127
    034B 822E      STD	Y+6,R2
(0529) 	bChar[7] = stSciBuffer.bRxBuffer[9];
    034C 90200128  LDS	R2,0x128
    034E 822F      STD	Y+7,R2
(0530) 	sStringToChar("Received ZZ Command , ",&stSciBuffer);
    034F E12C      LDI	R18,0x1C
    0350 E031      LDI	R19,1
    0351 EB06      LDI	R16,0xB6
    0352 E010      LDI	R17,0
    0353 D304      RCALL	_sStringToChar
(0531) 	if((bChar[0] == ',') && (bChar[4] == ',') && \
    0354 8188      LDD	R24,Y+0
    0355 328C      CPI	R24,0x2C
    0356 F009      BEQ	0x0358
    0357 C062      RJMP	0x03BA
    0358 818C      LDD	R24,Y+4
    0359 328C      CPI	R24,0x2C
    035A F009      BEQ	0x035C
    035B C05E      RJMP	0x03BA
    035C 8189      LDD	R24,Y+1
    035D 3380      CPI	R24,0x30
    035E F408      BCC	0x0360
    035F C05A      RJMP	0x03BA
    0360 E389      LDI	R24,0x39
    0361 8029      LDD	R2,Y+1
    0362 1582      CP	R24,R2
    0363 F408      BCC	0x0365
    0364 C055      RJMP	0x03BA
    0365 818A      LDD	R24,Y+2
    0366 3380      CPI	R24,0x30
    0367 F408      BCC	0x0369
    0368 C051      RJMP	0x03BA
    0369 E389      LDI	R24,0x39
    036A 802A      LDD	R2,Y+2
    036B 1582      CP	R24,R2
    036C F408      BCC	0x036E
    036D C04C      RJMP	0x03BA
    036E 818B      LDD	R24,Y+3
    036F 3380      CPI	R24,0x30
    0370 F408      BCC	0x0372
    0371 C048      RJMP	0x03BA
    0372 E389      LDI	R24,0x39
    0373 802B      LDD	R2,Y+3
    0374 1582      CP	R24,R2
    0375 F408      BCC	0x0377
    0376 C043      RJMP	0x03BA
    0377 818D      LDD	R24,Y+5
    0378 3380      CPI	R24,0x30
    0379 F408      BCC	0x037B
    037A C03F      RJMP	0x03BA
    037B E389      LDI	R24,0x39
    037C 802D      LDD	R2,Y+5
    037D 1582      CP	R24,R2
    037E F408      BCC	0x0380
    037F C03A      RJMP	0x03BA
    0380 818E      LDD	R24,Y+6
    0381 3380      CPI	R24,0x30
    0382 F408      BCC	0x0384
    0383 C036      RJMP	0x03BA
    0384 E389      LDI	R24,0x39
    0385 802E      LDD	R2,Y+6
    0386 1582      CP	R24,R2
    0387 F190      BCS	0x03BA
    0388 818F      LDD	R24,Y+7
    0389 3380      CPI	R24,0x30
    038A F178      BCS	0x03BA
    038B E389      LDI	R24,0x39
    038C 802F      LDD	R2,Y+7
    038D 1582      CP	R24,R2
    038E F158      BCS	0x03BA
(0532) 	   (bChar[1] >= '0') && (bChar[1] <= '9') && \
(0533) 	   (bChar[2] >= '0') && (bChar[2] <= '9') && \
(0534) 	   (bChar[3] >= '0') && (bChar[3] <= '9') && \
(0535) 	   (bChar[5] >= '0') && (bChar[5] <= '9') && \
(0536) 	   (bChar[6] >= '0') && (bChar[6] <= '9') && \
(0537) 	   (bChar[7] >= '0') && (bChar[7] <= '9'))
(0538) 	{
(0539) 		sStringToChar("Parameter1 : ",&stSciBuffer);
    038F E12C      LDI	R18,0x1C
    0390 E031      LDI	R19,1
    0391 EA08      LDI	R16,0xA8
    0392 E010      LDI	R17,0
    0393 D2C4      RCALL	_sStringToChar
(0540) 		SciBuffer_Tx_In(&stSciBuffer,bChar[1]);
    0394 8129      LDD	R18,Y+1
    0395 E10C      LDI	R16,0x1C
    0396 E011      LDI	R17,1
    0397 DE07      RCALL	_SciBuffer_Tx_In
(0541) 		SciBuffer_Tx_In(&stSciBuffer,bChar[2]);
    0398 812A      LDD	R18,Y+2
    0399 E10C      LDI	R16,0x1C
    039A E011      LDI	R17,1
    039B DE03      RCALL	_SciBuffer_Tx_In
(0542) 		SciBuffer_Tx_In(&stSciBuffer,bChar[3]);
    039C 812B      LDD	R18,Y+3
    039D E10C      LDI	R16,0x1C
    039E E011      LDI	R17,1
    039F DDFF      RCALL	_SciBuffer_Tx_In
(0543) 		SciBuffer_Tx_In(&stSciBuffer,' ');	
    03A0 E220      LDI	R18,0x20
    03A1 E10C      LDI	R16,0x1C
    03A2 E011      LDI	R17,1
    03A3 DDFB      RCALL	_SciBuffer_Tx_In
(0544) 		sStringToChar("Parameter2 : ",&stSciBuffer);
    03A4 E12C      LDI	R18,0x1C
    03A5 E031      LDI	R19,1
    03A6 E90A      LDI	R16,0x9A
    03A7 E010      LDI	R17,0
    03A8 D2AF      RCALL	_sStringToChar
(0545) 		SciBuffer_Tx_In(&stSciBuffer,bChar[5]);
    03A9 812D      LDD	R18,Y+5
    03AA E10C      LDI	R16,0x1C
    03AB E011      LDI	R17,1
    03AC DDF2      RCALL	_SciBuffer_Tx_In
(0546) 		SciBuffer_Tx_In(&stSciBuffer,bChar[6]);
    03AD 812E      LDD	R18,Y+6
    03AE E10C      LDI	R16,0x1C
    03AF E011      LDI	R17,1
    03B0 DDEE      RCALL	_SciBuffer_Tx_In
(0547) 		SciBuffer_Tx_In(&stSciBuffer,bChar[7]);
    03B1 812F      LDD	R18,Y+7
    03B2 E10C      LDI	R16,0x1C
    03B3 E011      LDI	R17,1
    03B4 DDEA      RCALL	_SciBuffer_Tx_In
(0548) 		SciBuffer_Tx_In(&stSciBuffer,'\n');	
    03B5 E02A      LDI	R18,0xA
    03B6 E10C      LDI	R16,0x1C
    03B7 E011      LDI	R17,1
    03B8 DDE6      RCALL	_SciBuffer_Tx_In
(0549) 	}
    03B9 C005      RJMP	0x03BF
(0550) 	else
(0551) 	{
(0552) 		sStringToChar("Illegal Parameters !\n",&stSciBuffer);
    03BA E12C      LDI	R18,0x1C
    03BB E031      LDI	R19,1
    03BC E804      LDI	R16,0x84
    03BD E010      LDI	R17,0
    03BE D299      RCALL	_sStringToChar
(0553) 	}
(0554) 	UART_WRITE_DATA(&stSciBuffer);
    03BF E10C      LDI	R16,0x1C
    03C0 E011      LDI	R17,1
    03C1 DE1B      RCALL	_UART_WRITE_DATA
(0555) }
    03C2 9628      ADIW	R28,0x8
    03C3 9508      RET
_SCI_Parsing:
  wCommandBuffer       --> Y+2
  wLow                 --> R22
  wHigh                --> R10
  wMid                 --> R20
  ptr                  --> R20
    03C4 940E0716  CALL	push_gset3
    03C6 01A8      MOVW	R20,R16
    03C7 9724      SBIW	R28,4
(0556) 
(0557) typedef void (*pFunc)(void);
(0558) 
(0559) pFunc CommandJobArray[8]=
(0560) {
(0561) 	C1Command,C2Command,D1Command,D2Command,
(0562) 	D3Command,XXCommand,YYCommand,ZZCommand
(0563) };
(0564) 
(0565) char wCommandTabArray[8][2]=
(0566) {
(0567) 	"C1",     "C2",
(0568) 	"D1",	  "D2",		"D3",
(0569) 	"XX",     "YY",     "ZZ",
(0570) };
(0571) 
(0572) //********************************************************************
(0573) // Function    : SCI_Parsing
(0574) // Input       : ptr-Pointer to SCI Buffer
(0575) // Output      : none

⌨️ 快捷键说明

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