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

📄 minid0712.s

📁 平缝机的单片机伺服控制系统源代码。本程序为用单片机控制永磁同步电机的低成本方案
💻 S
📖 第 1 页 / 共 2 页
字号:
; 			}
	rjmp L18
L17:
	.dbline 166
; 			else
; 			{
	.dbline 167
; 				g_LowVol = 0;
	clr R2
	sts _g_LowVol,R2
	.dbline 168
; 			}
L18:
	.dbline 169
; 			g_Lower220VCnt = 0;
	clr R2
	clr R3
	sts _g_Lower220VCnt+1,R3
	sts _g_Lower220VCnt,R2
	.dbline 170
; 			g_Over220VCnt = 0;
	sts _g_Over220VCnt+1,R3
	sts _g_Over220VCnt,R2
	.dbline 171
; 		}
L15:
	.dbline 172
; 		g_LowSpeedCnt = 0;
	clr R2
	clr R3
	sts _g_LowSpeedCnt+1,R3
	sts _g_LowSpeedCnt,R2
	.dbline 173
; 	}
	rjmp L12
L11:
	.dbline 175
; 	else
; 	{
	.dbline 176
; 		g_Lower220VCnt = 0;
	clr R2
	clr R3
	sts _g_Lower220VCnt+1,R3
	sts _g_Lower220VCnt,R2
	.dbline 177
; 		g_Over220VCnt = 0;	
	sts _g_Over220VCnt+1,R3
	sts _g_Over220VCnt,R2
	.dbline 178
; 		if (g_LowSpeed)
	lds R2,_g_LowSpeed
	tst R2
	breq L19
	.dbline 179
; 		{
	.dbline 180
; 			g_LowSpeedCnt ++;
	lds R24,_g_LowSpeedCnt
	lds R25,_g_LowSpeedCnt+1
	adiw R24,1
	sts _g_LowSpeedCnt+1,R25
	sts _g_LowSpeedCnt,R24
	.dbline 181
; 		}
	rjmp L20
L19:
	.dbline 183
; 		else
; 		{
	.dbline 184
; 			g_LowSpeedCnt = 0;
	clr R2
	clr R3
	sts _g_LowSpeedCnt+1,R3
	sts _g_LowSpeedCnt,R2
	.dbline 185
; 		}
L20:
	.dbline 186
; 		if (g_LowSpeedCnt > 200)
	ldi R24,200
	ldi R25,0
	lds R2,_g_LowSpeedCnt
	lds R3,_g_LowSpeedCnt+1
	cp R24,R2
	cpc R25,R3
	brsh L21
	.dbline 187
; 		{
	.dbline 188
; 			g_MotorBlock = 1;
	ldi R24,1
	sts _g_MotorBlock,R24
	.dbline 189
; 			g_LowSpeedCnt = 0;
	clr R2
	clr R3
	sts _g_LowSpeedCnt+1,R3
	sts _g_LowSpeedCnt,R2
	.dbline 190
; 		}	
L21:
	.dbline 191
; 	}
L12:
	.dbline 194
; 
; 
; 	if (g_SingleOverVol)
	lds R2,_g_SingleOverVol
	tst R2
	breq L23
	.dbline 195
; 	{
	.dbline 196
; 		g_Lower400VCnt ++;
	lds R24,_g_Lower400VCnt
	lds R25,_g_Lower400VCnt+1
	adiw R24,1
	sts _g_Lower400VCnt+1,R25
	sts _g_Lower400VCnt,R24
	.dbline 197
; 	}
	rjmp L24
L23:
	.dbline 199
; 	else
; 	{
	.dbline 200
; 		g_Over400VCnt ++;
	lds R24,_g_Over400VCnt
	lds R25,_g_Over400VCnt+1
	adiw R24,1
	sts _g_Over400VCnt+1,R25
	sts _g_Over400VCnt,R24
	.dbline 201
; 	}
L24:
	.dbline 202
; 	if (g_Lower400VCnt + g_Over400VCnt > 300)
	lds R2,_g_Over400VCnt
	lds R3,_g_Over400VCnt+1
	lds R4,_g_Lower400VCnt
	lds R5,_g_Lower400VCnt+1
	add R4,R2
	adc R5,R3
	ldi R24,300
	ldi R25,1
	cp R24,R4
	cpc R25,R5
	brsh L25
	.dbline 203
