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

📄 motor.lst

📁 直流电动机驱动器设计开发环境为ICC,可以编译成汇编,直接下栽到嵌入式avr单片机进行控制
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0302 E010      LDI	R17,0
    0303 DEC1      RCALL	_USARTInit
(0184)  TCNT1=00;                   //定时器1初始化 
    0304 2422      CLR	R2
    0305 2433      CLR	R3
    0306 BC3D      OUT	0x2D,R3
    0307 BC2C      OUT	0x2C,R2
(0185)  TCCR1B=0x06;
    0308 E086      LDI	R24,6
    0309 BD8E      OUT	0x2E,R24
(0186)  DDRB=0x0F;                  //I/O口初始化
    030A E08F      LDI	R24,0xF
    030B BB87      OUT	0x17,R24
(0187)  DDRD=0xC0;     
    030C EC80      LDI	R24,0xC0
    030D BB81      OUT	0x11,R24
(0188)  TIMSK=0x40;                 //中断初始化 
    030E E480      LDI	R24,0x40
    030F BF89      OUT	0x39,R24
(0189)  OCR2 = 0x0F;                //PWM初始化
    0310 E08F      LDI	R24,0xF
    0311 BD83      OUT	0x23,R24
(0190)  TCCR2=0x72;
    0312 E782      LDI	R24,0x72
    0313 BD85      OUT	0x25,R24
(0191)  PORTB=PORTB&0xFC|0x01;
    0314 B388      IN	R24,0x18
    0315 7F8C      ANDI	R24,0xFC
    0316 6081      ORI	R24,1
    0317 BB88      OUT	0x18,R24
(0192)  PORTD=PORTD&0x3F|0x80;
    0318 B382      IN	R24,0x12
    0319 738F      ANDI	R24,0x3F
    031A 6880      ORI	R24,0x80
    031B BB82      OUT	0x12,R24
(0193)  SEI();
    031C 9478      BSET	7
(0194)  do{} while(1);              //等待中断
    031D CFFF      RJMP	0x031D
(0195) }
    031E 9508      RET
_UART_RXC:
  i                    --> R20
    031F D097      RCALL	push_lset
    0320 D056      RCALL	push_gset1
(0196) 
(0197) //***************************串行接收中断服务程序******************//
(0198) #pragma interrupt_handler UART_RXC:12
(0199) void UART_RXC(void)
(0200) {char i=0;
    0321 2744      CLR	R20
(0201)  CLI();
    0322 94F8      BCLR	7
(0202)  Data[0]=UDR;
    0323 B02C      IN	R2,0x0C
    0324 92200077  STS	_Data,R2
(0203)  if(Data[0]==0x55)           //起始位检测
    0326 2D82      MOV	R24,R2
    0327 3585      CPI	R24,0x55
    0328 F4C1      BNE	0x0341
(0204)  {do
(0205)   {while(!(USR&(1<<RXC)));
    0329 9B5F      SBIS	0x0B,7
    032A CFFE      RJMP	0x0329
(0206)    i++;
    032B 9543      INC	R20
(0207)    Data[i]=UDR;
    032C E787      LDI	R24,0x77
    032D E090      LDI	R25,0
    032E 2FE4      MOV	R30,R20
    032F 27FF      CLR	R31
    0330 0FE8      ADD	R30,R24
    0331 1FF9      ADC	R31,R25
    0332 B02C      IN	R2,0x0C
    0333 8220      STD	Z+0,R2
(0208)    if(i==9)
    0334 3049      CPI	R20,0x9
    0335 F409      BNE	0x0337
(0209)    break;} while(1);
    0336 C001      RJMP	0x0338
    0337 CFF1      RJMP	0x0329
(0210)   if((Data[8]==0xFE)&&(Data[9]==0xFF))  //检测结束位
    0338 9180007F  LDS	R24,0x7F
    033A 3F8E      CPI	R24,0xFE
    033B F429      BNE	0x0341
    033C 91800080  LDS	R24,0x80
    033E 3F8F      CPI	R24,0xFF
    033F F409      BNE	0x0341
(0211)   Datadisposal();}
    0340 DF87      RCALL	_Datadisposal
(0212)  SEI();
    0341 9478      BSET	7
(0213) }
    0342 D037      RCALL	pop_gset1
    0343 D08A      RCALL	pop_lset
    0344 9518      RETI
_TIM2_OVF:
    0345 D071      RCALL	push_lset
    0346 9722      SBIW	R28,2
