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

📄 dtm8-td.lis

📁 航模用AVR M48开发的无刷电调驱动
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01B8           L42:
 01B8                   .dbline 152
 01B8           ;  return(bc-50);
 01B8 8A01              movw R16,R20
 01BA 0253              subi R16,50
 01BC 1040              sbci R17,0
 01BE                   .dbline -2
 01BE           L30:
 01BE 00D0              rcall pop_gset1
 01C0                   .dbline 0 ; func end
 01C0 0895              ret
 01C2                   .dbsym r bc 20 I
 01C2                   .dbsym r bb 16 I
 01C2                   .dbend
 01C2                   .dbfunc e cy _cy fV
                        .even
 01C2           _cy::
 01C2                   .dbline -1
 01C2                   .dbline 156
 01C2           ; }
 01C2           ; 
 01C2           ; void cy(void)
 01C2           ; {
 01C2                   .dbline 157
 01C2           ;  if(!(PINC&0x04))
 01C2 9A99              sbic 0x13,2
 01C4 12C0              rjmp L45
 01C6                   .dbline 158
 01C6           ;    { 
 01C6                   .dbline 159
 01C6           ;    TCNT1=0; 
 01C6 2224              clr R2
 01C8 3324              clr R3
 01CA 3DBC              out 0x2d,R3
 01CC 2CBC              out 0x2c,R2
 01CE 01C0              rjmp L48
 01D0           L47:
 01D0                   .dbline 160
 01D0 A895              wdr
 01D2           L48:
 01D2                   .dbline 160
 01D2 9A9B              sbis 0x13,2
 01D4 FDCF              rjmp L47
 01D6                   .dbline 161
 01D6 2CB4              in R2,0x2c
 01D8 3DB4              in R3,0x2d
 01DA 30920900          sts _aa+1,R3
 01DE 20920800          sts _aa,R2
 01E2                   .dbline 162
 01E2 8101              movw R16,R2
 01E4 94DF              rcall _fenc
 01E6 00930200          sts _zb,R16
 01EA                   .dbline 163
 01EA           L45:
 01EA                   .dbline -2
 01EA           L44:
 01EA                   .dbline 0 ; func end
 01EA 0895              ret
 01EC                   .dbend
 01EC                   .dbfunc e main _main fV
                        .even
 01EC           _main::
 01EC 2297              sbiw R28,2
 01EE                   .dbline -1
 01EE                   .dbline 167
 01EE           ;    while(!(PINC&0x04)) WDR();
 01EE           ;    aa=TCNT1;
 01EE           ;    zb=fenc(aa);
 01EE           ;    }
 01EE           ; }
 01EE           ; 
 01EE           ; void main()
 01EE           ; {
 01EE                   .dbline 168
 01EE           ; EEPROM_READ(0x10,ai);//校正振荡频率
 01EE 82E0              ldi R24,2
 01F0 90E0              ldi R25,0
 01F2 9983              std y+1,R25
 01F4 8883              std y+0,R24
 01F6 20E0              ldi R18,<_ai
 01F8 30E0              ldi R19,>_ai
 01FA 00E1              ldi R16,16
 01FC 10E0              ldi R17,0
 01FE 00D0              rcall _EEPROMReadBytes
 0200                   .dbline 169
 0200           ; OSCCAL=ai;
 0200 20900A00          lds R2,_ai
 0204 30900B00          lds R3,_ai+1
 0208 21BE              out 0x31,R2
 020A                   .dbline 170
 020A           ; init_devices();
 020A 21DF              rcall _init_devices
 020C                   .dbline 172
 020C           ; 
 020C           ; EEPROM_READ(0x112,ai);   
 020C 82E0              ldi R24,2
 020E 90E0              ldi R25,0
 0210 9983              std y+1,R25
 0212 8883              std y+0,R24
 0214 20E0              ldi R18,<_ai
 0216 30E0              ldi R19,>_ai
 0218 02E1              ldi R16,274
 021A 11E0              ldi R17,1
 021C 00D0              rcall _EEPROMReadBytes
 021E                   .dbline 175
 021E           ; 
 021E           ; 
 021E           ; if(ai==0xFFFF)
 021E 80910A00          lds R24,_ai
 0222 90910B00          lds R25,_ai+1
 0226 8F3F              cpi R24,255
 0228 EFEF              ldi R30,255
 022A 9E07              cpc R25,R30
 022C F1F4              brne L51
 022E                   .dbline 176
 022E           ; {
 022E                   .dbline 177
 022E           ; mark=1500;   //0xD805
 022E 8CED              ldi R24,1500
 0230 95E0              ldi R25,5
 0232 90930100          sts _mark+1,R25
 0236 80930000          sts _mark,R24
 023A                   .dbline 178
 023A           ; EEPROM_WRITE(0x110,mark);    
 023A 82E0              ldi R24,2
 023C 90E0              ldi R25,0
 023E 9983              std y+1,R25
 0240 8883              std y+0,R24
 0242 20E0              ldi R18,<_mark
 0244 30E0              ldi R19,>_mark
 0246 00E1              ldi R16,272
 0248 11E0              ldi R17,1
 024A 00D0              rcall _EEPROMWriteBytes
 024C                   .dbline 179
 024C           ; aa=0;
 024C 2224              clr R2
 024E 3324              clr R3
 0250 30920900          sts _aa+1,R3
 0254 20920800          sts _aa,R2
 0258                   .dbline 180
 0258           ; EEPROM_WRITE(0x112,aa);
 0258 82E0              ldi R24,2
 025A 90E0              ldi R25,0
 025C 9983              std y+1,R25
 025E 8883              std y+0,R24
 0260 20E0              ldi R18,<_aa
 0262 30E0              ldi R19,>_aa
 0264 02E1              ldi R16,274
 0266 11E0              ldi R17,1
 0268 00D0              rcall _EEPROMWriteBytes
 026A                   .dbline 181
 026A           ; }
 026A           L51:
 026A                   .dbline 182
 026A           ; EEPROM_READ(0x110,mark);
 026A 82E0              ldi R24,2
 026C 90E0              ldi R25,0
 026E 9983              std y+1,R25
 0270 8883              std y+0,R24
 0272 20E0              ldi R18,<_mark
 0274 30E0              ldi R19,>_mark
 0276 00E1              ldi R16,272
 0278 11E0              ldi R17,1
 027A 00D0              rcall _EEPROMReadBytes
 027C 25C0              rjmp L54
 027E           L53:
 027E                   .dbline 186
 027E           ; 
 027E           ; 
 027E           ; while(1)
 027E           ; {
 027E                   .dbline 188
 027E           ; 
 027E           ; cy();
 027E A1DF              rcall _cy
 0280                   .dbline 189
 0280           ; WDR();
 0280 A895              wdr
 0282                   .dbline 192
 0282           ; 
 0282           ; 
 0282           ; if(!(PINB&0x20))
 0282 B599              sbic 0x16,5
 0284 21C0              rjmp L56
 0286                   .dbline 193
 0286           ;  { 
 0286                   .dbline 194
 0286           ;  delay(10);
 0286 0AE0              ldi R16,10
 0288 10E0              ldi R17,0
 028A FFDE              rcall _delay
 028C                   .dbline 195
 028C           ;  if(!(PINB&0x20))
 028C B599              sbic 0x16,5
 028E 1CC0              rjmp L58
 0290                   .dbline 196
 0290           ;   { 
 0290                   .dbline 197
 0290           ;   cy();
 0290 98DF              rcall _cy
 0292                   .dbline 198
 0292           ;   WDR();
 0292 A895              wdr
 0294                   .dbline 199
 0294           ;   LED1;
 0294 C39A              sbi 0x18,3
 0296                   .dbline 199
 0296                   .dbline 200
 0296           ;   delay(10);
 0296 0AE0              ldi R16,10
 0298 10E0              ldi R17,0
 029A F7DE              rcall _delay
 029C                   .dbline 201
 029C           ;   mark=aa;  EEPROM_WRITE(0x110,mark);
 029C 20900800          lds R2,_aa
 02A0 30900900          lds R3,_aa+1
 02A4 30920100          sts _mark+1,R3
 02A8 20920000          sts _mark,R2
 02AC                   .dbline 201
 02AC 82E0              ldi R24,2
 02AE 90E0              ldi R25,0
 02B0 9983              std y+1,R25
 02B2 8883              std y+0,R24
 02B4 20E0              ldi R18,<_mark
 02B6 30E0              ldi R19,>_mark
 02B8 00E1              ldi R16,272
 02BA 11E0              ldi R17,1
 02BC 00D0              rcall _EEPROMWriteBytes
 02BE                   .dbline 202
 02BE           ;   CLI();
 02BE F894              cli
 02C0                   .dbline 203
 02C0           ;   delay(500);
 02C0 04EF              ldi R16,500
 02C2 11E0              ldi R17,1
 02C4 E2DE              rcall _delay
 02C6                   .dbline 204
 02C6           ;   SEI();
 02C6 7894              sei
 02C8                   .dbline 205
 02C8           ;   }
 02C8           L58:
 02C8                   .dbline 206
 02C8           ;  }
 02C8           L56:
 02C8                   .dbline 208
 02C8           L54:
 02C8                   .dbline 185
 02C8 DACF              rjmp L53
 02CA           X0:
 02CA                   .dbline -2
 02CA           L50:
 02CA 2296              adiw R28,2
 02CC                   .dbline 0 ; func end
 02CC 0895              ret
 02CE                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\ele\AVR\ICC\diantiao\dtm8-td\dtm8-td.C
 0000           _pwm::
 0000                   .blkb 1
 0001                   .dbsym e pwm _pwm c
 0001           _mid::
 0001                   .blkb 1
 0002                   .dbsym e mid _mid c
 0002           _zb::
 0002                   .blkb 1
 0003                   .dbsym e zb _zb c
 0003           _flagh::
 0003                   .blkb 1
 0004                   .dbsym e flagh _flagh c
 0004           _flag::
 0004                   .blkb 1
 0005                   .dbsym e flag _flag c
 0005           _az::
 0005                   .blkb 1
 0006                   .dbsym e az _az c
 0006           _j::
 0006                   .blkb 1
 0007                   .dbsym e j _j c
 0007           _i::
 0007                   .blkb 1
 0008                   .dbsym e i _i c
 0008           _aa::
 0008                   .blkb 2
 000A                   .dbsym e aa _aa i
 000A           _ai::
 000A                   .blkb 2
 000C                   .dbsym e ai _ai i

⌨️ 快捷键说明

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