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

📄 m64.lst

📁 数字舵机(1) 数字脉宽检测 数字脉宽检测
💻 LST
📖 第 1 页 / 共 5 页
字号:
     622 E050      LDI	R21,0
     623 E060      LDI	R22,0
     624 E070      LDI	R23,0
     625 9040 0123 LDS	R4,juli+2
     627 9050 0124 LDS	R5,juli+3
     629 9020 0121 LDS	R2,juli
     62B 9030 0122 LDS	R3,juli+1
     62D 1542      CP	R20,R2
     62E 0553      CPC	R21,R3
     62F 0564      CPC	R22,R4
     630 0575      CPC	R23,R5
     631 F584      BGE	0x0662
(0464) 	   	 	  {DDRB |=(R_pwm1 | L_pwm1);
     632 B387      IN	R24,0x17
     633 6A80      ORI	R24,0xA0
     634 BB87      OUT	0x17,R24
(0465) 			   DDRB &=~(R_pwm1 | L_pwm1);
     635 B387      IN	R24,0x17
     636 758F      ANDI	R24,0x5F
     637 BB87      OUT	0x17,R24
(0466) 			   OCR1AL = 0;
     638 2422      CLR	R2
     639 BC2A      OUT	0x2A,R2
(0467)  		  	   OCR1BL = pwm_pingjun+Rpwm0;
     63A 9020 0112 LDS	R2,Rpwm0
     63C 9030 0111 LDS	R3,pwm_pingjun
     63E 0C32      ADD	R3,R2
     63F BC38      OUT	0x28,R3
(0468)  		  	   OCR1CL = 0;
     640 2422      CLR	R2
     641 9220 0078 STS	0x0078,R2
(0469)  		  	   OCR0=pwm_pingjun;
     643 9020 0111 LDS	R2,pwm_pingjun
     645 BE21      OUT	0x31,R2
(0470) 			   PWM_ON
     646 B387      IN	R24,0x17
     647 6F80      ORI	R24,0xF0
     648 BB87      OUT	0x17,R24
(0471) 			   juli--;
     649 E041      LDI	R20,1
     64A E050      LDI	R21,0
     64B E060      LDI	R22,0
     64C E070      LDI	R23,0
     64D 9040 0123 LDS	R4,juli+2
     64F 9050 0124 LDS	R5,juli+3
     651 9020 0121 LDS	R2,juli
     653 9030 0122 LDS	R3,juli+1
     655 1A24      SUB	R2,R20
     656 0A35      SBC	R3,R21
     657 0A46      SBC	R4,R22
     658 0A57      SBC	R5,R23
     659 9230 0122 STS	juli+1,R3
     65B 9220 0121 STS	juli,R2
     65D 9250 0124 STS	juli+3,R5
     65F 9240 0123 STS	juli+2,R4
(0472) 			  }
     661 C041      RJMP	0x06A3
(0473) 			 else if (juli<0)
     662 E040      LDI	R20,0
     663 E050      LDI	R21,0
     664 E060      LDI	R22,0
     665 E070      LDI	R23,0
     666 9040 0123 LDS	R4,juli+2
     668 9050 0124 LDS	R5,juli+3
     66A 9020 0121 LDS	R2,juli
     66C 9030 0122 LDS	R3,juli+1
     66E 1624      CP	R2,R20
     66F 0635      CPC	R3,R21
     670 0646      CPC	R4,R22
     671 0657      CPC	R5,R23
     672 F56C      BGE	0x06A0
(0474) 	   	 	  {DDRB |=(R_pwm0 | L_pwm0);
     673 B387      IN	R24,0x17
     674 6580      ORI	R24,0x50
     675 BB87      OUT	0x17,R24
(0475) 			   DDRB &=~(R_pwm0 | L_pwm0);
     676 B387      IN	R24,0x17
     677 7A8F      ANDI	R24,0xAF
     678 BB87      OUT	0x17,R24
(0476) 			   OCR1AL = pwm_pingjun;
     679 9020 0111 LDS	R2,pwm_pingjun
     67B BC2A      OUT	0x2A,R2
(0477)  		  	   OCR1BL = 0;
     67C 2422      CLR	R2
     67D BC28      OUT	0x28,R2
(0478)  		  	   OCR1CL = pwm_pingjun;
     67E 9020 0111 LDS	R2,pwm_pingjun
     680 9220 0078 STS	0x0078,R2
(0479)  		  	   OCR0=0;
     682 2422      CLR	R2
     683 BE21      OUT	0x31,R2
(0480) 			   PWM_ON
     684 B387      IN	R24,0x17
     685 6F80      ORI	R24,0xF0
     686 BB87      OUT	0x17,R24
(0481) 			   juli++;
     687 E041      LDI	R20,1
     688 E050      LDI	R21,0
     689 E060      LDI	R22,0
     68A E070      LDI	R23,0
     68B 9040 0123 LDS	R4,juli+2
     68D 9050 0124 LDS	R5,juli+3
     68F 9020 0121 LDS	R2,juli
     691 9030 0122 LDS	R3,juli+1
     693 0E24      ADD	R2,R20
     694 1E35      ADC	R3,R21
     695 1E46      ADC	R4,R22
     696 1E57      ADC	R5,R23
     697 9230 0122 STS	juli+1,R3
     699 9220 0121 STS	juli,R2
     69B 9250 0124 STS	juli+3,R5
     69D 9240 0123 STS	juli+2,R4
(0482) 			  }/**/
     69F C003      RJMP	0x06A3
(0483) 			 else PWM_OFF
     6A0 B387      IN	R24,0x17
     6A1 708F      ANDI	R24,0xF
     6A2 BB87      OUT	0x17,R24
(0484) 			n_sec=sec;
     6A3 90A0 0127 LDS	R10,sec
(0485) 			}	
(0486) 
(0487) 	   	//number(0,2,5,xx,1);
(0488) 		//number(0,4,5,ADCjohu,1);
(0489) 		if (!(PINE & PREVSONG))xx=0;
     6A5 990A      SBIC	0x01,2
     6A6 C00C      RJMP	0x06B3
     6A7 E040      LDI	R20,0
     6A8 E050      LDI	R21,0
     6A9 E060      LDI	R22,0
     6AA E070      LDI	R23,0
     6AB 9350 0107 STS	xx+1,R21
     6AD 9340 0106 STS	xx,R20
     6AF 9370 0109 STS	xx+3,R23
     6B1 9360 0108 STS	xx+2,R22
(0490) 		if (!(PINE & NEXTSONG))
     6B3 990B      SBIC	0x01,3
     6B4 C01A      RJMP	0x06CF
(0491) 	    	{
(0492) 			//CLI();
(0493) 			number_uart1(xx,0);
     6B5 2422      CLR	R2
     6B6 8228      STD	Y+0,R2
     6B7 9120 0108 LDS	R18,xx+2
     6B9 9130 0109 LDS	R19,xx+3
     6BB 9100 0106 LDS	R16,xx
     6BD 9110 0107 LDS	R17,xx+1
     6BF DD08      RCALL	_number_uart1
(0494) 			number_uart1(ADCjohu,1);
     6C0 E081      LDI	R24,1
     6C1 8388      STD	Y+0,R24
     6C2 9120 0102 LDS	R18,ADCjohu+2
     6C4 9130 0103 LDS	R19,ADCjohu+3
     6C6 9100 0100 LDS	R16,ADCjohu
     6C8 9110 0101 LDS	R17,ADCjohu+1
     6CA DCFD      RCALL	_number_uart1
(0495) 			delay_ms(20);
     6CB E104      LDI	R16,0x14
     6CC E010      LDI	R17,0
     6CD 940E 06EA CALL	_delay_ms
(0496) 			//SEI();
(0497) 			}
(0498)    	    ms=0;
     6CF 2422      CLR	R2
     6D0 2433      CLR	R3
     6D1 9230 0105 STS	ms+1,R3
     6D3 9220 0104 STS	ms,R2
     6D5 CEAB      RJMP	0x0581
     6D6 9621      ADIW	R28,1
     6D7 9508      RET
