📄 li_jyq.lst
字号:
(0157)
(0158) PORTB=DATA_LOW; //D11 D11、D10、D9、D8
291 8008 LDD R0,Y+0
292 BA08 OUT 0x18,R0
(0159) PORTB=DATA_LOW;
293 BA08 OUT 0x18,R0
(0160) PORTB=DATA_LOW|CLOK_LOW;
294 2C20 MOV R2,R0
295 8009 LDD R0,Y+1
296 2820 OR R2,R0
297 BA28 OUT 0x18,R2
(0161) PORTB=DATA_LOW|CLOK_LOW;
298 8028 LDD R2,Y+0
299 2820 OR R2,R0
29A BA28 OUT 0x18,R2
(0162) PORTB=DATA_LOW|CLOK_HIG;
29B 8028 LDD R2,Y+0
29C 2A26 OR R2,R22
29D BA28 OUT 0x18,R2
(0163) PORTB=DATA_LOW|CLOK_HIG;
29E 8028 LDD R2,Y+0
29F 2A26 OR R2,R22
2A0 BA28 OUT 0x18,R2
(0164)
(0165)
(0166) PORTB=DATA_HIG; //D10
2A1 BAA8 OUT 0x18,R10
(0167) PORTB=DATA_HIG;
2A2 BAA8 OUT 0x18,R10
(0168) PORTB=DATA_HIG|CLOK_LOW;
2A3 2C2A MOV R2,R10
2A4 2820 OR R2,R0
2A5 BA28 OUT 0x18,R2
(0169) PORTB=DATA_HIG|CLOK_LOW;
2A6 2C2A MOV R2,R10
2A7 2820 OR R2,R0
2A8 BA28 OUT 0x18,R2
(0170) PORTB=DATA_HIG|CLOK_HIG;
2A9 2C2A MOV R2,R10
2AA 2A26 OR R2,R22
2AB BA28 OUT 0x18,R2
(0171) PORTB=DATA_HIG|CLOK_HIG;
2AC 2C2A MOV R2,R10
2AD 2A26 OR R2,R22
2AE BA28 OUT 0x18,R2
(0172)
(0173) PORTB=DATA_LOW; //D9
2AF 8008 LDD R0,Y+0
2B0 BA08 OUT 0x18,R0
(0174) PORTB=DATA_LOW;
2B1 BA08 OUT 0x18,R0
(0175) PORTB=DATA_LOW|CLOK_LOW;
2B2 2C20 MOV R2,R0
2B3 8009 LDD R0,Y+1
2B4 2820 OR R2,R0
2B5 BA28 OUT 0x18,R2
(0176) PORTB=DATA_LOW|CLOK_LOW;
2B6 8028 LDD R2,Y+0
2B7 2820 OR R2,R0
2B8 BA28 OUT 0x18,R2
(0177) PORTB=DATA_LOW|CLOK_HIG;
2B9 8028 LDD R2,Y+0
2BA 2A26 OR R2,R22
2BB BA28 OUT 0x18,R2
(0178) PORTB=DATA_LOW|CLOK_HIG;
2BC 8028 LDD R2,Y+0
2BD 2A26 OR R2,R22
2BE BA28 OUT 0x18,R2
(0179)
(0180) PORTB=DATA_LOW; //D8
2BF 8008 LDD R0,Y+0
2C0 BA08 OUT 0x18,R0
(0181) PORTB=DATA_LOW;
2C1 BA08 OUT 0x18,R0
(0182) PORTB=DATA_LOW|CLOK_LOW;
2C2 2C20 MOV R2,R0
2C3 8009 LDD R0,Y+1
2C4 2820 OR R2,R0
2C5 BA28 OUT 0x18,R2
(0183) PORTB=DATA_LOW|CLOK_LOW;
2C6 8028 LDD R2,Y+0
2C7 2820 OR R2,R0
2C8 BA28 OUT 0x18,R2
(0184) PORTB=DATA_LOW|CLOK_HIG;
2C9 8028 LDD R2,Y+0
2CA 2A26 OR R2,R22
2CB BA28 OUT 0x18,R2
(0185) PORTB=DATA_LOW|CLOK_HIG;
2CC 8028 LDD R2,Y+0
2CD 2A26 OR R2,R22
2CE BA28 OUT 0x18,R2
(0186)
(0187) PORTB=DATA_LOW; //D7 D7、D6、D5、D4
2CF 8008 LDD R0,Y+0
2D0 BA08 OUT 0x18,R0
(0188) PORTB=DATA_LOW;
2D1 BA08 OUT 0x18,R0
(0189) PORTB=DATA_LOW|CLOK_LOW;
2D2 2C20 MOV R2,R0
2D3 8009 LDD R0,Y+1
2D4 2820 OR R2,R0
2D5 BA28 OUT 0x18,R2
(0190) PORTB=DATA_LOW|CLOK_LOW;
2D6 8028 LDD R2,Y+0
2D7 2820 OR R2,R0
2D8 BA28 OUT 0x18,R2
(0191) PORTB=DATA_LOW|CLOK_HIG;
2D9 8028 LDD R2,Y+0
2DA 2A26 OR R2,R22
2DB BA28 OUT 0x18,R2
(0192) PORTB=DATA_LOW|CLOK_HIG;
2DC 8028 LDD R2,Y+0
2DD 2A26 OR R2,R22
2DE BA28 OUT 0x18,R2
(0193)
(0194) PORTB=DATA_LOW; //D6
2DF 8008 LDD R0,Y+0
2E0 BA08 OUT 0x18,R0
(0195) PORTB=DATA_LOW;
2E1 BA08 OUT 0x18,R0
(0196) PORTB=DATA_LOW|CLOK_LOW;
2E2 2C20 MOV R2,R0
2E3 8009 LDD R0,Y+1
2E4 2820 OR R2,R0
2E5 BA28 OUT 0x18,R2
(0197) PORTB=DATA_LOW|CLOK_LOW;
2E6 8028 LDD R2,Y+0
2E7 2820 OR R2,R0
2E8 BA28 OUT 0x18,R2
(0198) PORTB=DATA_LOW|CLOK_HIG;
2E9 8028 LDD R2,Y+0
2EA 2A26 OR R2,R22
2EB BA28 OUT 0x18,R2
(0199) PORTB=DATA_LOW|CLOK_HIG;
2EC 8028 LDD R2,Y+0
2ED 2A26 OR R2,R22
2EE BA28 OUT 0x18,R2
(0200)
(0201) PORTB=DATA_HIG; //D5
2EF BAA8 OUT 0x18,R10
(0202) PORTB=DATA_HIG;
2F0 BAA8 OUT 0x18,R10
(0203) PORTB=DATA_HIG|CLOK_LOW;
2F1 2C2A MOV R2,R10
2F2 2820 OR R2,R0
2F3 BA28 OUT 0x18,R2
(0204) PORTB=DATA_HIG|CLOK_LOW;
2F4 2C2A MOV R2,R10
2F5 2820 OR R2,R0
2F6 BA28 OUT 0x18,R2
(0205) PORTB=DATA_HIG|CLOK_HIG;
2F7 2C2A MOV R2,R10
2F8 2A26 OR R2,R22
2F9 BA28 OUT 0x18,R2
(0206) PORTB=DATA_HIG|CLOK_HIG;
2FA 2C2A MOV R2,R10
2FB 2A26 OR R2,R22
2FC BA28 OUT 0x18,R2
(0207)
(0208) PORTB=DATA_LOW; //D4
2FD 8008 LDD R0,Y+0
2FE BA08 OUT 0x18,R0
(0209) PORTB=DATA_LOW;
2FF BA08 OUT 0x18,R0
(0210) PORTB=DATA_LOW|CLOK_LOW;
300 2C20 MOV R2,R0
301 8009 LDD R0,Y+1
302 2820 OR R2,R0
303 BA28 OUT 0x18,R2
(0211) PORTB=DATA_LOW|CLOK_LOW;
304 8028 LDD R2,Y+0
305 2820 OR R2,R0
306 BA28 OUT 0x18,R2
(0212) PORTB=DATA_LOW|CLOK_HIG;
307 8028 LDD R2,Y+0
308 2A26 OR R2,R22
309 BA28 OUT 0x18,R2
(0213) PORTB=DATA_LOW|CLOK_HIG;
30A 8028 LDD R2,Y+0
30B 2A26 OR R2,R22
30C BA28 OUT 0x18,R2
(0214)
(0215) PORTB=DATA_LOW; //D3
30D 8008 LDD R0,Y+0
30E BA08 OUT 0x18,R0
(0216) PORTB=DATA_LOW;
30F BA08 OUT 0x18,R0
(0217) PORTB=DATA_LOW|CLOK_LOW;
310 2C20 MOV R2,R0
311 8009 LDD R0,Y+1
312 2820 OR R2,R0
313 BA28 OUT 0x18,R2
(0218) PORTB=DATA_LOW|CLOK_LOW;
314 8028 LDD R2,Y+0
315 2820 OR R2,R0
316 BA28 OUT 0x18,R2
(0219) PORTB=DATA_LOW|CLOK_HIG;
317 8028 LDD R2,Y+0
318 2A26 OR R2,R22
319 BA28 OUT 0x18,R2
(0220) PORTB=DATA_LOW|CLOK_HIG;
31A 8028 LDD R2,Y+0
31B 2A26 OR R2,R22
31C BA28 OUT 0x18,R2
(0221)
(0222) PORTB=DATA_HIG; //D2 00:死区时间为4/fosc,01:死区时间为6/fosc ,10:死区时间为8/fosc,11:死区时间为12/fosc
31D BAA8 OUT 0x18,R10
(0223) PORTB=DATA_HIG;
31E BAA8 OUT 0x18,R10
(0224) PORTB=DATA_HIG|CLOK_LOW;
31F 2C2A MOV R2,R10
320 2820 OR R2,R0
321 BA28 OUT 0x18,R2
(0225) PORTB=DATA_HIG|CLOK_LOW;
322 2C2A MOV R2,R10
323 2820 OR R2,R0
324 BA28 OUT 0x18,R2
(0226) PORTB=DATA_HIG|CLOK_HIG;
325 2C2A MOV R2,R10
326 2A26 OR R2,R22
327 BA28 OUT 0x18,R2
(0227) PORTB=DATA_HIG|CLOK_HIG;
328 2C2A MOV R2,R10
329 2A26 OR R2,R22
32A BA28 OUT 0x18,R2
(0228)
(0229) PORTB=DATA_LOW; //D1
32B 8008 LDD R0,Y+0
32C BA08 OUT 0x18,R0
(0230) PORTB=DATA_LOW;
32D BA08 OUT 0x18,R0
(0231) PORTB=DATA_LOW|CLOK_LOW;
32E 2C20 MOV R2,R0
32F 8009 LDD R0,Y+1
330 2820 OR R2,R0
331 BA28 OUT 0x18,R2
(0232) PORTB=DATA_LOW|CLOK_LOW;
332 8028 LDD R2,Y+0
333 2820 OR R2,R0
334 BA28 OUT 0x18,R2
(0233) PORTB=DATA_LOW|CLOK_HIG;
335 8028 LDD R2,Y+0
336 2A26 OR R2,R22
337 BA28 OUT 0x18,R2
(0234) PORTB=DATA_LOW|CLOK_HIG;
338 8028 LDD R2,Y+0
339 2A26 OR R2,R22
33A BA28 OUT 0x18,R2
(0235)
(0236) PORTB=DATA_HIG; //D0 数据模式
33B BAA8 OUT 0x18,R10
(0237) PORTB=DATA_HIG;
33C BAA8 OUT 0x18,R10
(0238) PORTB=DATA_HIG|CLOK_LOW;
33D 2C2A MOV R2,R10
33E 2820 OR R2,R0
33F BA28 OUT 0x18,R2
(0239) PORTB=DATA_HIG|CLOK_LOW;
340 2C2A MOV R2,R10
341 2820 OR R2,R0
342 BA28 OUT 0x18,R2
(0240) PORTB=DATA_HIG|CLOK_HIG;
343 2C2A MOV R2,R10
344 2A26 OR R2,R22
345 BA28 OUT 0x18,R2
(0241) PORTB=DATA_HIG|CLOK_HIG;
346 2C2A MOV R2,R10
347 2A26 OR R2,R22
348 BA28 OUT 0x18,R2
(0242)
(0243) PORTE=STRB_HIG;
349 B943 OUT 0x03,R20
(0244) PORTE=STRB_HIG;
34A B943 OUT 0x03,R20
(0245)
(0246) return 0x01;
34B E001 LDI R16,1
34C C001 RJMP 0x034E
(0247) }
(0248) else{
(0249) return 0x00;
34D 2700 CLR R16
34E 9622 ADIW R28,2
34F 940C 1736 JMP pop_xgsetF0FC
_OutputMotor:
CLOK_LOW --> Y,+1
STRB_LOW --> Y,+0
STRB_HIG --> R20
DATA_HIG --> R12
CLOK_HIG --> R22
DATA_LOW --> R10
Bridge2DAC --> Y,+16
Bridge1DAC --> Y,+14
Port --> Y,+12
351 940E 1715 CALL push_arg4
353 940E 1741 CALL push_xgsetF0FC
355 9722 SBIW R28,2
(0250) }
(0251) }
(0252) //步进电机转动函数
(0253) unsigned char OutputMotor(unsigned char Port,unsigned char Bridge1DAC,unsigned char Bridge2DAC)
(0254) {
(0255) unsigned char STRB_LOW,CLOK_LOW,DATA_LOW;
(0256) unsigned char STRB_HIG,CLOK_HIG,DATA_HIG;
(0257)
(0258) if((Port>=0x01)&&(Port<=0x04)) //四个电机端口设置
356 858C LDD R24,Y+12
357 3081 CPI R24,1
358 F408 BCC 0x035A
359 C10A RJMP 0x0464
35A E084 LDI R24,4
35B 840C LDD R0,Y+12
35C 1580 CP R24,R0
35D F408 BCC 0x035F
35E C105 RJMP 0x0464
(0259) {
(0260) switch(Port)
35F 2CE0 MOV R14,R0
360 24FF CLR R15
361 01C7 MOVW R24,R14
362 3081 CPI R24,1
363 E0E0 LDI R30,0
364 079E CPC R25,R30
365 F069 BEQ 0x0373
366 3082 CPI R24,2
367 E0E0 LDI R30,0
368 079E CPC R25,R30
369 F091 BEQ 0x037C
36A 3083 CPI R24,3
36B E0E0 LDI R30,0
36C 079E CPC R25,R30
36D F0B9 BEQ 0x0385
36E 3084 CPI R24,4
36F E0E0 LDI R30,0
370 079E CPC R25,R30
371 F0E1 BEQ 0x038E
372 C023 RJMP 0x0396
(0261) {
(0262) case 0x01:
(0263) STRB_LOW = 0x00;
373 2400 CLR R0
374 8208 STD Y+0,R0
(0264) STRB_HIG = 0x10;
375 E140 LDI R20,0x10
(0265) CLOK_LOW = 0x00;
376 8209 STD Y+1,R0
(0266) CLOK_HIG = 0x01;
377 E061 LDI R22,1
(0267) DATA_LOW = 0x00;
378 24AA CLR R10
(0268) DATA_HIG = 0x10;
379 E180 LDI R24,0x10
37A 2EC8 MOV R12,R24
(0269) break;
37B C01A RJMP 0x0396
(0270) case 0x02:
(0271) STRB_LOW = 0x00;
37C 2400 CLR R0
37D 8208 STD Y+0,R0
(0272) STRB_HIG = 0x20;
37E E240 LDI R20,0x20
(0273) CLOK_LOW = 0x00;
37F 8209 STD Y+1,R0
(0274) CLOK_HIG = 0x02;
380 E062 LDI R22,2
(0275) DATA_LOW = 0x00;
381 24AA CLR R10
(0276) DATA_HIG = 0x20;
382 E280 LDI R24,0x20
383 2EC8 MOV R12,R24
(0277) break;
384 C011 RJMP 0x0396
(0278) case 0x03:
(0279) STRB_LOW = 0x00;
385 2400 CLR R0
386 8208 STD Y+0,R0
(0280) STRB_HIG = 0x40;
387 E440 LDI R20,0x40
(0281) CLOK_LOW = 0x00;
388 8209 STD Y+1,R0
(0282) CLOK_HIG = 0x04;
389 E064 LDI R22,4
(0283) DATA_LOW = 0x00;
38A 24AA CLR R10
(0284) DATA_HIG = 0x40;
38B E480 LDI R24,0x40
38C 2EC8 MOV R12,R24
(0285) break;
38D C008 RJMP 0x0396
(0286) case 0x04:
(0287) STRB_LOW = 0x00;
38E 2400 CLR R0
38F 8208 STD Y+0,R0
(0288) STRB_HIG = 0x80;
390 E840 LDI R20,0x80
(0289) CLOK_LOW = 0x00;
391 8209 STD Y+1,R0
(0290) CLOK_HIG = 0x08;
392 E068 LDI R22,0x8
(0291) DATA_LOW = 0x00;
393 24AA CLR R10
(0292) DATA_HIG = 0x80;
394 E880 LDI R24,0x80
395 2EC8 MOV R12,R24
(0293) break;
(0294) }
(0295)
(0296) PORTB=CLOK_LOW;
396 8009 LDD R0,Y+1
397 BA08 OUT 0x18,R0
(0297) PORTE=STRB_LOW;
398 8008 LDD R0,Y+0
399 B803 OUT 0x03,R0
(0298)
(0299) if((Port==1)||(Port==4)) //升降臂,进样泵电机电流0。5A
39A 858C LDD R24,Y+12
39B 3081 CPI R24,1
39C F011 BEQ 0x039F
39D 3084 CPI R24,4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -