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

📄 main.lst

📁 我写的L297步进电机的驱动
💻 LST
字号:
NO DEBUG INFORMATION AVAILABLE!
__start:
__text_start:
    0032 E5CF      LDI	R28,0x5F
    0033 E0D4      LDI	R29,4
    0034 BFCD      OUT	0x3D,R28
    0035 BFDE      OUT	0x3E,R29
    0036 51C0      SUBI	R28,0x10
    0037 40D0      SBCI	R29,0
    0038 EA0A      LDI	R16,0xAA
    0039 8308      STD	Y+0,R16
    003A 2400      CLR	R0
    003B E7E0      LDI	R30,0x70
    003C E0F0      LDI	R31,0
    003D E010      LDI	R17,0
    003E 37E0      CPI	R30,0x70
    003F 07F1      CPC	R31,R17
    0040 F011      BEQ	0x0043
    0041 9201      ST	R0,Z+
    0042 CFFB      RJMP	0x003E
    0043 8300      STD	Z+0,R16
    0044 E5E4      LDI	R30,0x54
    0045 E0F0      LDI	R31,0
    0046 E6A0      LDI	R26,0x60
    0047 E0B0      LDI	R27,0
    0048 E010      LDI	R17,0
    0049 36E4      CPI	R30,0x64
    004A 07F1      CPC	R31,R17
    004B F021      BEQ	0x0050
    004C 95C8      LPM
    004D 9631      ADIW	R30,1
    004E 920D      ST	R0,X+
    004F CFF9      RJMP	0x0049
    0050 940E014C  CALL	_main
_exit:
    0052 CFFF      RJMP	_exit
_delay_1us:
    0053 0000      NOP
    0054 9508      RET
_delay_nus:
    0055 940E0198  CALL	push_gset2
    0057 01B8      MOVW	R22,R16
    0058 2744      CLR	R20
    0059 2755      CLR	R21
    005A C003      RJMP	0x005E
    005B DFF7      RCALL	_delay_1us
    005C 5F4F      SUBI	R20,0xFF
    005D 4F5F      SBCI	R21,0xFF
    005E 1746      CP	R20,R22
    005F 0757      CPC	R21,R23
    0060 F3D0      BCS	0x005B
    0061 940E018C  CALL	pop_gset2
    0063 9508      RET
_delay_1ms:
    0064 2700      CLR	R16
    0065 2711      CLR	R17
    0066 C002      RJMP	0x0069
    0067 5F0F      SUBI	R16,0xFF
    0068 4F1F      SBCI	R17,0xFF
    0069 3704      CPI	R16,0x74
    006A E0E4      LDI	R30,4
    006B 071E      CPC	R17,R30
    006C F3D0      BCS	0x0067
    006D 9508      RET
_delay_nms:
    006E 940E0198  CALL	push_gset2
    0070 01B8      MOVW	R22,R16
    0071 2744      CLR	R20
    0072 2755      CLR	R21
    0073 C003      RJMP	0x0077
    0074 DFEF      RCALL	_delay_1ms
    0075 5F4F      SUBI	R20,0xFF
    0076 4F5F      SBCI	R21,0xFF
    0077 1746      CP	R20,R22
    0078 0757      CPC	R21,R23
    0079 F3D0      BCS	0x0074
    007A 940E018C  CALL	pop_gset2
    007C 9508      RET
_LCD_init:
    007D B38A      IN	R24,0x1A
    007E 6F80      ORI	R24,0xF0
    007F BB8A      OUT	0x1A,R24
    0080 9AA7      SBI	0x14,7
    0081 9AA6      SBI	0x14,6
    0082 E208      LDI	R16,0x28
    0083 D014      RCALL	_LCD_write_command
    0084 D00D      RCALL	_LCD_en_write
    0085 E208      LDI	R16,0x28
    0086 E010      LDI	R17,0
    0087 DFCD      RCALL	_delay_nus
    0088 E208      LDI	R16,0x28
    0089 D00E      RCALL	_LCD_write_command
    008A E00C      LDI	R16,0xC
    008B D00C      RCALL	_LCD_write_command
    008C E001      LDI	R16,1
    008D D00A      RCALL	_LCD_write_command
    008E E002      LDI	R16,2
    008F E010      LDI	R17,0
    0090 DFDD      RCALL	_delay_nms
    0091 9508      RET