; 	{
	.dbline 204
; 		if (g_Lower400VCnt >= g_Over400VCnt)
	lds R4,_g_Lower400VCnt
	lds R5,_g_Lower400VCnt+1
	cp R4,R2
	cpc R5,R3
	brlo L27
	.dbline 205
; 		{
	.dbline 206
; 			g_OverVol = 1;
	ldi R24,1
	sts _g_OverVol,R24
	.dbline 207
; 		}
	rjmp L28
L27:
	.dbline 209
; 		else
; 		{
	.dbline 210
; 			g_OverVol = 0;
	clr R2
	sts _g_OverVol,R2
	.dbline 211
; 		}
L28:
	.dbline 212
; 		g_Lower400VCnt = 0;
	clr R2
	clr R3
	sts _g_Lower400VCnt+1,R3
	sts _g_Lower400VCnt,R2
	.dbline 213
; 		g_Over400VCnt = 0;
	sts _g_Over400VCnt+1,R3
	sts _g_Over400VCnt,R2
	.dbline 214
; 	}
L25:
	.dbline 217
; 
; 
; 	if (g_StartLedFlick)
	lds R2,_g_StartLedFlick
	tst R2
	brne X2
	rjmp L29
X2:
	.dbline 218
; 	{
	.dbline 219
; 		if (g_LedTimesCnt)
	lds R2,_g_LedTimesCnt
	tst R2
	breq L31
	.dbline 220
; 		{
	.dbline 221
; 			if (g_LedTimesT1 < LEDFLICKTIME1)
	lds R24,_g_LedTimesT1
	cpi R24,50
	brsh L33
	.dbline 222
; 			{
	.dbline 223
; 				if (g_LedType)
	lds R2,_g_LedType
	tst R2
	breq L35
	.dbline 224
; 				{
	.dbline 225
; 					RED_ON();
	in R24,0x8
	andi R24,8
	out 0x8,R24
	.dbline 226
; 				}
	rjmp L36
L35:
	.dbline 228
; 				else
; 				{
	.dbline 229
; 					GREEN_ON();
	in R24,0x8
	andi R24,4
	out 0x8,R24
	.dbline 230
; 				}
L36:
	.dbline 231
; 				g_LedTimesT1 ++;
	lds R24,_g_LedTimesT1
	subi R24,255    ; addi 1
	sts _g_LedTimesT1,R24
	.dbline 232
; 			}
	rjmp L34
L33:
	.dbline 234
; 			else
; 			{
	.dbline 235
; 				if (g_LedType)
	lds R2,_g_LedType
	tst R2
	breq L37
	.dbline 236
; 				{
	.dbline 237
; 					RED_OFF();
	sbi 0x8,3
	.dbline 238
; 				}
	rjmp L38
L37:
	.dbline 240
; 				else
; 				{
	.dbline 241
; 					GREEN_OFF();
	sbi 0x8,2
	.dbline 242
; 				}
L38:
	.dbline 243
; 				g_LedTimesT2 ++;
	lds R24,_g_LedTimesT2
	subi R24,255    ; addi 1
	sts _g_LedTimesT2,R24
	.dbline 244
; 				if (g_LedTimesT2 == LEDFLICKTIME2)
	cpi R24,50
	brne L39
	.dbline 245
; 				{
	.dbline 246
; 					g_LedTimesT2 = 0;
	clr R2
	sts _g_LedTimesT2,R2
	.dbline 247
; 					g_LedTimesT1 = 0;
	sts _g_LedTimesT1,R2
	.dbline 248
; 					g_LedTimesCnt--;
	lds R24,_g_LedTimesCnt
	subi R24,1
	sts _g_LedTimesCnt,R24
	.dbline 249
; 				}
L39:
	.dbline 250
; 			}
L34:
	.dbline 251
; 		}
L31:
	.dbline 252
; 		if (g_LedTimesCnt == 0)
	lds R2,_g_LedTimesCnt
	tst R2
	brne L41
	.dbline 253
; 		{
	.dbline 254
; 			g_LedTimesT3 ++;
	lds R24,_g_LedTimesT3
	lds R25,_g_LedTimesT3+1
	adiw R24,1
	sts _g_LedTimesT3+1,R25
	sts _g_LedTimesT3,R24
	.dbline 255
; 			if (g_LedTimesT3 == LEDFLICKTIME3)
	cpi R24,150
	ldi R30,0
	cpc R25,R30
	brne L43
	.dbline 256
; 			{
	.dbline 257
; 				g_LedTimesT3 = 0;
	clr R2
	clr R3
	sts _g_LedTimesT3+1,R3
	sts _g_LedTimesT3,R2
	.dbline 258
; 				g_LedTimesCnt = g_LedTimes;
	lds R2,_g_LedTimes
	sts _g_LedTimesCnt,R2
	.dbline 259
; 			}
L43:
	.dbline 260
; 		}
L41:
	.dbline 261
L29:
	.dbline -2
L10:
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\bak\新建文件夹\minid0712.c
_g_flag10ms::
	.blkb 1
	.dbfile D:\bak\新建文件夹/minid.h
	.dbsym e g_flag10ms _g_flag10ms c
_g_Temp::
	.blkb 4
	.dbsym e g_Temp _g_Temp l
_sPID::
	.blkb 14
	.dbstruct 0 14 PID
	.dbfield 0 SetValue i
	.dbfield 2 P i
	.dbfield 4 I i
	.dbfield 6 D i
	.dbfield 8 Error I
	.dbfield 10 LastError I
	.dbfield 12 PrevError I
	.dbend
	.dbsym e sPID _sPID S[PID]
_g_LedTimesT3::
	.blkb 2
	.dbsym e g_LedTimesT3 _g_LedTimesT3 i
_g_LowSpeedCnt::
	.blkb 2
	.dbsym e g_LowSpeedCnt _g_LowSpeedCnt i
_g_Lower400VCnt::
	.blkb 2
	.dbsym e g_Lower400VCnt _g_Lower400VCnt i
_g_Over400VCnt::
	.blkb 2
	.dbsym e g_Over400VCnt _g_Over400VCnt i
_g_Lower220VCnt::
	.blkb 2
	.dbsym e g_Lower220VCnt _g_Lower220VCnt i
_g_Over220VCnt::
	.blkb 2
	.dbsym e g_Over220VCnt _g_Over220VCnt i
_g_Err_Det_Disable::
	.blkb 1
	.dbsym e g_Err_Det_Disable _g_Err_Det_Disable c
_g_E_Mag_No::
	.blkb 1
	.dbsym e g_E_Mag_No _g_E_Mag_No c
_g_StartLedFlick::
	.blkb 1
	.dbsym e g_StartLedFlick _g_StartLedFlick c
_g_LedTimesT2::
	.blkb 1
	.dbsym e g_LedTimesT2 _g_LedTimesT2 c
_g_LedTimesT1::
	.blkb 1
	.dbsym e g_LedTimesT1 _g_LedTimesT1 c
_g_LedTimes::
	.blkb 1
	.dbsym e g_LedTimes _g_LedTimes c
_g_LedTimesCnt::
	.blkb 1
	.dbsym e g_LedTimesCnt _g_LedTimesCnt c
_g_LedType::
	.blkb 1
	.dbsym e g_LedType _g_LedType c
_g_HallErr::
	.blkb 1
	.dbsym e g_HallErr _g_HallErr c
_g_LowSpeed::
	.blkb 1
	.dbsym e g_LowSpeed _g_LowSpeed c
_g_MotorBlock::
	.blkb 1
	.dbsym e g_MotorBlock _g_MotorBlock c
_g_SynEncoderErr::
	.blkb 1
	.dbsym e g_SynEncoderErr _g_SynEncoderErr c
_g_SingleOverVol::
	.blkb 1
	.dbsym e g_SingleOverVol _g_SingleOverVol c
_g_OverVol::
	.blkb 1
	.dbsym e g_OverVol _g_OverVol c
_g_LowVol::
	.blkb 1
	.dbsym e g_LowVol _g_LowVol c
_g_NostopNeedle::
	.blkb 1
	.dbsym e g_NostopNeedle _g_NostopNeedle c
_g_singleLowVol::
	.blkb 1
	.dbsym e g_singleLowVol _g_singleLowVol c
_g_MotorRun::
	.blkb 1
	.dbsym e g_MotorRun _g_MotorRun c
_g_ErrCode02::
	.blkb 1
	.dbsym e g_ErrCode02 _g_ErrCode02 c
_g_ErrCode01::
	.blkb 1
	.dbsym e g_ErrCode01 _g_ErrCode01 c
_g_DeltaEnc::
	.blkb 4
	.dbsym e g_DeltaEnc _g_DeltaEnc l
_g_CntOld::
	.blkb 2
	.dbsym e g_CntOld _g_CntOld i
_g_CntUpdate::
	.blkb 2
	.dbsym e g_CntUpdate _g_CntUpdate i
_g_TotalEnc::
	.blkb 1
	.dbsym e g_TotalEnc _g_TotalEnc c
_g_IicData::
	.blkb 1
	.dbsym e g_IicData _g_IicData c
_g_FirstData::
	.blkb 1
	.dbsym e g_FirstData _g_FirstData c
_g_ValueAdc::
	.blkb 2
	.dbsym e g_ValueAdc _g_ValueAdc i
_g_AdcNum::
	.blkb 1
	.dbsym e g_AdcNum _g_AdcNum c
_g_AdcEnd::
	.blkb 1
	.dbsym e g_AdcEnd _g_AdcEnd c
_SumDu::
	.blkb 4
	.dbsym e SumDu _SumDu L

⌨️ 快捷键说明

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