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

📄 dtm48-td.lst

📁 M48做的航模用直流电机调速器
💻 LST
📖 第 1 页 / 共 2 页
字号:
    010D 90300101  LDS	R3,mark+1
    010F 1502      CP	R16,R2
    0110 0513      CPC	R17,R3
    0111 F44C      BGE	0x011B
(0165)   {
(0166)   flag=0;
    0112 2422      CLR	R2
    0113 92200106  STS	flag,R2
(0167)   bc=mark-bb;
    0115 91400100  LDS	R20,mark
    0117 91500101  LDS	R21,mark+1
    0119 1B40      SUB	R20,R16
    011A 0B51      SBC	R21,R17
(0168)   }    
(0169)  if(bc<=25) { LED1; }  else { LED0; }   
    011B E189      LDI	R24,0x19
    011C E090      LDI	R25,0
    011D 1784      CP	R24,R20
    011E 0795      CPC	R25,R21
    011F F014      BLT	0x0122
    0120 9A2B      SBI	0x05,3
    0121 C001      RJMP	0x0123
    0122 982B      CBI	0x05,3
(0170)  if(bc<=50)  return(0);
    0123 E382      LDI	R24,0x32
    0124 E090      LDI	R25,0
    0125 1784      CP	R24,R20
    0126 0795      CPC	R25,R21
    0127 F01C      BLT	0x012B
    0128 2700      CLR	R16
    0129 2711      CLR	R17
    012A C00A      RJMP	0x0135
(0171)  if(bc>=305)  return(255);
    012B 3341      CPI	R20,0x31
    012C E0E1      LDI	R30,1
    012D 075E      CPC	R21,R30
    012E F01C      BLT	0x0132
    012F EF0F      LDI	R16,0xFF
    0130 E010      LDI	R17,0
    0131 C003      RJMP	0x0135
(0172)  else return(bc-50);
    0132 018A      MOVW	R16,R20
    0133 5302      SUBI	R16,0x32
    0134 4010      SBCI	R17,0
    0135 D0B4      RCALL	pop_gset1
    0136 9508      RET