_LCD_en_write:
    0092 9AAF      SBI	0x15,7
    0093 E001      LDI	R16,1
    0094 E010      LDI	R17,0
    0095 DFBF      RCALL	_delay_nus
    0096 98AF      CBI	0x15,7
    0097 9508      RET
_LCD_write_command:
    0098 940E019A  CALL	push_gset1
    009A 2F40      MOV	R20,R16
    009B E100      LDI	R16,0x10
    009C E010      LDI	R17,0
    009D DFB7      RCALL	_delay_nus
    009E 98AE      CBI	0x15,6
    009F B38B      IN	R24,0x1B
    00A0 708F      ANDI	R24,0xF
    00A1 BB8B      OUT	0x1B,R24
    00A2 2F84      MOV	R24,R20
    00A3 7F80      ANDI	R24,0xF0
    00A4 B22B      IN	R2,0x1B
    00A5 2A28      OR	R2,R24
    00A6 BA2B      OUT	0x1B,R2
    00A7 DFEA      RCALL	_LCD_en_write
    00A8 2F84      MOV	R24,R20
    00A9 708F      ANDI	R24,0xF
    00AA 9582      SWAP	R24
    00AB 2F48      MOV	R20,R24
    00AC B38B      IN	R24,0x1B
    00AD 708F      ANDI	R24,0xF
    00AE BB8B      OUT	0x1B,R24
    00AF 2F84      MOV	R24,R20
    00B0 7F80      ANDI	R24,0xF0
    00B1 B22B      IN	R2,0x1B
    00B2 2A28      OR	R2,R24
    00B3 BA2B      OUT	0x1B,R2
    00B4 DFDD      RCALL	_LCD_en_write
    00B5 940E019D  CALL	pop_gset1
    00B7 9508      RET
_LCD_write_data:
    00B8 940E019A  CALL	push_gset1
    00BA 2F40      MOV	R20,R16
    00BB E100      LDI	R16,0x10
    00BC E010      LDI	R17,0
    00BD DF97      RCALL	_delay_nus
    00BE 9AAE      SBI	0x15,6
    00BF B38B      IN	R24,0x1B
    00C0 708F      ANDI	R24,0xF
    00C1 BB8B      OUT	0x1B,R24
    00C2 2F84      MOV	R24,R20
    00C3 7F80      ANDI	R24,0xF0
    00C4 B22B      IN	R2,0x1B
    00C5 2A28      OR	R2,R24
    00C6 BA2B      OUT	0x1B,R2
    00C7 DFCA      RCALL	_LCD_en_write
    00C8 2F84      MOV	R24,R20
    00C9 708F      ANDI	R24,0xF
    00CA 9582      SWAP	R24
    00CB 2F48      MOV	R20,R24
    00CC B38B      IN	R24,0x1B
    00CD 708F      ANDI	R24,0xF
    00CE BB8B      OUT	0x1B,R24
    00CF 2F84      MOV	R24,R20
    00D0 7F80      ANDI	R24,0xF0
    00D1 B22B      IN	R2,0x1B
    00D2 2A28      OR	R2,R24
    00D3 BA2B      OUT	0x1B,R2
    00D4 DFBD      RCALL	_LCD_en_write
    00D5 940E019D  CALL	pop_gset1
    00D7 9508      RET
_LCD_set_xy:
    00D8 940E0198  CALL	push_gset2
    00DA 2F42      MOV	R20,R18
    00DB 2F60      MOV	R22,R16
    00DC 2344      TST	R20
    00DD F419      BNE	0x00E1
    00DE 2F46      MOV	R20,R22
    00DF 5840      SUBI	R20,0x80
    00E0 C002      RJMP	0x00E3
    00E1 2F46      MOV	R20,R22
    00E2 5440      SUBI	R20,0x40
    00E3 2F04      MOV	R16,R20
    00E4 DFB3      RCALL	_LCD_write_command
    00E5 940E018C  CALL	pop_gset2
    00E7 9508      RET
_LCD_write_string:
    00E8 940E0196  CALL	push_gset3
    00EA 2EA2      MOV	R10,R18
    00EB 2F60      MOV	R22,R16
    00EC 814E      LDD	R20,Y+6
    00ED 815F      LDD	R21,Y+7
    00EE 2D2A      MOV	R18,R10
    00EF 2F06      MOV	R16,R22
    00F0 DFE7      RCALL	_LCD_set_xy
    00F1 C005      RJMP	0x00F7
    00F2 01FA      MOVW	R30,R20
    00F3 8100      LDD	R16,Z+0
    00F4 DFC3      RCALL	_LCD_write_data
    00F5 5F4F      SUBI	R20,0xFF
    00F6 4F5F      SBCI	R21,0xFF
    00F7 01FA      MOVW	R30,R20
    00F8 8020      LDD	R2,Z+0
    00F9 2022      TST	R2
    00FA F7B9      BNE	0x00F2
    00FB 940E018F  CALL	pop_gset3
    00FD 9508      RET
_LCD_write_char:
    00FE 940E0198  CALL	push_gset2
    0100 2F62      MOV	R22,R18
    0101 2F40      MOV	R20,R16
    0102 2F26      MOV	R18,R22
    0103 2F04      MOV	R16,R20
    0104 DFD3      RCALL	_LCD_set_xy
    0105 810C      LDD	R16,Y+4
    0106 DFB1      RCALL	_LCD_write_data
    0107 940E018C  CALL	pop_gset2
    0109 9508      RET
_change:
    010A 940E0198  CALL	push_gset2
    010C 01A9      MOVW	R20,R18
    010D 01B8      MOVW	R22,R16
    010E E02A      LDI	R18,0xA
    010F E030      LDI	R19,0
    0110 018B      MOVW	R16,R22
    0111 940E0170  CALL	mod16u
    0113 01C8      MOVW	R24,R16
    0114 96C0      ADIW	R24,0x30
    0115 01FA      MOVW	R30,R20
    0116 8383      STD	Z+3,R24
    0117 E02A      LDI	R18,0xA
    0118 E030      LDI	R19,0
    0119 018B      MOVW	R16,R22
    011A 940E0172  CALL	div16u
    011C E02A      LDI	R18,0xA
    011D E030      LDI	R19,0
    011E 940E0170  CALL	mod16u
    0120 01C8      MOVW	R24,R16
    0121 96C0      ADIW	R24,0x30
    0122 01FA      MOVW	R30,R20
    0123 8382      STD	Z+2,R24
    0124 E624      LDI	R18,0x64
    0125 E030      LDI	R19,0
    0126 018B      MOVW	R16,R22
    0127 940E0172  CALL	div16u
    0129 E02A      LDI	R18,0xA
    012A E030      LDI	R19,0
    012B 940E0170  CALL	mod16u
    012D 01C8      MOVW	R24,R16
    012E 96C0      ADIW	R24,0x30
    012F 01FA      MOVW	R30,R20
    0130 8381      STD	Z+1,R24
    0131 EE28      LDI	R18,0xE8
    0132 E033      LDI	R19,3
    0133 018B      MOVW	R16,R22
    0134 940E0172  CALL	div16u
    0136 E02A      LDI	R18,0xA
    0137 E030      LDI	R19,0
    0138 940E0170  CALL	mod16u
    013A 01C8      MOVW	R24,R16
    013B 96C0      ADIW	R24,0x30
    013C 01FA      MOVW	R30,R20
    013D 8380      STD	Z+0,R24
    013E 940E018C  CALL	pop_gset2
    0140 9508      RET
_ADC_convert:
    0141 B124      IN	R18,0x04
    0142 2733      CLR	R19
    0143 B105      IN	R16,0x05
    0144 2711      CLR	R17
    0145 0118      MOVW	R2,R16
    0146 2C32      MOV	R3,R2
    0147 2422      CLR	R2
    0148 0E22      ADD	R2,R18
    0149 1E33      ADC	R3,R19
    014A 0181      MOVW	R16,R2
    014B 9508      RET
_main:
    014C 9722      SBIW	R28,2
    014D 2422      CLR	R2
    014E BA2A      OUT	0x1A,R2
    014F E081      LDI	R24,1
    0150 BB8B      OUT	0x1B,R24
    0151 DF2B      RCALL	_LCD_init
    0152 EC80      LDI	R24,0xC0
    0153 B987      OUT	0x07,R24
    0154 EE87      LDI	R24,0xE7
    0155 B986      OUT	0x06,R24
    0156 E604      LDI	R16,0x64
    0157 E010      LDI	R17,0
    0158 DF15      RCALL	_delay_nms
    0159 C013      RJMP	0x016D
    015A DFE6      RCALL	_ADC_convert
    015B 01A8      MOVW	R20,R16
    015C E620      LDI	R18,0x60
    015D E030      LDI	R19,0
    015E DFAB      RCALL	_change
    015F E685      LDI	R24,0x65
    0160 E090      LDI	R25,0
    0161 8399      STD	Y+1,R25
    0162 8388      STD	Y+0,R24
    0163 2722      CLR	R18
    0164 E004      LDI	R16,4
    0165 DF82      RCALL	_LCD_write_string
    0166 E680      LDI	R24,0x60
    0167 E090      LDI	R25,0
    0168 8399      STD	Y+1,R25
    0169 8388      STD	Y+0,R24
    016A E021      LDI	R18,1
    016B E006      LDI	R16,6
    016C DF7B      RCALL	_LCD_write_string
    016D CFEC      RJMP	0x015A
    016E 9622      ADIW	R28,2
    016F 9508      RET
mod16u:
    0170 9468      BSET	6
    0171 C001      RJMP	xdiv16u
div16u:
    0172 94E8      BCLR	6
xdiv16u:
    0173 92EA      ST	R14,-Y
    0174 92FA      ST	R15,-Y
    0175 938A      ST	R24,-Y
    0176 24EE      CLR	R14
    0177 24FF      CLR	R15
    0178 E180      LDI	R24,0x10
    0179 0F00      LSL	R16
    017A 1F11      ROL	R17
    017B 1CEE      ROL	R14
    017C 1CFF      ROL	R15
    017D 16E2      CP	R14,R18
    017E 06F3      CPC	R15,R19
    017F F018      BCS	0x0183
    0180 1AE2      SUB	R14,R18
    0181 0AF3      SBC	R15,R19
    0182 9503      INC	R16
    0183 958A      DEC	R24
    0184 F7A1      BNE	0x0179
    0185 F416      BRTC	0x0188
    0186 2D0E      MOV	R16,R14
    0187 2D1F      MOV	R17,R15
    0188 9189      LD	R24,Y+
    0189 90F9      LD	R15,Y+
    018A 90E9      LD	R14,Y+
    018B 9508      RET
pop_gset2:
    018C E0E2      LDI	R30,2
    018D 940C019E  JMP	pop
pop_gset3:
    018F E0E4      LDI	R30,4
    0190 940C019E  JMP	pop
push_gset5:
    0192 92FA      ST	R15,-Y
    0193 92EA      ST	R14,-Y
push_gset4:
    0194 92DA      ST	R13,-Y
    0195 92CA      ST	R12,-Y
push_gset3:
    0196 92BA      ST	R11,-Y
    0197 92AA      ST	R10,-Y
push_gset2:
    0198 937A      ST	R23,-Y
    0199 936A      ST	R22,-Y
push_gset1:
    019A 935A      ST	R21,-Y
    019B 934A      ST	R20,-Y
    019C 9508      RET
pop_gset1:
    019D E0E1      LDI	R30,1
pop:
    019E 9149      LD	R20,Y+
    019F 9159      LD	R21,Y+
    01A0 FDE0      SBRC	R30,0
    01A1 9508      RET
    01A2 9169      LD	R22,Y+
    01A3 9179      LD	R23,Y+
    01A4 FDE1      SBRC	R30,1
    01A5 9508      RET
    01A6 90A9      LD	R10,Y+
    01A7 90B9      LD	R11,Y+
    01A8 FDE2      SBRC	R30,2
    01A9 9508      RET
    01AA 90C9      LD	R12,Y+
    01AB 90D9      LD	R13,Y+
    01AC FDE3      SBRC	R30,3
    01AD 9508      RET
    01AE 90E9      LD	R14,Y+
    01AF 90F9      LD	R15,Y+
    01B0 9508      RET

⌨️ 快捷键说明

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