(0214) 
(0215) //***************************定时器2中断服务程序*******************//
(0216) #pragma interrupt_handler TIM2_OVF:5
(0217) void TIM2_OVF(void)    
(0218) {CLI();
    0347 94F8      BCLR	7
(0219)  EEPROMReadBytes(0x000C,&itime,2);//读采样次数
    0348 E082      LDI	R24,2
    0349 E090      LDI	R25,0
    034A 8399      STD	Y+1,R25
    034B 8388      STD	Y+0,R24
    034C E62D      LDI	R18,0x6D
    034D E030      LDI	R19,0
    034E E00C      LDI	R16,0xC
    034F E010      LDI	R17,0
    0350 D0AA      RCALL	_EEPROMReadBytes
(0220)  a++;
    0351 91800073  LDS	R24,_a
    0353 91900074  LDS	R25,_a+1
    0355 9601      ADIW	R24,1
    0356 93900074  STS	_a+1,R25
    0358 93800073  STS	_a,R24
(0221)  if(a==itime)                //时间窗口判断,
    035A 9020006D  LDS	R2,_itime
    035C 9030006E  LDS	R3,_itime+1
    035E 1582      CP	R24,R2
    035F 0593      CPC	R25,R3
    0360 F439      BNE	0x0368
(0222)   {a = 0;
    0361 2422      CLR	R2
    0362 2433      CLR	R3
    0363 92300074  STS	_a+1,R3
    0365 92200073  STS	_a,R2
(0223)    PIDB();} 
    0367 DD3B      RCALL	_PIDB
(0224)   SEI();
    0368 9478      BSET	7
(0225) }
FILE: <library>
    0369 9622      ADIW	R28,2
    036A D063      RCALL	pop_lset
    036B 9518      RETI
push_arg4:
    036C 933A      ST	R19,-Y
    036D 932A      ST	R18,-Y
push_arg2:
    036E 931A      ST	R17,-Y
    036F 930A      ST	R16,-Y
    0370 9508      RET
pop_gset2:
    0371 E0E2      LDI	R30,2
    0372 C008      RJMP	pop
pop_gset4:
    0373 E0E8      LDI	R30,0x8
    0374 C006      RJMP	pop
pop_gset5:
    0375 27EE      CLR	R30
    0376 C004      RJMP	pop
push_gset1:
    0377 935A      ST	R21,-Y
    0378 934A      ST	R20,-Y
    0379 9508      RET
pop_gset1:
    037A E0E1      LDI	R30,1
pop:
    037B 9149      LD	R20,Y+
    037C 9159      LD	R21,Y+
    037D FDE0      SBRC	R30,0
    037E 9508      RET
    037F 9169      LD	R22,Y+
    0380 9179      LD	R23,Y+
    0381 FDE1      SBRC	R30,1
    0382 9508      RET
    0383 90A9      LD	R10,Y+
    0384 90B9      LD	R11,Y+
    0385 FDE2      SBRC	R30,2
    0386 9508      RET
    0387 90C9      LD	R12,Y+
    0388 90D9      LD	R13,Y+
    0389 FDE3      SBRC	R30,3
    038A 9508      RET
    038B 90E9      LD	R14,Y+
    038C 90F9      LD	R15,Y+
    038D 9508      RET
push_gset2:
    038E 937A      ST	R23,-Y
    038F 936A      ST	R22,-Y
    0390 CFE6      RJMP	push_gset1
push_gset3:
    0391 92BA      ST	R11,-Y
    0392 92AA      ST	R10,-Y
    0393 CFFA      RJMP	push_gset2
push_gset4:
    0394 92DA      ST	R13,-Y
    0395 92CA      ST	R12,-Y
    0396 CFFA      RJMP	push_gset3
push_gset5:
    0397 92FA      ST	R15,-Y
    0398 92EA      ST	R14,-Y
    0399 CFFA      RJMP	push_gset4
neg32:
    039A 9500      COM	R16
    039B 9510      COM	R17
    039C 9520      COM	R18
    039D 9530      COM	R19
    039E 5F0F      SUBI	R16,0xFF
    039F 4F1F      SBCI	R17,0xFF
    03A0 4F2F      SBCI	R18,0xFF
    03A1 4F3F      SBCI	R19,0xFF
    03A2 9508      RET
lpm32:
    03A3 93EA      ST	R30,-Y
    03A4 93FA      ST	R31,-Y
    03A5 920A      ST	R0,-Y
    03A6 2FE0      MOV	R30,R16
    03A7 2FF1      MOV	R31,R17
    03A8 95C8      LPM
    03A9 2D00      MOV	R16,R0
    03AA 9631      ADIW	R30,1
    03AB 95C8      LPM
    03AC 2D10      MOV	R17,R0
    03AD 9631      ADIW	R30,1
    03AE 95C8      LPM
    03AF 2D20      MOV	R18,R0
    03B0 9631      ADIW	R30,1
    03B1 95C8      LPM
    03B2 2D30      MOV	R19,R0
    03B3 9009      LD	R0,Y+
    03B4 91F9      LD	R31,Y+
    03B5 91E9      LD	R30,Y+
    03B6 9508      RET