(0173) }
(0174) 
(0175) void cy(void)
(0176) {
(0177)  if(!(PINC&0x04))
_cy:
    0137 9932      SBIC	0x06,2
    0138 C016      RJMP	0x014F
(0178)    { 
(0179)    TCNT1=0; 
    0139 2422      CLR	R2
    013A 2433      CLR	R3
    013B 92300085  STS	0x85,R3
    013D 92200084  STS	0x84,R2
    013F C001      RJMP	0x0141
(0180)    while(!(PINC&0x04)) WDR();
    0140 95A8      WDR
    0141 9B32      SBIS	0x06,2
    0142 CFFD      RJMP	0x0140
(0181)    aa=TCNT1;
    0143 90200084  LDS	R2,0x84
    0145 90300085  LDS	R3,0x85
    0147 9230010B  STS	aa+1,R3
    0149 9220010A  STS	aa,R2
(0182)    zb=fenc(aa);
    014B 0181      MOVW	R16,R2
    014C DF9B      RCALL	_fenc
    014D 93000104  STS	zb,R16
(0183)    }
    014F 9508      RET
_main:
  tr                   --> Y+3
    0150 9722      SBIW	R28,2
(0184) }
(0185) 
(0186) void main(void)
(0187) {
(0188) unit tr;
(0189) EEPROM_READ(0x10,ai);//校正振荡频率
    0151 E082      LDI	R24,2
    0152 E090      LDI	R25,0
    0153 8399      STD	Y+1,R25
    0154 8388      STD	Y+0,R24
    0155 E02C      LDI	R18,0xC
    0156 E031      LDI	R19,1
    0157 E100      LDI	R16,0x10
    0158 E010      LDI	R17,0
    0159 D0B8      RCALL	_EEPROMReadBytes_extIO
(0190) OSCCAL=ai;
    015A 9020010C  LDS	R2,ai
    015C 9030010D  LDS	R3,ai+1
    015E 92200066  STS	0x66,R2
(0191) init_devices();
    0160 DF17      RCALL	_init_devices
(0192) 
(0193) EEPROM_READ(0x112,ai);   
    0161 E082      LDI	R24,2
    0162 E090      LDI	R25,0
    0163 8399      STD	Y+1,R25
    0164 8388      STD	Y+0,R24
    0165 E02C      LDI	R18,0xC
    0166 E031      LDI	R19,1
    0167 E102      LDI	R16,0x12
    0168 E011      LDI	R17,1
    0169 D0A8      RCALL	_EEPROMReadBytes_extIO
(0194) 
(0195) 
(0196) if(ai==0xFFFF)
    016A 9180010C  LDS	R24,ai
    016C 9190010D  LDS	R25,ai+1
    016E 3F8F      CPI	R24,0xFF
    016F EFEF      LDI	R30,0xFF
    0170 079E      CPC	R25,R30
    0171 F4F1      BNE	0x0190
(0197) {
(0198) mark=1500;   //0xD805
    0172 ED8C      LDI	R24,0xDC
    0173 E095      LDI	R25,5
    0174 93900101  STS	mark+1,R25
    0176 93800100  STS	mark,R24
(0199) EEPROM_WRITE(0x110,mark);    
    0178 E082      LDI	R24,2
    0179 E090      LDI	R25,0
    017A 8399      STD	Y+1,R25
    017B 8388      STD	Y+0,R24
    017C E020      LDI	R18,0
    017D E031      LDI	R19,1
    017E E100      LDI	R16,0x10
    017F E011      LDI	R17,1
    0180 D0B2      RCALL	_EEPROMWriteBytes_extIO
(0200) aa=0;
    0181 2422      CLR	R2
    0182 2433      CLR	R3
    0183 9230010B  STS	aa+1,R3
    0185 9220010A  STS	aa,R2
(0201) EEPROM_WRITE(0x112,aa);
    0187 E082      LDI	R24,2
    0188 E090      LDI	R25,0
    0189 8399      STD	Y+1,R25
    018A 8388      STD	Y+0,R24
    018B E02A      LDI	R18,0xA
    018C E031      LDI	R19,1
    018D E102      LDI	R16,0x12
    018E E011      LDI	R17,1
    018F D0A3      RCALL	_EEPROMWriteBytes_extIO
(0202) }
(0203) EEPROM_READ(0x110,mark);
    0190 E082      LDI	R24,2
    0191 E090      LDI	R25,0
    0192 8399      STD	Y+1,R25
    0193 8388      STD	Y+0,R24
    0194 E020      LDI	R18,0
    0195 E031      LDI	R19,1
    0196 E100      LDI	R16,0x10
    0197 E011      LDI	R17,1
    0198 D079      RCALL	_EEPROMReadBytes_extIO
    0199 C03E      RJMP	0x01D8
(0204) 
(0205) 
(0206) while(1)
(0207) {
(0208) 
(0209) //cy();
(0210) 
(0211)  if(!(PINC&0x04))
    019A 9932      SBIC	0x06,2
    019B C014      RJMP	0x01B0
(0212)    { 
(0213)    TCNT1=0; 
    019C 2422      CLR	R2
    019D 2433      CLR	R3
    019E 92300085  STS	0x85,R3
    01A0 92200084  STS	0x84,R2
(0214)    while(!(PINC&0x04)) ;
    01A2 9B32      SBIS	0x06,2
    01A3 CFFE      RJMP	0x01A2
(0215)    aa=TCNT1;
    01A4 90200084  LDS	R2,0x84
    01A6 90300085  LDS	R3,0x85
    01A8 9230010B  STS	aa+1,R3
    01AA 9220010A  STS	aa,R2
(0216)    zb=fenc(aa);
    01AC 0181      MOVW	R16,R2
    01AD DF3A      RCALL	_fenc
    01AE 93000104  STS	zb,R16
(0217)    }
(0218) 
(0219) WDR();
    01B0 95A8      WDR
(0220) 
(0221) if(!(PINB&0x20))
    01B1 991D      SBIC	0x03,5
    01B2 C025      RJMP	0x01D8
(0222)  { 
(0223)  delay(300);
    01B3 E20C      LDI	R16,0x2C
    01B4 E011      LDI	R17,1
    01B5 DEF1      RCALL	_delay
(0224)  if(!(PINB&0x20))
    01B6 991D      SBIC	0x03,5
    01B7 C020      RJMP	0x01D8
(0225)   { 
(0226)   cy();
    01B8 DF7E      RCALL	_cy
(0227)   WDR();
    01B9 95A8      WDR
(0228)   LED1;
    01BA 9A2B      SBI	0x05,3
(0229)   delay(10);
    01BB E00A      LDI	R16,0xA
    01BC E010      LDI	R17,0
    01BD DEE9      RCALL	_delay
(0230)   mark=aa;  EEPROM_WRITE(0x110,mark);
    01BE 9020010A  LDS	R2,aa
    01C0 9030010B  LDS	R3,aa+1
    01C2 92300101  STS	mark+1,R3
    01C4 92200100  STS	mark,R2
    01C6 E082      LDI	R24,2
    01C7 E090      LDI	R25,0
    01C8 8399      STD	Y+1,R25
    01C9 8388      STD	Y+0,R24
    01CA E020      LDI	R18,0
    01CB E031      LDI	R19,1
    01CC E100      LDI	R16,0x10
    01CD E011      LDI	R17,1
    01CE D064      RCALL	_EEPROMWriteBytes_extIO
(0231)   j10;j20;j30;j40;
    01CF 9859      CBI	0x0B,1
    01D0 985C      CBI	0x0B,4
    01D1 982E      CBI	0x05,6
    01D2 985E      CBI	0x0B,6
(0232)   CLI();
    01D3 94F8      BCLR	7
(0233)   delay(500);
    01D4 EF04      LDI	R16,0xF4
    01D5 E011      LDI	R17,1
    01D6 DED0      RCALL	_delay
(0234)   SEI();
FILE: <library>
    01D7 9478      BSET	7
    01D8 CFC1      RJMP	0x019A
    01D9 9622      ADIW	R28,2
    01DA 9508      RET
pop_gset2:
    01DB E0E2      LDI	R30,2
    01DC C00E      RJMP	pop
pop_gset4:
    01DD E0E8      LDI	R30,0x8
    01DE C00C      RJMP	pop
push_gset5:
    01DF 92FA      ST	R15,-Y
    01E0 92EA      ST	R14,-Y
push_gset4:
    01E1 92DA      ST	R13,-Y
    01E2 92CA      ST	R12,-Y
push_gset3:
    01E3 92BA      ST	R11,-Y
    01E4 92AA      ST	R10,-Y
push_gset2:
    01E5 937A      ST	R23,-Y
    01E6 936A      ST	R22,-Y
push_gset1:
    01E7 935A      ST	R21,-Y
    01E8 934A      ST	R20,-Y
    01E9 9508      RET
pop_gset1:
    01EA E0E1      LDI	R30,1
pop:
    01EB 9149      LD	R20,Y+
    01EC 9159      LD	R21,Y+
    01ED FDE0      SBRC	R30,0
    01EE 9508      RET
    01EF 9169      LD	R22,Y+
    01F0 9179      LD	R23,Y+
    01F1 FDE1      SBRC	R30,1
    01F2 9508      RET
    01F3 90A9      LD	R10,Y+
    01F4 90B9      LD	R11,Y+
    01F5 FDE2      SBRC	R30,2
    01F6 9508      RET
    01F7 90C9      LD	R12,Y+
    01F8 90D9      LD	R13,Y+
    01F9 FDE3      SBRC	R30,3
    01FA 9508      RET
    01FB 90E9      LD	R14,Y+
    01FC 90F9      LD	R15,Y+
    01FD 9508      RET
_EEPROMread_extIO:
    01FE BD12      OUT	0x22,R17
    01FF BD01      OUT	0x21,R16
    0200 9AF8      SBI	0x1F,0
    0201 B500      IN	R16,0x20
    0202 9508      RET
_EEPROMwrite_extIO:
    0203 DFE3      RCALL	push_gset1
    0204 BD12      OUT	0x22,R17
    0205 BD01      OUT	0x21,R16
    0206 BD20      OUT	0x20,R18
    0207 B74F      IN	R20,0x3F
    0208 94F8      BCLR	7
    0209 9AFA      SBI	0x1F,2
    020A 9AF9      SBI	0x1F,1
    020B 99F9      SBIC	0x1F,1
    020C CFFE      RJMP	0x020B
    020D BF4F      OUT	0x3F,R20
    020E 2700      CLR	R16
    020F 2711      CLR	R17
    0210 DFD9      RCALL	pop_gset1
    0211 9508      RET
_EEPROMReadBytes_extIO:
    0212 DFCE      RCALL	push_gset4
    0213 2EC2      MOV	R12,R18
    0214 2ED3      MOV	R13,R19
    0215 2EA0      MOV	R10,R16
    0216 2EB1      MOV	R11,R17
    0217 8568      LDD	R22,Y+8
    0218 8579      LDD	R23,Y+9
    0219 2D4C      MOV	R20,R12
    021A 2D5D      MOV	R21,R13
    021B C00D      RJMP	0x0229
    021C 2D0A      MOV	R16,R10
    021D 2D1B      MOV	R17,R11
    021E DFDF      RCALL	_EEPROMread_extIO
    021F 2FE4      MOV	R30,R20
    0220 2FF5      MOV	R31,R21
    0221 8300      STD	Z+0,R16
    0222 2D8A      MOV	R24,R10
    0223 2D9B      MOV	R25,R11
    0224 9601      ADIW	R24,1
    0225 2EA8      MOV	R10,R24
    0226 2EB9      MOV	R11,R25
    0227 5F4F      SUBI	R20,0xFF
    0228 4F5F      SBCI	R21,0xFF
    0229 2E26      MOV	R2,R22
    022A 2E37      MOV	R3,R23
    022B 5061      SUBI	R22,1
    022C 4070      SBCI	R23,0
    022D 2022      TST	R2
    022E F769      BNE	0x021C
    022F 2033      TST	R3
    0230 F759      BNE	0x021C
    0231 DFAB      RCALL	pop_gset4
    0232 9508      RET
_EEPROMWriteBytes_extIO:
    0233 DFAD      RCALL	push_gset4
    0234 2EC2      MOV	R12,R18
    0235 2ED3      MOV	R13,R19
    0236 2EA0      MOV	R10,R16
    0237 2EB1      MOV	R11,R17
    0238 8568      LDD	R22,Y+8
    0239 8579      LDD	R23,Y+9
    023A 2D4C      MOV	R20,R12
    023B 2D5D      MOV	R21,R13
    023C C00D      RJMP	0x024A
    023D 2FE4      MOV	R30,R20
    023E 2FF5      MOV	R31,R21
    023F 8120      LDD	R18,Z+0
    0240 2D0A      MOV	R16,R10
    0241 2D1B      MOV	R17,R11
    0242 DFC0      RCALL	_EEPROMwrite_extIO
    0243 2D8A      MOV	R24,R10
    0244 2D9B      MOV	R25,R11
    0245 9601      ADIW	R24,1
    0246 2EA8      MOV	R10,R24
    0247 2EB9      MOV	R11,R25
    0248 5F4F      SUBI	R20,0xFF
    0249 4F5F      SBCI	R21,0xFF
    024A 2E26      MOV	R2,R22
    024B 2E37      MOV	R3,R23
    024C 5061      SUBI	R22,1
    024D 4070      SBCI	R23,0
    024E 2022      TST	R2
    024F F769      BNE	0x023D
    0250 2033      TST	R3
    0251 F759      BNE	0x023D
    0252 DF8A      RCALL	pop_gset4
    0253 9508      RET

⌨️ 快捷键说明

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