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

📄 main.ls

📁 该程序是ST7MC驱动三洋压缩机(交流)
💻 LS
📖 第 1 页 / 共 2 页
字号:
1906  0106 81            	ret	
1932                     ; 221 void SendSystemDataRS232(void)
1932                     ; 222 {
1933                     	switch	.text
1934  0107               L7501_SendSystemDataRS232:
1937                     ; 226 	  	SCI_PutString("S=");		// Speed Command
1939  0107 a603          	ld	a,#low(L1321)
1940  0109 ae03          	ld	x,#high(L1321)
1941  010b cd0000        	call	_SCI_PutString
1943                     ; 227 		PrintUnsignedInt(100 + (ADC_GetRV1()*10));	// Set by RV1 Trimmer
1945  010e cd0000        	call	_ADC_GetRV1
1947  0111 ae0a          	ld	x,#10
1948  0113 42            	mul	x,a
1949  0114 ab64          	add	a,#100
1950  0116 2401          	jrnc	L21
1951  0118 5c            	inc	x
1952  0119               L21:
1953  0119 cd0000        	call	_PrintUnsignedInt
1955                     ; 253 	SCI_PutString("\n\r");	// Go to next line
1957  011c a600          	ld	a,#low(L3321)
1958  011e ae00          	ld	x,#high(L3321)
1960                     ; 255 }
1963  0120 cc0000        	jp	_SCI_PutString
2032                     ; 269 void DoMotorControl( void )
2032                     ; 270 {
2033                     	switch	.text
2035                     	xref.b	L1501_DoMotorControl$L
2036  0123               L1501_DoMotorControl:
2039                     ; 275 	if (MTC_GetRotorFreq() == 0)
2041  0123 cd0000        	call	_MTC_GetRotorFreq
2043  0126 4d            	tnz	a
2044  0127 2608          	jrne	L7621
2045  0129 5d            	tnz	x
2046  012a 2605          	jrne	L7621
2047                     ; 277 		State = FAULT;
2049  012c a606          	ld	a,#6
2050  012e c70000        	ld	L7401_State,a
2051  0131               L7621:
2052                     ; 280 	if ( ART_IsRegPeriodElapsed() )
2054  0131 cd0000        	call	_ART_IsRegPeriodElapsed
2056  0134 4d            	tnz	a
2057  0135 277c          	jreq	L1721
2058                     ; 285 		StatorFreq  = MTC_GetStatorFreq();
2060  0137 cd0000        	call	_MTC_GetStatorFreq
2062  013a b7ff          	ld	L1501_DoMotorControl$L-1,a
2063  013c bffe          	ld	L1501_DoMotorControl$L-2,x
2064                     ; 288 		FreqCmd = 100 + (ADC_GetRV1()*10);	// Set Speed between 10.0Hz and 266.0Hz
2066  013e cd0000        	call	_ADC_GetRV1
2068  0141 ae0a          	ld	x,#10
2069  0143 42            	mul	x,a
2070  0144 ab64          	add	a,#100
2071  0146 2401          	jrnc	L02
2072  0148 5c            	inc	x
2073  0149               L02:
2074  0149 b7fc          	ld	L1501_DoMotorControl$L-4,a
2075  014b bffb          	ld	L1501_DoMotorControl$L-5,x
2076                     ; 294 		SlipCmd = ACM_GetOptimumSlip( StatorFreq );
2078  014d b6ff          	ld	a,L1501_DoMotorControl$L-1
2079  014f befe          	ld	x,L1501_DoMotorControl$L-2
2080  0151 cd0000        	call	_ACM_GetOptimumSlip
2082  0154 b7fd          	ld	L1501_DoMotorControl$L-3,a
2083                     ; 296 		NewVoltage = ACM_SlipRegulation( SlipCmd );
2085  0156 cd0000        	call	_ACM_SlipRegulation
2087  0159 b7fa          	ld	L1501_DoMotorControl$L-6,a
2088                     ; 298 		if (( (FreqCmd+SlipCmd) > StatorFreq) && (MTC_GetSlip() < ACCEL_SLIP_LIMIT))
2090  015b b6fc          	ld	a,L1501_DoMotorControl$L-4
2091  015d befb          	ld	x,L1501_DoMotorControl$L-5
2092  015f bbfd          	add	a,L1501_DoMotorControl$L-3
2093  0161 2401          	jrnc	L22
2094  0163 5c            	inc	x
2095  0164               L22:
2096  0164 b700          	ld	c_x,a
2097  0166 b6ff          	ld	a,L1501_DoMotorControl$L-1
2098  0168 b000          	sub	a,c_x
2099  016a bf00          	ld	c_x,x
2100  016c b6fe          	ld	a,L1501_DoMotorControl$L-2
2101  016e b200          	sbc	a,c_x
2102  0170 2410          	jruge	L42
2104  0172 cd0000        	call	_MTC_GetSlip
2106  0175 a064          	sub	a,#100
2107  0177 9f            	ld	a,x
2108  0178 a200          	sbc	a,#0
2109  017a 2406          	jruge	L42
2110                     ; 300 			StatorFreq++;
2112  017c 3cff          	inc	L1501_DoMotorControl$L-1
2113  017e 2602          	jrne	L42
2114  0180 3cfe          	inc	L1501_DoMotorControl$L-2
2115  0182               L42:
2116                     ; 303 		if (( (FreqCmd+SlipCmd) < StatorFreq) && (MTC_GetSlip() > DECEL_SLIP_LIMIT))
2118  0182 b6fc          	ld	a,L1501_DoMotorControl$L-4
2119  0184 befb          	ld	x,L1501_DoMotorControl$L-5
2120  0186 bbfd          	add	a,L1501_DoMotorControl$L-3
2121  0188 2401          	jrnc	L62
2122  018a 5c            	inc	x
2123  018b               L62:
2124  018b b0ff          	sub	a,L1501_DoMotorControl$L-1
2125  018d 9f            	ld	a,x
2126  018e b2fe          	sbc	a,L1501_DoMotorControl$L-2
2127  0190 2414          	jruge	L03
2129  0192 cd0000        	call	_MTC_GetSlip
2131  0195 a00b          	sub	a,#11
2132  0197 9f            	ld	a,x
2133  0198 a200          	sbc	a,#0
2134  019a 250a          	jrult	L03
2135                     ; 305 			StatorFreq--;
2137  019c b6ff          	ld	a,L1501_DoMotorControl$L-1
2138  019e a001          	sub	a,#1
2139  01a0 b7ff          	ld	L1501_DoMotorControl$L-1,a
2140  01a2 2402          	jrnc	L03
2141  01a4 3afe          	dec	L1501_DoMotorControl$L-2
2142  01a6               L03:
2143                     ; 308 		MTC_UpdateSine(NewVoltage, StatorFreq);
2145  01a6 befe          	ld	x,L1501_DoMotorControl$L-2
2146  01a8 bf01          	ld	_MTC_UpdateSine$L+1,x
2147  01aa b6ff          	ld	a,L1501_DoMotorControl$L-1
2148  01ac b702          	ld	_MTC_UpdateSine$L+2,a
2149  01ae b6fa          	ld	a,L1501_DoMotorControl$L-6
2150  01b0 cd0000        	call	_MTC_UpdateSine
2152  01b3               L1721:
2153                     ; 312 }
2156  01b3 81            	ret	
2250                     ; 320 SystStatus_t StartMotor( void )
2250                     ; 321 {
2251                     	switch	.text
2253                     	xref.b	L3501_StartMotor$L
2254  01b4               L3501_StartMotor:
2257                     ; 324 	switch ( ACM_SoftStart(MIN_START_FREQ) )
2259  01b4 5f            	clr	x
2260  01b5 a664          	ld	a,#100
2261  01b7 cd0000        	call	_ACM_SoftStart
2264  01ba 4d            	tnz	a
2265  01bb 2718          	jreq	L3031
2266  01bd 4a            	dec	a
2267  01be 2709          	jreq	L1031
2268  01c0 4a            	dec	a
2269  01c1 2703          	jreq	L7721
2270                     ; 339 		default:			NextState = FAULT;
2272  01c3 a606          	ld	a,#6
2273                     ; 340 							break;
2276  01c5 81            	ret	
2277  01c6               L7721:
2278                     ; 326 		case START_FAIL:
2278                     ; 327 							NextState = STOP;
2280  01c6 a603          	ld	a,#3
2281                     ; 328 							break;
2284  01c8 81            	ret	
2285  01c9               L1031:
2286                     ; 330 		case START_OK:	
2286                     ; 331 							ACM_InitSlipFreqReg( ACM_GetOptimumSlip( MTC_GetStatorFreq() ) );
2288  01c9 cd0000        	call	_MTC_GetStatorFreq
2290  01cc cd0000        	call	_ACM_GetOptimumSlip
2292  01cf cd0000        	call	_ACM_InitSlipFreqReg
2294                     ; 332 							NextState = RUN;
2296  01d2 a602          	ld	a,#2
2297                     ; 333 							break;
2300  01d4 81            	ret	
2301  01d5               L3031:
2302                     ; 335 		case START_ONGOING:	
2302                     ; 336 							NextState = START;
2304  01d5 a601          	ld	a,#1
2305                     ; 337 							break;
2307                     ; 343 	return ( NextState );
2311  01d7 81            	ret	
2335                     	xdef	_main
2336                     	switch	.bss
2337  0000               L7401_State:
2338  0000 00            	ds.b	1
2339                     	xref	_ACM_GetOptimumSlip
2340                     	xref	_ACM_SlipRegulation
2341                     	xref	_ACM_InitSlipFreqReg
2342                     	xref	_ACM_SoftStart
2343                     	xref	_ACM_InitSoftStart
2344                     	xref	_ACM_Init
2345                     	xref	_MTC_DisableMCOutputs
2346                     	xref	_MTC_CheckEmergencyStop
2347                     	xref	_MTC_StopBraking
2348                     	xref	_MTC_Brake
2349                     	xref	_MTC_StartBraking
2350                     	xref	_MTC_GetRotorFreq
2351                     	xref	_MTC_GetSlip
2352                     	xref	_MTC_GetStatorFreq
2353                     	xref	_MTC_UpdateSine
2354                     	xref	_ST7_IntPrioritySetUp
2355                     	xref	_SCI_PutString
2356                     	xref	_PrintUnsignedInt
2357                     	xref	_ART_IsMainTimeElapsed
2358                     	xref	_ART_SetMainTimeBase
2359                     	xref	_ART_IsRegPeriodElapsed
2360                     	xref	_ART_IsTimeOutElapsed
2361                     	xref	_ART_SetTimeOutDuration
2362                     	xref	_ART_Start
2363                     	xref	_ART_Init
2364                     	xref	_ADC_CheckOverVoltage
2365                     	xref	_ADC_CheckOverTemp
2366                     	xref	_ADC_GetRV1
2367                     	xref	_ADC_Init
2368                     	xref	_PORTS_KeyScan
2369                     	xref	_PORTS_GreenLedOn
2370                     	xref	_PORTS_RedLedToggle
2371                     	xref	_PORTS_RedLedOn
2372                     	xref	_PORTS_Init
2373                     .const:	section	.text
2374  0000               L3321:
2375  0000 0a0d00        	dc.b	10,13,0
2376  0003               L1321:
2377  0003 533d00        	dc.b	"S=",0
2378                     	xref.b	c_x
2398                     	xref.b	_MTC_UpdateSine$L
2399                     	end

⌨️ 快捷键说明

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