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

📄 main.lis

📁 一个关于AVR单片机的例程
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0362           ;  while(PINA&(1<<2)); //等待,放电完成,PINA2被拉低
 0362 CA99              sbic 0x19,2
 0364 FECF              rjmp L90
 0366                   .dbline 311
 0366           ;  TCCR0 = 0x00; //stop timer
 0366 2224              clr R2
 0368 23BE              out 0x33,R2
 036A                   .dbline 312
 036A           ;  time1=timer_count; //记录标准电阻的放电时间
 036A E0900000          lds R14,_timer_count
 036E F0900100          lds R15,_timer_count+1
 0372                   .dbline 315
 0372           ; 
 0372           ; 
 0372           ;  timer_count=0;
 0372 3324              clr R3
 0374 30920100          sts _timer_count+1,R3
 0378 20920000          sts _timer_count,R2
 037C                   .dbline 316
 037C           ;  init_devices(); //全部输入,内部上拉
 037C 69DE              xcall _init_devices
 037E                   .dbline 317
 037E           ;  DDRA |=(1<<2);
 037E D29A              sbi 0x1a,2
 0380                   .dbline 318
 0380           ;  PORTA |=(1<<2); //PA2 输出,完成充电
 0380 DA9A              sbi 0x1b,2
 0382                   .dbline 319
 0382           ;  Delay1s(1);             //延时等待充满
 0382 01E0              ldi R16,1
 0384 10E0              ldi R17,0
 0386 9ADE              xcall _Delay1s
 0388                   .dbline 320
 0388           ;  _NOP();
 0388 0000              nop
 038A                   .dbline 321
 038A           ;  DDRA &=~(1<<2); //输入
 038A D298              cbi 0x1a,2
 038C                   .dbline 322
 038C           ;  PORTA &=~(1<<2); //清内部上拉
 038C DA98              cbi 0x1b,2
 038E                   .dbline 324
 038E           ;  
 038E           ;  timer0_init();
 038E 42DE              xcall _timer0_init
 0390                   .dbline 325
 0390           ;  DDRA |=(1<<0);  //
 0390 D09A              sbi 0x1a,0
 0392                   .dbline 326
 0392           ;  PORTA &=~(1<<0); //PA0 输出低,完成放电
 0392 D898              cbi 0x1b,0
 0394           L93:
 0394                   .dbline 327
 0394           L94:
 0394                   .dbline 327
 0394           ;  while(PINA&(1<<2)); //等待,让电完成,PINA2被拉低
 0394 CA99              sbic 0x19,2
 0396 FECF              rjmp L93
 0398                   .dbline 328
 0398           ;  TCCR0 = 0x00; //stop timer
 0398 2224              clr R2
 039A 23BE              out 0x33,R2
 039C                   .dbline 329
 039C           ;  time2=timer_count; //计算待测电阻的时间
 039C C0900000          lds R12,_timer_count
 03A0 D0900100          lds R13,_timer_count+1
 03A4                   .dbline 332
 03A4           ;  
 03A4           ;  //开始计算阻值
 03A4           ;  R=RF*time2/time1;
 03A4 FE01              movw R30,R28
 03A6 2480              ldd R2,z+4
 03A8 3580              ldd R3,z+5
 03AA 4680              ldd R4,z+6
 03AC 5780              ldd R5,z+7
 03AE 5A92              st -y,R5
 03B0 4A92              st -y,R4
 03B2 3A92              st -y,R3
 03B4 2A92              st -y,R2
 03B6 00E0              ldi R16,<L96
 03B8 10E0              ldi R17,>L96
 03BA 0E940000          xcall lpm32
 03BE 3A93              st -y,R19
 03C0 2A93              st -y,R18
 03C2 1A93              st -y,R17
 03C4 0A93              st -y,R16
 03C6 8601              movw R16,R12
 03C8 1695              lsr R17
 03CA 0795              ror R16
 03CC 0E940000          xcall int2fp
 03D0 3A93              st -y,R19
 03D2 2A93              st -y,R18
 03D4 1A93              st -y,R17
 03D6 0A93              st -y,R16
 03D8 0E940000          xcall empy32fs
 03DC 8601              movw R16,R12
 03DE 0170              andi R16,1
 03E0 1070              andi R17,0
 03E2 0E940000          xcall int2fp
 03E6 3A93              st -y,R19
 03E8 2A93              st -y,R18
 03EA 1A93              st -y,R17
 03EC 0A93              st -y,R16
 03EE 0E940000          xcall add32fs
 03F2 0E940000          xcall empy32fs
 03F6 00E0              ldi R16,<L96
 03F8 10E0              ldi R17,>L96
 03FA 0E940000          xcall lpm32
 03FE 3A93              st -y,R19
 0400 2A93              st -y,R18
 0402 1A93              st -y,R17
 0404 0A93              st -y,R16
 0406 8701              movw R16,R14
 0408 1695              lsr R17
 040A 0795              ror R16
 040C 0E940000          xcall int2fp
 0410 3A93              st -y,R19
 0412 2A93              st -y,R18
 0414 1A93              st -y,R17
 0416 0A93              st -y,R16
 0418 0E940000          xcall empy32fs
 041C 8701              movw R16,R14
 041E 0170              andi R16,1
 0420 1070              andi R17,0
 0422 0E940000          xcall int2fp
 0426 3A93              st -y,R19
 0428 2A93              st -y,R18
 042A 1A93              st -y,R17
 042C 0A93              st -y,R16
 042E 0E940000          xcall add32fs
 0432 0E940000          xcall div32f
 0436 FE01              movw R30,R28
 0438 0083              std z+0,R16
 043A 1183              std z+1,R17
 043C 2283              std z+2,R18
 043E 3383              std z+3,R19
 0440                   .dbline 335
 0440           ;  
 0440           ;  //R=1234;
 0440           ;  LcdInit();
 0440 51DE              xcall _LcdInit
 0442                   .dbline 336
 0442           ;  LcdGotoXY(X_Init,Y_Init);
 0442 22E0              ldi R18,2
 0444 0AE0              ldi R16,10
 0446 84DE              xcall _LcdGotoXY
 0448                   .dbline 338
 0448           ;  
 0448           ;  R_TMP=R;
 0448 FE01              movw R30,R28
 044A 2080              ldd R2,z+0
 044C 3180              ldd R3,z+1
 044E 4280              ldd R4,z+2
 0450 5380              ldd R5,z+3
 0452 5A92              st -y,R5
 0454 4A92              st -y,R4
 0456 3A92              st -y,R3
 0458 2A92              st -y,R2
 045A 00E0              ldi R16,<L99
 045C 10E0              ldi R17,>L99
 045E 0E940000          xcall lpm32
 0462 3A93              st -y,R19
 0464 2A93              st -y,R18
 0466 1A93              st -y,R17
 0468 0A93              st -y,R16
 046A 0E940000          xcall cmp32f
 046E D4F0              brlt L97
 0470 FE01              movw R30,R28
 0472 2080              ldd R2,z+0
 0474 3180              ldd R3,z+1
 0476 4280              ldd R4,z+2
 0478 5380              ldd R5,z+3
 047A 5A92              st -y,R5
 047C 4A92              st -y,R4
 047E 3A92              st -y,R3
 0480 2A92              st -y,R2
 0482 00E0              ldi R16,<L99
 0484 10E0              ldi R17,>L99
 0486 0E940000          xcall lpm32
 048A 3A93              st -y,R19
 048C 2A93              st -y,R18
 048E 1A93              st -y,R17
 0490 0A93              st -y,R16
 0492 0E940000          xcall sub32f
 0496 0E940000          xcall fp2int
 049A C801              movw R24,R16
 049C 8050              subi R24,0  ; offset = 32768
 049E 9048              sbci R25,128
 04A0 5C01              movw R10,R24
 04A2 08C0              xjmp L98
 04A4           L97:
 04A4 FE01              movw R30,R28
 04A6 0081              ldd R16,z+0
 04A8 1181              ldd R17,z+1
 04AA 2281              ldd R18,z+2
 04AC 3381              ldd R19,z+3
 04AE 0E940000          xcall fp2int
 04B2 5801              movw R10,R16
 04B4           L98:
 04B4 A501              movw R20,R10
 04B6                   .dbline 339
 04B6           ;  DOT=(R-R_TMP)*10;
 04B6 00E0              ldi R16,<L102
 04B8 10E0              ldi R17,>L102
 04BA 0E940000          xcall lpm32
 04BE 3A93              st -y,R19
 04C0 2A93              st -y,R18
 04C2 1A93              st -y,R17
 04C4 0A93              st -y,R16
 04C6 FE01              movw R30,R28
 04C8            ; stack offset 4
 04C8 2480              ldd R2,z+4
 04CA 3580              ldd R3,z+5
 04CC 4680              ldd R4,z+6
 04CE 5780              ldd R5,z+7
 04D0 5A92              st -y,R5
 04D2 4A92              st -y,R4
 04D4 3A92              st -y,R3
 04D6 2A92              st -y,R2
 04D8 00E0              ldi R16,<L96
 04DA 10E0              ldi R17,>L96
 04DC 0E940000          xcall lpm32
 04E0 3A93              st -y,R19
 04E2 2A93              st -y,R18
 04E4 1A93              st -y,R17
 04E6 0A93              st -y,R16
 04E8 8A01              movw R16,R20
 04EA 1695              lsr R17
 04EC 0795              ror R16
 04EE 0E940000          xcall int2fp
 04F2 3A93              st -y,R19
 04F4 2A93              st -y,R18
 04F6 1A93              st -y,R17
 04F8 0A93              st -y,R16
 04FA 0E940000          xcall empy32fs
 04FE 8A01              movw R16,R20
 0500 0170              andi R16,1
 0502 1070              andi R17,0
 0504 0E940000          xcall int2fp
 0508 3A93              st -y,R19
 050A 2A93              st -y,R18
 050C 1A93              st -y,R17
 050E 0A93              st -y,R16
 0510 0E940000          xcall add32fs
 0514 0E940000          xcall sub32fs
 0518 0E940000          xcall empy32f
 051C FE01              movw R30,R28
 051E 0087              std z+8,R16
 0520 1187              std z+9,R17
 0522 2287              std z+10,R18
 0524 3387              std z+11,R19
 0526 FE01              movw R30,R28
 0528 2084              ldd R2,z+8
 052A 3184              ldd R3,z+9
 052C 4284              ldd R4,z+10
 052E 5384              ldd R5,z+11
 0530 5A92              st -y,R5
 0532 4A92              st -y,R4
 0534 3A92              st -y,R3
 0536 2A92              st -y,R2
 0538 00E0              ldi R16,<L99
 053A 10E0              ldi R17,>L99
 053C 0E940000          xcall lpm32
 0540 3A93              st -y,R19
 0542 2A93              st -y,R18
 0544 1A93              st -y,R17
 0546 0A93              st -y,R16
 0548 0E940000          xcall cmp32f
 054C D4F0              brlt L100
 054E FE01              movw R30,R28
 0550 2084              ldd R2,z+8
 0552 3184              ldd R3,z+9
 0554 4284              ldd R4,z+10
 0556 5384              ldd R5,z+11
 0558 5A92              st -y,R5
 055A 4A92              st -y,R4
 055C 3A92              st -y,R3
 055E 2A92              st -y,R2
 0560 00E0              ldi R16,<L99
 0562 10E0              ldi R17,>L99
 0564 0E940000          xcall lpm32
 0568 3A93              st -y,R19
 056A 2A93              st -y,R18
 056C 1A93              st -y,R17
 056E 0A93              st -y,R16
 0570 0E940000          xcall sub32f
 0574 0E940000          xcall fp2int
 0578 C801              movw R24,R16
 057A 8050              subi R24,0  ; offset = 32768
 057C 9048              sbci R25,128
 057E 5C01              movw R10,R24
 0580 08C0              xjmp L101
 0582           L100:
 0582 FE01              movw R30,R28
 0584 0085              ldd R16,z+8
 0586 1185              ldd R17,z+9
 0588 2285              ldd R18,z+10
 058A 3385              ldd R19,z+11
 058C 0E940000          xcall fp2int
 0590 5801              movw R10,R16
 0592           L101:
 0592 B501              movw R22,R10
 0594                   .dbline 340
 0594           ;  lcd_show(R_TMP,DOT);
 0594 9B01              movw R18,R22
 0596 8A01              movw R16,R20
 0598 FEDD              xcall _lcd_show
 059A           L103:
 059A                   .dbline 343
 059A           L104:
 059A                   .dbline 342
 059A FFCF              xjmp L103
 059C           X3:
 059C                   .dbline -2
 059C           L87:
 059C 2C96              adiw R28,12
 059E                   .dbline 0 ; func end
 059E 0895              ret
 05A0                   .dbsym l RF 4 D
 05A0                   .dbsym r DOT 22 i
 05A0                   .dbsym r time2 12 i
 05A0                   .dbsym r time1 14 i
 05A0                   .dbsym r R_TMP 20 i
 05A0                   .dbsym l R 0 D
 05A0                   .dbend
                        .area lit(rom, con, rel)
 01AE           L102:
 01AE 00002041          .word 0x0,0x4120
 01B2           L99:
 01B2 00000047          .word 0x0,0x4700
 01B6           L96:
 01B6 00000040          .word 0x0,0x4000
 01BA           L89:
 01BA 00000000          .word 0x0,0x0
 01BE           L88:
 01BE 00003842          .word 0x0,0x4238

⌨️ 快捷键说明

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