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

📄 pwmart.lst

📁 该程序是ST7MC驱动三洋压缩机(交流)
💻 LST
📖 第 1 页 / 共 2 页
字号:
  206:  INPUT/OUTPUT : Boolean
  207:  
  208:  DESCRIPTION  : 	Indicates that the Time out period has expired.
  209:  
  210:  COMMENTS     :	This function has to be polled as often as possible to 
  211:  				minimize the error on expected Time Out period.
  212:  -----------------------------------------------------------------------------*/
  213:  BOOL ART_IsTimeOutElapsed(void)
  214:  {       

Function: ART_IsTimeOutElapsed
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  215:  	if ( TimeBaseStatus & TIMEOUT_ELAPSED )
  0000 c60000   LD    A,TimeBaseStatus
  0003 a501     BCP   A,#1
  0005 270b     JREQ  *13 ;abs = 0012
  216:  	{
  217:  		TimeBaseStatus &= (u8)(~TIMEOUT_ELAPSED); //	Clear Flag
  0007 c60000   LD    A,TimeBaseStatus
  000a a4fe     AND   A,#-2
  000c c70000   LD    TimeBaseStatus,A
  218:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  219:  	}
  220:  	else
  221:   	{
  222:  		return ( FALSE );
  0012 4f       CLR   A
  223:  	}
  224:  }
  0013 81       RET   
  225:  
  226:  
  227:  BOOL ART_IsRegPeriodElapsed(void)
  228:  {

Function: ART_IsRegPeriodElapsed
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  229:  	if ( TimeBaseStatus & REG_PERIOD_ELAPSED )
  0000 c60000   LD    A,TimeBaseStatus
  0003 a502     BCP   A,#2
  0005 270b     JREQ  *13 ;abs = 0012
  230:  	{
  231:  		TimeBaseStatus &= (u8)(~REG_PERIOD_ELAPSED); //	Clear Flag
  0007 c60000   LD    A,TimeBaseStatus
  000a a4fd     AND   A,#-3
  000c c70000   LD    TimeBaseStatus,A
  232:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  233:  	}
  234:  	else
  235:   	{
  236:  		return ( FALSE );
  0012 4f       CLR   A
  237:  	}
  238:  }
  0013 81       RET   
  239:  
  240:  
  241:  BOOL ART_IsSequenceCompleted(void)
  242:  {

Function: ART_IsSequenceCompleted
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  243:  	if ( TimeBaseStatus & SEQUENCE_COMPLETED )
  0000 c60000   LD    A,TimeBaseStatus
  0003 a504     BCP   A,#4
  0005 270b     JREQ  *13 ;abs = 0012
  244:  	{
  245:  		TimeBaseStatus &= (u8)(~SEQUENCE_COMPLETED); //	Clear Flag
  0007 c60000   LD    A,TimeBaseStatus
  000a a4fb     AND   A,#-5
  000c c70000   LD    TimeBaseStatus,A
  246:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  247:  	}
  248:  	else
  249:   	{
  250:  		return ( FALSE );
  0012 4f       CLR   A
  251:  	}
  252:  }
  0013 81       RET   
  253:  
  254:  
  255:  BOOL ART_Is_TimeInMsElapsed(void)
  256:  {

Function: ART_Is_TimeInMsElapsed
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  257:  	if ( TimeBaseStatus & MS_TIME_ELAPSED )
  0000 c60000   LD    A,TimeBaseStatus
  0003 a508     BCP   A,#8
  0005 270b     JREQ  *13 ;abs = 0012
  258:  	{
  259:  		TimeBaseStatus &= (u8)(~MS_TIME_ELAPSED); //	Clear Flag
  0007 c60000   LD    A,TimeBaseStatus
  000a a4f7     AND   A,#-9
  000c c70000   LD    TimeBaseStatus,A
  260:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  261:  	}
  262:  	else
  263:   	{
  264:  		return ( FALSE );
  0012 4f       CLR   A
  265:  	}
  266:  }
  0013 81       RET   
  267:  
  268:  
  269:  BOOL ART_IsMainTimeElapsed(void)
  270:  {

Function: ART_IsMainTimeElapsed
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  271:  	if ( TimeBaseStatus & MAIN_TIMEBASE_ELAPSED )
  0000 c60000   LD    A,TimeBaseStatus
  0003 a580     BCP   A,#128
  0005 270b     JREQ  *13 ;abs = 0012
  272:  	{
  273:  		TimeBaseStatus &= (u8)(~MAIN_TIMEBASE_ELAPSED); //	Clear Flag
  0007 c60000   LD    A,TimeBaseStatus
  000a a47f     AND   A,#-129
  000c c70000   LD    TimeBaseStatus,A
  274:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  275:  	}
  276:  	else
  277:   	{
  278:  		return ( FALSE );
  0012 4f       CLR   A
  279:  	}
  280:  
  281:  }
  0013 81       RET   
  282:  
  283:  BOOL ART_IsWdgTimeElapsed(void)
  284:  {

Function: ART_IsWdgTimeElapsed
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  285:  	if ( Status & WDG_TIMEBASE_ELAPSED )
  0000 c60000   LD    A,Status
  0003 a501     BCP   A,#1
  0005 270b     JREQ  *13 ;abs = 0012
  286:  	{
  287:  		Status &= (u8)(~WDG_TIMEBASE_ELAPSED); //	Clear Flag
  0007 c60000   LD    A,Status
  000a a4fe     AND   A,#-2
  000c c70000   LD    Status,A
  288:  		return ( TRUE );
  000f a601     LD    A,#1
  0011 81       RET   
  289:  	}
  290:  	else
  291:   	{
  292:  		return ( FALSE );
  0012 4f       CLR   A
  293:  	}
  294:  
  295:  }
  0013 81       RET   
  296:  
  297:  #ifdef __HIWARE__		/* test for HIWARE Compiler */
  298:  #pragma TRAP_PROC SAVE_REGS	/* additional registers will be saved */
  299:  #else
  300:  #ifdef __CSMC__			/* test for Cosmic Compiler */
  301:  @interrupt			/* Cosmic interrupt handling */
  302:  #endif
  303:  #endif
  304:  /*-----------------------------------------------------------------------------
  305:  ROUTINE NAME : ART_Interrupt
  306:  INPUT/OUTPUT : None
  307:  
  308:  DESCRIPTION  : 
  309:  
  310:  COMMENTS     : 
  311:  -----------------------------------------------------------------------------*/ 
  312:  void ART_Interrupt(void)
  313:  {

Function: ART_Interrupt
Source  : ..\..\source\pwmart.c
Options : -Cc -F7 -Lasm=%n.lst -Ml -N -Os -Ou -Of -Ol0 -OnPMNC -Or

  0000 9089     PUSH  Y
  0002 b600     LD    A,_R_Z
  0004 88       PUSH  A
  0005 b601     LD    A,_LEX:1
  0007 88       PUSH  A
  0008 b600     LD    A,_LEX
  000a 88       PUSH  A
  000b b601     LD    A,_SEX:1
  000d 88       PUSH  A
  000e b600     LD    A,_SEX
  0010 88       PUSH  A
  314:  		u8 Dummy;
  315:  
  316:  	Dummy = ARTCSR;		// Clear OVF flag
  0011 b600     LD    A,ARTCSR
  317:  
  318:  	if (DebounceButton != 0) DebounceButton--;
  0013 c60000   LD    A,DebounceButton
  0016 4d       TNZ   A
  0017 2707     JREQ  *9 ;abs = 0020
  0019 c60000   LD    A,DebounceButton
  001c 4a       DEC   A
  001d c70000   LD    DebounceButton,A
  319:  
  320:  	RegCounter--;
  0020 c60000   LD    A,RegCounter
  0023 4a       DEC   A
  0024 c70000   LD    RegCounter,A
  321:  	if (RegCounter == 0)
  0027 c60000   LD    A,RegCounter
  002a 4d       TNZ   A
  002b 260e     JRNE  *16 ;abs = 003b
  322:  	{
  323:  		TimeBaseStatus |= REG_PERIOD_ELAPSED;	// Used in IsTestTimeBaseElapsed
  002d c60000   LD    A,TimeBaseStatus
  0030 aa02     OR    A,#2
  0032 c70000   LD    TimeBaseStatus,A
  324:  		RegCounter = RegTimeBase; 				// Continue with same period
  0035 c60000   LD    A,RegTimeBase
  0038 c70000   LD    RegCounter,A
  325:  	}
  326:  
  327:  	MainCounter--;
  003b c60001   LD    A,MainCounter:1
  003e ce0000   LD    X,MainCounter
  0041 4d       TNZ   A
  0042 2601     JRNE  *3 ;abs = 0045
  0044 5a       DEC   X
  0045 4a       DEC   A
  0046 c70001   LD    MainCounter:1,A
  0049 cf0000   LD    MainCounter,X
  328:  	if (MainCounter == 0)
  004c c60001   LD    A,MainCounter:1
  004f ca0000   OR    A,MainCounter
  0052 2614     JRNE  *22 ;abs = 0068
  329:  	{
  330:  		TimeBaseStatus |= MAIN_TIMEBASE_ELAPSED;// Used in ART_IsMainTimeElapsed
  0054 c60000   LD    A,TimeBaseStatus
  0057 aa80     OR    A,#128
  0059 c70000   LD    TimeBaseStatus,A
  331:  		MainCounter = MainTimeBase;  			// Continue with same period
  005c c60001   LD    A,MainTimeBase:1
  005f c70001   LD    MainCounter:1,A
  0062 c60000   LD    A,MainTimeBase
  0065 c70000   LD    MainCounter,A
  332:      }
  333:  
  334:  	WdgCounter--;
  0068 c60000   LD    A,WdgCounter
  006b 4a       DEC   A
  006c c70000   LD    WdgCounter,A
  335:  	if (WdgCounter == 0)
  006f c60000   LD    A,WdgCounter
  0072 4d       TNZ   A
  0073 260e     JRNE  *16 ;abs = 0083
  336:  	{
  337:  		Status |= WDG_TIMEBASE_ELAPSED;// Used in ART_SetWatchdogRefreshPeriod
  0075 c60000   LD    A,Status
  0078 aa01     OR    A,#1
  007a c70000   LD    Status,A
  338:  		WdgCounter = WdgTimeBase; 			// Continue with same period
  007d c60000   LD    A,WdgTimeBase
  0080 c70000   LD    WdgCounter,A
  339:      }
  340:  
  341:  	if ( !(TimeBaseStatus & TIMEOUT_LOCK))	// No TimeOut modification on-going
  0083 c60000   LD    A,TimeBaseStatus
  0086 a510     BCP   A,#16
  0088 262d     JRNE  *47 ;abs = 00b7
  342:  	{
  343:  		TimeOutCounter--;
  008a c60001   LD    A,TimeOutCounter:1
  008d ce0000   LD    X,TimeOutCounter
  0090 4d       TNZ   A
  0091 2601     JRNE  *3 ;abs = 0094
  0093 5a       DEC   X
  0094 4a       DEC   A
  0095 c70001   LD    TimeOutCounter:1,A
  0098 cf0000   LD    TimeOutCounter,X
  344:  		if (TimeOutCounter == 0)
  009b c60001   LD    A,TimeOutCounter:1
  009e ca0000   OR    A,TimeOutCounter
  00a1 2614     JRNE  *22 ;abs = 00b7
  345:  		{
  346:  			TimeBaseStatus |= TIMEOUT_ELAPSED; // Used in ART_IsTimeOutElapsed
  00a3 c60000   LD    A,TimeBaseStatus
  00a6 aa01     OR    A,#1
  00a8 c70000   LD    TimeBaseStatus,A
  347:  			TimeOutCounter = TimeOutPeriod;    // Reload programmed period
  00ab c60001   LD    A,TimeOutPeriod:1
  00ae c70001   LD    TimeOutCounter:1,A
  00b1 c60000   LD    A,TimeOutPeriod
  00b4 c70000   LD    TimeOutCounter,A
  348:  		}
  349:  	}
  350:  
  351:  	if ( !(TimeBaseStatus & SEQUENCE_LOCK))	// No Sequence modification on-going
  00b7 c60000   LD    A,TimeBaseStatus
  00ba a520     BCP   A,#32
  00bc 262d     JRNE  *47 ;abs = 00eb
  352:  	{
  353:  		SequenceCounter--;
  00be c60001   LD    A,SequenceCounter:1
  00c1 ce0000   LD    X,SequenceCounter
  00c4 4d       TNZ   A
  00c5 2601     JRNE  *3 ;abs = 00c8
  00c7 5a       DEC   X
  00c8 4a       DEC   A
  00c9 c70001   LD    SequenceCounter:1,A
  00cc cf0000   LD    SequenceCounter,X
  354:  		if (SequenceCounter == 0)
  00cf c60001   LD    A,SequenceCounter:1
  00d2 ca0000   OR    A,SequenceCounter
  00d5 2614     JRNE  *22 ;abs = 00eb
  355:  		{
  356:  			TimeBaseStatus |= SEQUENCE_COMPLETED;	// Used in ART_IsTimeOutElapsed
  00d7 c60000   LD    A,TimeBaseStatus
  00da aa04     OR    A,#4
  00dc c70000   LD    TimeBaseStatus,A
  357:  			SequenceCounter = SequencePeriod;		// Reload programmed period
  00df c60001   LD    A,SequencePeriod:1
  00e2 c70001   LD    SequenceCounter:1,A
  00e5 c60000   LD    A,SequencePeriod
  00e8 c70000   LD    SequenceCounter,A
  358:  		}
  359:  	}
  360:  
  361:  	if ( !(TimeBaseStatus & MS_TIME_LOCK))	// No Sequence modification on-going
  00eb c60000   LD    A,TimeBaseStatus
  00ee a540     BCP   A,#64
  00f0 262d     JRNE  *47 ;abs = 011f
  362:  	{
  363:  		ms_Counter--;
  00f2 c60001   LD    A,ms_Counter:1
  00f5 ce0000   LD    X,ms_Counter
  00f8 4d       TNZ   A
  00f9 2601     JRNE  *3 ;abs = 00fc
  00fb 5a       DEC   X
  00fc 4a       DEC   A
  00fd c70001   LD    ms_Counter:1,A
  0100 cf0000   LD    ms_Counter,X
  364:  		if (ms_Counter == 0)
  0103 c60001   LD    A,ms_Counter:1
  0106 ca0000   OR    A,ms_Counter
  0109 2614     JRNE  *22 ;abs = 011f
  365:  		{
  366:  			TimeBaseStatus |= MS_TIME_ELAPSED;	// Used in ART_IsTimeOutElapsed
  010b c60000   LD    A,TimeBaseStatus
  010e aa08     OR    A,#8
  0110 c70000   LD    TimeBaseStatus,A
  367:  			ms_Counter = ms_TimeBase;				// Reload programmed period
  0113 c60001   LD    A,ms_TimeBase:1
  0116 c70001   LD    ms_Counter:1,A
  0119 c60000   LD    A,ms_TimeBase
  011c c70000   LD    ms_Counter,A
  368:  		}
  369:  	}
  370:  
  371:  }
  011f 84       POP   A
  0120 b700     LD    _SEX,A
  0122 84       POP   A
  0123 b701     LD    _SEX:1,A
  0125 84       POP   A
  0126 b700     LD    _LEX,A
  0128 84       POP   A
  0129 b701     LD    _LEX:1,A
  012b 84       POP   A
  012c b700     LD    _R_Z,A
  012e 9085     POP   Y
  0130 80       IRET  
  372:  /*** (c) 2004  STMicroelectronics **************************** END OF FILE ***/

⌨️ 快捷键说明

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