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

📄 moto.lst

📁 步进电机 驱动三星 步进电机 avr程序
💻 LST
字号:
__start:
__text_start:
    0013 E5CF      LDI	R28,0x5F
    0014 E0D4      LDI	R29,4
    0015 BFCD      OUT	0x3D,R28
    0016 BFDE      OUT	0x3E,R29
    0017 51C0      SUBI	R28,0x10
    0018 40D0      SBCI	R29,0
    0019 EA0A      LDI	R16,0xAA
    001A 8308      STD	Y+0,R16
    001B 2400      CLR	R0
    001C E6E0      LDI	R30,0x60
    001D E0F0      LDI	R31,0
    001E E010      LDI	R17,0
    001F 36E0      CPI	R30,0x60
    0020 07F1      CPC	R31,R17
    0021 F011      BEQ	0x0024
    0022 9201      ST	R0,Z+
    0023 CFFB      RJMP	0x001F
    0024 8300      STD	Z+0,R16
    0025 E2E6      LDI	R30,0x26
    0026 E0F0      LDI	R31,0
    0027 E6A0      LDI	R26,0x60
    0028 E0B0      LDI	R27,0
    0029 E010      LDI	R17,0
    002A 32E6      CPI	R30,0x26
    002B 07F1      CPC	R31,R17
    002C F021      BEQ	0x0031
    002D 95C8      LPM
    002E 9631      ADIW	R30,1
    002F 920D      ST	R0,X+
    0030 CFF9      RJMP	0x002A
    0031 D023      RCALL	_main
_exit:
    0032 CFFF      RJMP	_exit
FILE: D:\avr\moto\moto.c
(0001) #include<iom8v.h>
(0002) void delay_us(int time)
(0003) 	 {     
(0004)   	  do
(0005) 	  	{
(0006) 		 time--;
_delay_us:
  time                 --> R16
    0033 5001      SUBI	R16,1
    0034 4010      SBCI	R17,0
(0007) 		}	
(0008)   	  while (time>1);
    0035 E081      LDI	R24,1
    0036 E090      LDI	R25,0
    0037 1780      CP	R24,R16
    0038 0791      CPC	R25,R17
    0039 F3CC      BLT	0x0033
    003A 9508      RET
_delay_ms:
  time                 --> R20
    003B D060      RCALL	push_gset1
    003C 01A8      MOVW	R20,R16
(0009) 	 }	  
(0010) /*	  		    毫秒级延时程序			*/	 
(0011) void delay_ms(unsigned int time)
(0012) 	 {
    003D C005      RJMP	0x0043
(0013) 	  while(time!=0)
(0014) 	  	  {		
(0015) 		   delay_us(1250);
    003E EE02      LDI	R16,0xE2
    003F E014      LDI	R17,4
    0040 DFF2      RCALL	_delay_us
(0016) 		   time--;
    0041 5041      SUBI	R20,1
    0042 4050      SBCI	R21,0
    0043 3040      CPI	R20,0
    0044 0745      CPC	R20,R21
    0045 F7C1      BNE	0x003E
    0046 D058      RCALL	pop_gset1
    0047 9508      RET
(0017) 		  }
(0018) 	 }					
(0019) void delay(void)
(0020) {
(0021)   char x,y;
(0022)   for(x=1;x>0;x--)
_delay:
  x                    --> R16
  y                    --> R18
    0048 E001      LDI	R16,1
    0049 C007      RJMP	0x0051
(0023)   for(y=1;y>0;y--);
    004A E021      LDI	R18,1
    004B C001      RJMP	0x004D
    004C 952A      DEC	R18
    004D 2422      CLR	R2
    004E 1622      CP	R2,R18
    004F F3E0      BCS	0x004C
    0050 950A      DEC	R16
    0051 2422      CLR	R2
    0052 1620      CP	R2,R16
    0053 F3B0      BCS	0x004A
    0054 9508      RET
(0024) 
(0025) }
(0026) void main(void)
(0027) 	 {
(0028) 	 int a;
(0029) 	 DDRB=0xff;
_main:
  a                    --> Y+1
    0055 EF8F      LDI	R24,0xFF
    0056 BB87      OUT	0x17,R24
(0030) 	 PORTB=0;
    0057 2422      CLR	R2
    0058 BA28      OUT	0x18,R2
(0031) 	 DDRD=0xf0;
    0059 EF80      LDI	R24,0xF0
    005A BB81      OUT	0x11,R24
(0032) 	 PORTD=0xff;
    005B EF8F      LDI	R24,0xFF
    005C BB82      OUT	0x12,R24
(0033) 	 delay_ms(3);
    005D E003      LDI	R16,3
    005E E010      LDI	R17,0
    005F DFDB      RCALL	_delay_ms
(0034) 	 PORTB=0b00011010;
    0060 E18A      LDI	R24,0x1A
    0061 BB88      OUT	0x18,R24
(0035) 	  delay_ms(3);
    0062 E003      LDI	R16,3
    0063 E010      LDI	R17,0
    0064 DFD6      RCALL	_delay_ms
    0065 C02C      RJMP	0x0092
(0036) 	  while(1)
(0037) 	  	   {
(0038) 		   if((PIND&0x01)==1)
    0066 B380      IN	R24,0x10
    0067 7081      ANDI	R24,1
    0068 3081      CPI	R24,1
    0069 F541      BNE	0x0092
(0039) 		   {
(0040) 		   delay_ms(1); 
    006A E001      LDI	R16,1
    006B E010      LDI	R17,0
    006C DFCE      RCALL	_delay_ms
(0041) 		   PORTB=0b00011000;
    006D E188      LDI	R24,0x18
    006E BB88      OUT	0x18,R24
(0042) 		   delay_ms(1); 
    006F E001      LDI	R16,1
    0070 E010      LDI	R17,0
    0071 DFC9      RCALL	_delay_ms
(0043) 		   PORTB=0b11100001;
    0072 EE81      LDI	R24,0xE1
    0073 BB88      OUT	0x18,R24
(0044) 		   delay_ms(1);
    0074 E001      LDI	R16,1
    0075 E010      LDI	R17,0
    0076 DFC4      RCALL	_delay_ms
(0045) 		   PORTB=0b00011100;
    0077 E18C      LDI	R24,0x1C
    0078 BB88      OUT	0x18,R24
(0046) 		   delay_ms(1); 
    0079 E001      LDI	R16,1
    007A E010      LDI	R17,0
    007B DFBF      RCALL	_delay_ms
(0047) 		   PORTB=0b11100001;
    007C EE81      LDI	R24,0xE1
    007D BB88      OUT	0x18,R24
(0048) 		   delay_ms(1);
    007E E001      LDI	R16,1
    007F E010      LDI	R17,0
    0080 DFBA      RCALL	_delay_ms
(0049) 		   PORTB=0b00011110;
    0081 E18E      LDI	R24,0x1E
    0082 BB88      OUT	0x18,R24
(0050) 		   delay_ms(1); 
    0083 E001      LDI	R16,1
    0084 E010      LDI	R17,0
    0085 DFB5      RCALL	_delay_ms
(0051) 		   PORTB=0b11100001;
    0086 EE81      LDI	R24,0xE1
    0087 BB88      OUT	0x18,R24
(0052) 		   delay_ms(1);
    0088 E001      LDI	R16,1
    0089 E010      LDI	R17,0
    008A DFB0      RCALL	_delay_ms
(0053) 		   PORTB=0b00011010;
    008B E18A      LDI	R24,0x1A
    008C BB88      OUT	0x18,R24
(0054) 		   delay_ms(1); 
    008D E001      LDI	R16,1
    008E E010      LDI	R17,0
    008F DFAB      RCALL	_delay_ms
(0055) 		   PORTB=0b11100001;
FILE: <library>
    0090 EE81      LDI	R24,0xE1
    0091 BB88      OUT	0x18,R24
    0092 CFD3      RJMP	0x0066
    0093 9508      RET
push_gset5:
    0094 92FA      ST	R15,-Y
    0095 92EA      ST	R14,-Y
push_gset4:
    0096 92DA      ST	R13,-Y
    0097 92CA      ST	R12,-Y
push_gset3:
    0098 92BA      ST	R11,-Y
    0099 92AA      ST	R10,-Y
push_gset2:
    009A 937A      ST	R23,-Y
    009B 936A      ST	R22,-Y
push_gset1:
    009C 935A      ST	R21,-Y
    009D 934A      ST	R20,-Y
    009E 9508      RET
pop_gset1:
    009F E0E1      LDI	R30,1
pop:
    00A0 9149      LD	R20,Y+
    00A1 9159      LD	R21,Y+
    00A2 FDE0      SBRC	R30,0
    00A3 9508      RET
    00A4 9169      LD	R22,Y+
    00A5 9179      LD	R23,Y+
    00A6 FDE1      SBRC	R30,1
    00A7 9508      RET
    00A8 90A9      LD	R10,Y+
    00A9 90B9      LD	R11,Y+
    00AA FDE2      SBRC	R30,2
    00AB 9508      RET
    00AC 90C9      LD	R12,Y+
    00AD 90D9      LD	R13,Y+
    00AE FDE3      SBRC	R30,3
    00AF 9508      RET
    00B0 90E9      LD	R14,Y+
    00B1 90F9      LD	R15,Y+
    00B2 9508      RET

⌨️ 快捷键说明

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