push_lset:
    03B7 93FA      ST	R31,-Y
    03B8 93EA      ST	R30,-Y
    03B9 93BA      ST	R27,-Y
    03BA 93AA      ST	R26,-Y
    03BB 939A      ST	R25,-Y
    03BC 938A      ST	R24,-Y
    03BD 933A      ST	R19,-Y
    03BE 932A      ST	R18,-Y
    03BF 931A      ST	R17,-Y
    03C0 930A      ST	R16,-Y
    03C1 929A      ST	R9,-Y
    03C2 928A      ST	R8,-Y
    03C3 927A      ST	R7,-Y
    03C4 926A      ST	R6,-Y
    03C5 925A      ST	R5,-Y
    03C6 924A      ST	R4,-Y
    03C7 923A      ST	R3,-Y
    03C8 922A      ST	R2,-Y
    03C9 921A      ST	R1,-Y
    03CA 920A      ST	R0,-Y
    03CB B60F      IN	R0,0x3F
    03CC 920A      ST	R0,-Y
    03CD 9508      RET
pop_lset:
    03CE 9009      LD	R0,Y+
    03CF BE0F      OUT	0x3F,R0
    03D0 9009      LD	R0,Y+
    03D1 9019      LD	R1,Y+
    03D2 9029      LD	R2,Y+
    03D3 9039      LD	R3,Y+
    03D4 9049      LD	R4,Y+
    03D5 9059      LD	R5,Y+
    03D6 9069      LD	R6,Y+
    03D7 9079      LD	R7,Y+
    03D8 9089      LD	R8,Y+
    03D9 9099      LD	R9,Y+
    03DA 9109      LD	R16,Y+
    03DB 9119      LD	R17,Y+
    03DC 9129      LD	R18,Y+
    03DD 9139      LD	R19,Y+
    03DE 9189      LD	R24,Y+
    03DF 9199      LD	R25,Y+
    03E0 91A9      LD	R26,Y+
    03E1 91B9      LD	R27,Y+
    03E2 91E9      LD	R30,Y+
    03E3 91F9      LD	R31,Y+
    03E4 9508      RET
_EEPROMread:
    03E5 99E1      SBIC	0x1C,1
    03E6 CFFE      RJMP	_EEPROMread
    03E7 BB1F      OUT	0x1F,R17
    03E8 BB0E      OUT	0x1E,R16
    03E9 9AE0      SBI	0x1C,0
    03EA B30D      IN	R16,0x1D
    03EB 9508      RET
_EEPROMwrite:
    03EC DF8A      RCALL	push_gset1
    03ED 99E1      SBIC	0x1C,1
    03EE CFFE      RJMP	0x03ED
    03EF BB1F      OUT	0x1F,R17
    03F0 BB0E      OUT	0x1E,R16
    03F1 BB2D      OUT	0x1D,R18
    03F2 B74F      IN	R20,0x3F
    03F3 94F8      BCLR	7
    03F4 9AE2      SBI	0x1C,2
    03F5 9AE1      SBI	0x1C,1
    03F6 BF4F      OUT	0x3F,R20
    03F7 2700      CLR	R16
    03F8 2711      CLR	R17
    03F9 DF80      RCALL	pop_gset1
    03FA 9508      RET
_EEPROMReadBytes:
    03FB DF98      RCALL	push_gset4
    03FC 2EC2      MOV	R12,R18
    03FD 2ED3      MOV	R13,R19
    03FE 2EA0      MOV	R10,R16
    03FF 2EB1      MOV	R11,R17
    0400 8568      LDD	R22,Y+8
    0401 8579      LDD	R23,Y+9
    0402 2D4C      MOV	R20,R12
    0403 2D5D      MOV	R21,R13
    0404 C00D      RJMP	0x0412
    0405 2D0A      MOV	R16,R10
    0406 2D1B      MOV	R17,R11
    0407 DFDD      RCALL	_EEPROMread
    0408 2FE4      MOV	R30,R20
    0409 2FF5      MOV	R31,R21
    040A 8300      STD	Z+0,R16
    040B 2D8A      MOV	R24,R10
    040C 2D9B      MOV	R25,R11
    040D 9601      ADIW	R24,1
    040E 2EA8      MOV	R10,R24
    040F 2EB9      MOV	R11,R25
    0410 5F4F      SUBI	R20,0xFF
    0411 4F5F      SBCI	R21,0xFF
    0412 2E26      MOV	R2,R22
    0413 2E37      MOV	R3,R23
    0414 5061      SUBI	R22,1
    0415 4070      SBCI	R23,0
    0416 2022      TST	R2
    0417 F769      BNE	0x0405
    0418 2033      TST	R3
    0419 F759      BNE	0x0405
    041A DF58      RCALL	pop_gset4
    041B 9508      RET
