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

📄 main.lis

📁 一个关于AVR单片机的例程
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01DE 90E0              ldi R25,0
 01E0 8C15              cp R24,R12
 01E2 9D05              cpc R25,R13
 01E4 E8F4              brsh L57
 01E6                   .dbline 244
 01E6           ;  {
 01E6                   .dbline 245
 01E6           ;   tmp=(r%1000)/100;
 01E6 28EE              ldi R18,1000
 01E8 33E0              ldi R19,3
 01EA 8601              movw R16,R12
 01EC 0E940000          xcall mod16u
 01F0 24E6              ldi R18,100
 01F2 30E0              ldi R19,0
 01F4 0E940000          xcall div16u
 01F8 402F              mov R20,R16
 01FA                   .dbline 246
 01FA           ;   for(i=0;i<5;i++)
 01FA 6627              clr R22
 01FC 0FC0              xjmp L62
 01FE           L59:
 01FE                   .dbline 247
 01FE 21E0              ldi R18,1
 0200 85E0              ldi R24,5
 0202 849F              mul R24,R20
 0204 1001              movw R2,R0
 0206 80E0              ldi R24,<_FontLookup
 0208 90E0              ldi R25,>_FontLookup
 020A 280E              add R2,R24
 020C 391E              adc R3,R25
 020E E62F              mov R30,R22
 0210 FF27              clr R31
 0212 E20D              add R30,R2
 0214 F31D              adc R31,R3
 0216 0491              lpm R16,Z
 0218 AADF              xcall _LcdSend
 021A           L60:
 021A                   .dbline 246
 021A 6395              inc R22
 021C           L62:
 021C                   .dbline 246
 021C 6530              cpi R22,5
 021E 78F3              brlo L59
 0220                   .dbline 248
 0220           ;     LcdSend(FontLookup[tmp][i],1);
 0220           ;  }
 0220           L57:
 0220                   .dbline 249
 0220           ;  if(r >10)
 0220 8AE0              ldi R24,10
 0222 90E0              ldi R25,0
 0224 8C15              cp R24,R12
 0226 9D05              cpc R25,R13
 0228 E8F4              brsh L63
 022A                   .dbline 250
 022A           ;  {
 022A                   .dbline 251
 022A           ;   tmp=(r%100)/10;
 022A 24E6              ldi R18,100
 022C 30E0              ldi R19,0
 022E 8601              movw R16,R12
 0230 0E940000          xcall mod16u
 0234 2AE0              ldi R18,10
 0236 30E0              ldi R19,0
 0238 0E940000          xcall div16u
 023C 402F              mov R20,R16
 023E                   .dbline 252
 023E           ;   for(i=0;i<5;i++)
 023E 6627              clr R22
 0240 0FC0              xjmp L68
 0242           L65:
 0242                   .dbline 253
 0242 21E0              ldi R18,1
 0244 85E0              ldi R24,5
 0246 849F              mul R24,R20
 0248 1001              movw R2,R0
 024A 80E0              ldi R24,<_FontLookup
 024C 90E0              ldi R25,>_FontLookup
 024E 280E              add R2,R24
 0250 391E              adc R3,R25
 0252 E62F              mov R30,R22
 0254 FF27              clr R31
 0256 E20D              add R30,R2
 0258 F31D              adc R31,R3
 025A 0491              lpm R16,Z
 025C 88DF              xcall _LcdSend
 025E           L66:
 025E                   .dbline 252
 025E 6395              inc R22
 0260           L68:
 0260                   .dbline 252
 0260 6530              cpi R22,5
 0262 78F3              brlo L65
 0264                   .dbline 254
 0264           ;     LcdSend(FontLookup[tmp][i],1);
 0264           ;  }
 0264           L63:
 0264                   .dbline 256
 0264           ;  
 0264           ;  tmp=r%10;
 0264 2AE0              ldi R18,10
 0266 30E0              ldi R19,0
 0268 8601              movw R16,R12
 026A 0E940000          xcall mod16u
 026E 402F              mov R20,R16
 0270                   .dbline 258
 0270           ;  
 0270           ;  for(i=0;i<5;i++)
 0270 6627              clr R22
 0272 0FC0              xjmp L72
 0274           L69:
 0274                   .dbline 259
 0274 21E0              ldi R18,1
 0276 85E0              ldi R24,5
 0278 849F              mul R24,R20
 027A 1001              movw R2,R0
 027C 80E0              ldi R24,<_FontLookup
 027E 90E0              ldi R25,>_FontLookup
 0280 280E              add R2,R24
 0282 391E              adc R3,R25
 0284 E62F              mov R30,R22
 0286 FF27              clr R31
 0288 E20D              add R30,R2
 028A F31D              adc R31,R3
 028C 0491              lpm R16,Z
 028E 6FDF              xcall _LcdSend
 0290           L70:
 0290                   .dbline 258
 0290 6395              inc R22
 0292           L72:
 0292                   .dbline 258
 0292 6530              cpi R22,5
 0294 78F3              brlo L69
 0296                   .dbline 261
 0296           ;     LcdSend(FontLookup[tmp][i],1);
 0296           ;  // 小数点
 0296           ;   for(i=0;i<5;i++)
 0296 6627              clr R22
 0298 0AC0              xjmp L76
 029A           L73:
 029A                   .dbline 262
 029A 21E0              ldi R18,1
 029C 80E0              ldi R24,<_FontLookup+50
 029E 90E0              ldi R25,>_FontLookup+50
 02A0 E62F              mov R30,R22
 02A2 FF27              clr R31
 02A4 E80F              add R30,R24
 02A6 F91F              adc R31,R25
 02A8 0491              lpm R16,Z
 02AA 61DF              xcall _LcdSend
 02AC           L74:
 02AC                   .dbline 261
 02AC 6395              inc R22
 02AE           L76:
 02AE                   .dbline 261
 02AE 6530              cpi R22,5
 02B0 A0F3              brlo L73
 02B2                   .dbline 264
 02B2           ;     LcdSend(FontLookup[10][i],1);
 02B2           ;  //
 02B2           ;  for(i=0;i<5;i++)
 02B2 6627              clr R22
 02B4 16C0              xjmp L81
 02B6           L78:
 02B6                   .dbline 265
 02B6 21E0              ldi R18,1
 02B8 05E0              ldi R16,5
 02BA 10E0              ldi R17,0
 02BC 2F93              push R18
 02BE 3F93              push R19
 02C0 9501              movw R18,R10
 02C2 0E940000          xcall empy16s
 02C6 1801              movw R2,R16
 02C8 3F91              pop R19
 02CA 2F91              pop R18
 02CC 80E0              ldi R24,<_FontLookup
 02CE 90E0              ldi R25,>_FontLookup
 02D0 280E              add R2,R24
 02D2 391E              adc R3,R25
 02D4 E62F              mov R30,R22
 02D6 FF27              clr R31
 02D8 E20D              add R30,R2
 02DA F31D              adc R31,R3
 02DC 0491              lpm R16,Z
 02DE 47DF              xcall _LcdSend
 02E0           L79:
 02E0                   .dbline 264
 02E0 6395              inc R22
 02E2           L81:
 02E2                   .dbline 264
 02E2 6530              cpi R22,5
 02E4 40F3              brlo L78
 02E6                   .dbline 267
 02E6           ;     LcdSend(FontLookup[DOT][i],1);
 02E6           ;  //K
 02E6           ;   for(i=0;i<5;i++)
 02E6 6627              clr R22
 02E8 0AC0              xjmp L85
 02EA           L82:
 02EA                   .dbline 268
 02EA 21E0              ldi R18,1
 02EC 80E0              ldi R24,<_FontLookup+55
 02EE 90E0              ldi R25,>_FontLookup+55
 02F0 E62F              mov R30,R22
 02F2 FF27              clr R31
 02F4 E80F              add R30,R24
 02F6 F91F              adc R31,R25
 02F8 0491              lpm R16,Z
 02FA 39DF              xcall _LcdSend
 02FC           L83:
 02FC                   .dbline 267
 02FC 6395              inc R22
 02FE           L85:
 02FE                   .dbline 267
 02FE 6530              cpi R22,5
 0300 A0F3              brlo L82
 0302                   .dbline -2
 0302           L50:
 0302 0E940000          xcall pop_gset4
 0306                   .dbline 0 ; func end
 0306 0895              ret
 0308                   .dbsym r tmp 20 c
 0308                   .dbsym r i 22 c
 0308                   .dbsym r DOT 10 i
 0308                   .dbsym r r 12 i
 0308                   .dbend
 0308                   .dbfunc e main _main fV
 0308           ;             RF -> y+4
 0308           ;            DOT -> R22,R23
 0308           ;          time2 -> R12,R13
 0308           ;          time1 -> R14,R15
 0308           ;          R_TMP -> R20,R21
 0308           ;              R -> y+0
                        .even
 0308           _main::
 0308 2C97              sbiw R28,12
 030A                   .dbline -1
 030A                   .dbline 292
 030A           ;     LcdSend(FontLookup[11][i],1);
 030A           ; }
 030A           ; 
 030A           ; 
 030A           ; /*--------------------------------------------------------------------------------------------------
 030A           ;   Name         :  main
 030A           ;   Description  :  
 030A           ;   Argument(s)  :  
 030A           ;   Return value :  None.
 030A           ; --------------------------------------------------------------------------------------------------*/
 030A           ; /*
 030A           ; void main(void)
 030A           ; {  unsigned char X;  //v=0,按行显示,x对应某个bank(0~83)
 030A           ;    LcdInit();
 030A           ;   
 030A           ;    while(1)
 030A           ;   {
 030A           ;     LcdGotoXY(X_Init,Y_Init);
 030A           ;     for(X=0;X<X_Length;X++)LcdSend(X_TAB[X],1);
 030A           ;   }
 030A           ; }
 030A           ; */
 030A           ; 
 030A           ; void main(void)
 030A           ; {
 030A                   .dbline 293
 030A           ;  unsigned int time1=0,time2=0;
 030A EE24              clr R14
 030C FF24              clr R15
 030E                   .dbline 293
 030E CC24              clr R12
 0310 DD24              clr R13
 0312                   .dbline 294
 0312           ;  float RF=46.0,R=0.0;
 0312 00E0              ldi R16,<L88
 0314 10E0              ldi R17,>L88
 0316 0E940000          xcall lpm32
 031A FE01              movw R30,R28
 031C 0483              std z+4,R16
 031E 1583              std z+5,R17
 0320 2683              std z+6,R18
 0322 3783              std z+7,R19
 0324                   .dbline 294
 0324 00E0              ldi R16,<L89
 0326 10E0              ldi R17,>L89
 0328 0E940000          xcall lpm32
 032C FE01              movw R30,R28
 032E 0083              std z+0,R16
 0330 1183              std z+1,R17
 0332 2283              std z+2,R18
 0334 3383              std z+3,R19
 0336                   .dbline 295
 0336           ;  unsigned int R_TMP=0,DOT=0;
 0336 4427              clr R20
 0338 5527              clr R21
 033A                   .dbline 295
 033A 6627              clr R22
 033C 7727              clr R23
 033E                   .dbline 296
 033E           ;  timer_count=0;
 033E 2224              clr R2
 0340 3324              clr R3
 0342 30920100          sts _timer_count+1,R3
 0346 20920000          sts _timer_count,R2
 034A                   .dbline 298
 034A           ; 
 034A           ;  init_devices(); //全部输入,内部上拉
 034A 82DE              xcall _init_devices
 034C                   .dbline 300
 034C           ; 
 034C           ;  DDRA |=(1<<2);
 034C D29A              sbi 0x1a,2
 034E                   .dbline 301
 034E           ;  PORTA |=(1<<2); //PA2 输出,完成充电
 034E DA9A              sbi 0x1b,2
 0350                   .dbline 302
 0350           ;  Delay1s(1);             //延时等待充满
 0350 01E0              ldi R16,1
 0352 10E0              ldi R17,0
 0354 B3DE              xcall _Delay1s
 0356                   .dbline 303
 0356           ;  _NOP();
 0356 0000              nop
 0358                   .dbline 304
 0358           ;  DDRA &=~(1<<2); //输入,
 0358 D298              cbi 0x1a,2
 035A                   .dbline 305
 035A           ;  PORTA &=~(1<<2);
 035A DA98              cbi 0x1b,2
 035C                   .dbline 307
 035C           ;  
 035C           ;  timer0_init();
 035C 5BDE              xcall _timer0_init
 035E                   .dbline 308
 035E           ;  DDRA |=(1<<1);  //
 035E D19A              sbi 0x1a,1
 0360                   .dbline 309
 0360           ;  PORTA &=~(1<<1); //PA1 输出低,完成放电
 0360 D998              cbi 0x1b,1
 0362           L90:
 0362                   .dbline 310
 0362           L91:
 0362                   .dbline 310

⌨️ 快捷键说明

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