FILE: C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\delay.c
(0001) 
(0002) 
(0003) #include <iom64v.h>
(0004) #include "delay.h"
(0005) 
(0006) /*-----------------------------------------------------------------------
(0007) delay_us	   :1us延时函数
(0008) -----------------------------------------------------------------------*/
(0009) void delay_us(void)
(0010) {
(0011)    unsigned char t=2;
_delay_us:
  t                    --> R16
     6D8 E002      LDI	R16,2
(0012)    t--;
     6D9 950A      DEC	R16
     6DA 9508      RET
_delay_nus:
  t                    --> R20
     6DB 934A      ST	R20,-Y
     6DC 935A      ST	R21,-Y
     6DD 01A8      MOVW	R20,R16
(0013) }
(0014) 
(0015) /*-----------------------------------------------------------------------
(0016) delay_nus          :长延时函数
(0017) 
(0018) 输入参数: t        :延时时间 us
(0019) -----------------------------------------------------------------------*/
(0020) void delay_nus(unsigned int t)
(0021) {
     6DE C001      RJMP	0x06E0
(0022)     while (t--)
(0023)        delay_us();
     6DF DFF8      RCALL	_delay_us
     6E0 011A      MOVW	R2,R20
     6E1 5041      SUBI	R20,1
     6E2 4050      SBCI	R21,0
     6E3 2022      TST	R2
     6E4 F7D1      BNE	0x06DF
     6E5 2033      TST	R3
     6E6 F7C1      BNE	0x06DF
     6E7 9159      LD	R21,Y+
     6E8 9149      LD	R20,Y+
     6E9 9508      RET
(0024) }
(0025) 
(0026) /*-----------------------------------------------------------------------
(0027) delay_ms	   :1ms延时函数
(0028) -----------------------------------------------------------------------*/
(0029) void delay_ms(void)
(0030) {
(0031)    delay_nus(1000);
_delay_ms:
     6EA EE08      LDI	R16,0xE8
     6EB E013      LDI	R17,3
     6EC DFEE      RCALL	_delay_nus
     6ED 9508      RET
_delay_nms:
  t                    --> R20
     6EE 934A      ST	R20,-Y
     6EF 935A      ST	R21,-Y
     6F0 01A8      MOVW	R20,R16
(0032) }
(0033) 
(0034) /*-----------------------------------------------------------------------
(0035) delay_nms          :长延时函数
(0036) 
(0037) 输入参数: t        :延时时间 ms
(0038) -----------------------------------------------------------------------*/
(0039) void delay_nms(unsigned int t)
(0040) {
     6F1 C001      RJMP	0x06F3
(0041)     while (t--)
(0042)        delay_ms();
FILE: <library>
     6F2 DFF7      RCALL	_delay_ms
     6F3 011A      MOVW	R2,R20
     6F4 5041      SUBI	R20,1
     6F5 4050      SBCI	R21,0
     6F6 2022      TST	R2
     6F7 F7D1      BNE	0x06F2
     6F8 2033      TST	R3
     6F9 F7C1      BNE	0x06F2
     6FA 9159      LD	R21,Y+
     6FB 9149      LD	R20,Y+
     6FC 9508      RET
push_arg4:
     6FD 933A      ST	R19,-Y
     6FE 932A      ST	R18,-Y
push_arg2:
     6FF 931A      ST	R17,-Y
     700 930A      ST	R16,-Y
     701 9508      RET
div32u:
     702 94E8      BCLR	6
     703 C001      RJMP	0x0705
mod32u:
     704 9468      BSET	6
     705 D030      RCALL	long_div_prolog
     706 24CC      CLR	R12
     707 C009      RJMP	0x0711
div32s:
     708 94E8      BCLR	6
     709 C001      RJMP	0x070B
mod32s:
     70A 9468      BSET	6
     70B D02A      RCALL	long_div_prolog
     70C FD37      SBRC	R19,7
     70D 940E 078A CALL	neg32
     70F FDB7      SBRC	R27,7
     710 D052      RCALL	neg_R24_R27
     711 2477      CLR	R7
     712 2488      CLR	R8
     713 2499      CLR	R9
     714 24AA      CLR	R10
     715 24BB      CLR	R11
     716 D042      RCALL	tst_R16_R19
     717 F0C1      BEQ	0x0730
     718 D045      RCALL	tst_R24_R27
     719 F0B1      BEQ	0x0730
     71A E2E8      LDI	R30,0x28
     71B 0F00      LSL	R16
     71C 1F11      ROL	R17
     71D 1F22      ROL	R18
     71E 1F33      ROL	R19
     71F 1C77      ROL	R7
     720 1C88      ROL	R8
     721 1C99      ROL	R9
     722 1CAA      ROL	R10
     723 1CBB      ROL	R11
     724 1688      CP	R8,R24
     725 0699      CPC	R9,R25
     726 06AA      CPC	R10,R26
     727 06BB      CPC	R11,R27
     728 F028      BCS	0x072E
     729 1A88      SUB	R8,R24
     72A 0A99      SBC	R9,R25
     72B 0AAA      SBC	R10,R26
     72C 0ABB      SBC	R11,R27
     72D 9503      INC	R16
     72E 95EA      DEC	R30
     72F F759      BNE	0x071B
     730 F426      BRTC	0x0735
     731 2D08      MOV	R16,R8
     732 2D19      MOV	R17,R9
     733 2D2A      MOV	R18,R10
     734 2D3B      MOV	R19,R11
     735 C013      RJMP	long_div_epilog
long_div_prolog:
     736 927A      ST	R7,-Y
     737 928A      ST	R8,-Y
     738 929A      ST	R9,-Y
     739 92AA      ST	R10,-Y
     73A 92BA      ST	R11,-Y
     73B 92CA      ST	R12,-Y
     73C 93EA      ST	R30,-Y
     73D 938A      ST	R24,-Y
     73E 939A      ST	R25,-Y
     73F 93AA      ST	R26,-Y
     740 93BA      ST	R27,-Y
     741 858B      LDD	R24,Y+11
     742 859C      LDD	R25,Y+12
     743 85AD      LDD	R26,Y+13
     744 85BE      LDD	R27,Y+14
     745 2EC3      MOV	R12,R19
     746 F00E      BRTS	0x0748
     747 26CB      EOR	R12,R27
     748 9508      RET
long_div_epilog:
     749 FCC7      SBRC	R12,7
     74A 940E 078A CALL	neg32
     74C 91B9      LD	R27,Y+
     74D 91A9      LD	R26,Y+
     74E 9199      LD	R25,Y+
     74F 9189      LD	R24,Y+
     750 91E9      LD	R30,Y+
     751 90C9      LD	R12,Y+
     752 90B9      LD	R11,Y+
     753 90A9      LD	R10,Y+
     754 9099      LD	R9,Y+
     755 9089      LD	R8,Y+
     756 9079      LD	R7,Y+
     757 9624      ADIW	R28,4
     758 9508      RET
tst_R16_R19:
     759 2FE0      MOV	R30,R16
     75A 2BE1      OR	R30,R17
     75B 2BE2      OR	R30,R18
     75C 2BE3      OR	R30,R19
     75D 9508      RET
tst_R24_R27:
     75E 2FE8      MOV	R30,R24
     75F 2BE9      OR	R30,R25
     760 2BEA      OR	R30,R26
     761 2BEB      OR	R30,R27
     762 9508      RET
neg_R24_R27:
     763 9580      COM	R24
     764 9590      COM	R25
     765 95A0      COM	R26
     766 95B0      COM	R27
     767 5F8F      SUBI	R24,0xFF
     768 4F9F      SBCI	R25,0xFF
     769 4FAF      SBCI	R26,0xFF
     76A 4FBF      SBCI	R27,0xFF
     76B 9508      RET
empy16s:
     76C 920A      ST	R0,-Y
     76D 921A      ST	R1,-Y
     76E 938A      ST	R24,-Y
     76F 939A      ST	R25,-Y
     770 9F02      MUL	R16,R18
     771 01C0      MOVW	R24,R0
     772 9F12      MUL	R17,R18
     773 0D90      ADD	R25,R0
     774 9F03      MUL	R16,R19
     775 0D90      ADD	R25,R0
     776 018C      MOVW	R16,R24
     777 9199      LD	R25,Y+
     778 9189      LD	R24,Y+
     779 9019      LD	R1,Y+
     77A 9009      LD	R0,Y+
     77B 9508      RET
push_xgsetF00C:
     77C 937A      ST	R23,-Y
     77D 936A      ST	R22,-Y
     77E 935A      ST	R21,-Y
     77F 934A      ST	R20,-Y
     780 92BA      ST	R11,-Y
     781 92AA      ST	R10,-Y
     782 9508      RET
pop_xgsetF00C:
     783 90A9      LD	R10,Y+
     784 90B9      LD	R11,Y+
     785 9149      LD	R20,Y+
     786 9159      LD	R21,Y+
     787 9169      LD	R22,Y+
     788 9179      LD	R23,Y+
     789 9508      RET
neg32:
     78A 9500      COM	R16
     78B 9510      COM	R17
     78C 9520      COM	R18
     78D 9530      COM	R19
     78E 5F0F      SUBI	R16,0xFF
     78F 4F1F      SBCI	R17,0xFF
     790 4F2F      SBCI	R18,0xFF
     791 4F3F      SBCI	R19,0xFF
     792 9508      RET

⌨️ 快捷键说明

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