_EEPROMWriteBytes:
    041C DF77      RCALL	push_gset4
    041D 2EC2      MOV	R12,R18
    041E 2ED3      MOV	R13,R19
    041F 2EA0      MOV	R10,R16
    0420 2EB1      MOV	R11,R17
    0421 8568      LDD	R22,Y+8
    0422 8579      LDD	R23,Y+9
    0423 2D4C      MOV	R20,R12
    0424 2D5D      MOV	R21,R13
    0425 C00D      RJMP	0x0433
    0426 2FE4      MOV	R30,R20
    0427 2FF5      MOV	R31,R21
    0428 8120      LDD	R18,Z+0
    0429 2D0A      MOV	R16,R10
    042A 2D1B      MOV	R17,R11
    042B DFC0      RCALL	_EEPROMwrite
    042C 2D8A      MOV	R24,R10
    042D 2D9B      MOV	R25,R11
    042E 9601      ADIW	R24,1
    042F 2EA8      MOV	R10,R24
    0430 2EB9      MOV	R11,R25
    0431 5F4F      SUBI	R20,0xFF
    0432 4F5F      SBCI	R21,0xFF
    0433 2E26      MOV	R2,R22
    0434 2E37      MOV	R3,R23
    0435 5061      SUBI	R22,1
    0436 4070      SBCI	R23,0
    0437 2022      TST	R2
    0438 F769      BNE	0x0426
    0439 2033      TST	R3
    043A F759      BNE	0x0426
    043B DF37      RCALL	pop_gset4
    043C 9508      RET
fp2int:
    043D D179      RCALL	savfacc1
    043E D00F      RCALL	FTOI
    043F 2F02      MOV	R16,R18
    0440 2F13      MOV	R17,R19
    0441 FD87      SBRC	R24,7
    0442 C001      RJMP	nojump1
    0443 C176      RJMP	restorefacc1
nojump1:
    0444 9510      COM	R17
    0445 9501      NEG	R16
    0446 4F1F      SBCI	R17,0xFF
    0447 C172      RJMP	restorefacc1
fp2long:
    0448 D16E      RCALL	savfacc1
    0449 D006      RCALL	FTOL
    044A FF87      SBRS	R24,7
    044B C001      RJMP	nojump2
    044C DF4D      RCALL	neg32
nojump2:
    044D C16C      RJMP	restorefacc1
FTOI:
    044E E0BE      LDI	R27,0xE
    044F C001      RJMP	0x0451
FTOL:
    0450 E1BE      LDI	R27,0x1E
    0451 D16B      RCALL	unpackfacc1
    0452 F059      BEQ	0x045E
    0453 1BB3      SUB	R27,R19
    0454 F009      BEQ	0x0456
    0455 F45A      BPL	0x0461
    0456 2388      TST	R24
    0457 F01A      BMI	0x045B
    0458 E010      LDI	R17,0
    0459 E20E      LDI	R16,0x2E
    045A CF48      RJMP	lpm32
    045B E010      LDI	R17,0
    045C E304      LDI	R16,0x34
    045D CF45      RJMP	lpm32
    045E E010      LDI	R17,0
    045F E302      LDI	R16,0x32
    0460 CF42      RJMP	lpm32
    0461 9533      INC	R19
    0462 F3DA      BMI	0x045E
    0463 E030      LDI	R19,0
    0464 50B8      SUBI	R27,0x8
    0465 F452      BPL	0x0470
    0466 5FB8      SUBI	R27,0xF8
    0467 2F32      MOV	R19,R18
    0468 2F21      MOV	R18,R17
    0469 2F10      MOV	R17,R16
    046A E800      LDI	R16,0x80
    046B C006      RJMP	0x0472
    046C 2F01      MOV	R16,R17
    046D 2F12      MOV	R17,R18
    046E E020      LDI	R18,0
    046F 50B8      SUBI	R27,0x8
    0470 30B8      CPI	R27,0x8
    0471 F7D0      BCC	0x046C
    0472 23BB      TST	R27
    0473 F031      BEQ	0x047A
    0474 9536      LSR	R19
    0475 9527      ROR	R18
    0476 9517      ROR	R17
    0477 9507      ROR	R16

⌨️ 快捷键说明

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