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

📄 main.lis

📁 AVR单片机ATmega16(L)应用实例1——风机测试仪
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 053E 5801              movw R10,R16
 0540                   .dbline 269
 0540 A0920F00          sts _LC+1,R10
 0544                   .dbline 270
 0544           ;                               temp=current;temp=temp%10;LC[0]=(uchar)temp;
 0544 A0900600          lds R10,_current
 0548 B0900700          lds R11,_current+1
 054C                   .dbline 270
 054C 2AE0              ldi R18,10
 054E 30E0              ldi R19,0
 0550 8501              movw R16,R10
 0552 0E940000          xcall mod16u
 0556 5801              movw R10,R16
 0558                   .dbline 270
 0558 A0920E00          sts _LC,R10
 055C                   .dbline 271
 055C           ;                               DisplayOneChar(3,3,LC[3]+0x30);
 055C 80911100          lds R24,_LC+3
 0560 805D              subi R24,208    ; addi 48
 0562 8883              std y+0,R24
 0564 23E0              ldi R18,3
 0566 03E0              ldi R16,3
 0568 0E940000          xcall _DisplayOneChar
 056C                   .dbline 272
 056C           ;                               DisplayOneChar(4,3,0x2e);
 056C 8EE2              ldi R24,46
 056E 8883              std y+0,R24
 0570 23E0              ldi R18,3
 0572 04E0              ldi R16,4
 0574 0E940000          xcall _DisplayOneChar
 0578                   .dbline 273
 0578           ;                               DisplayOneChar(5,3,LC[2]+0x30);
 0578 80911000          lds R24,_LC+2
 057C 805D              subi R24,208    ; addi 48
 057E 8883              std y+0,R24
 0580 23E0              ldi R18,3
 0582 05E0              ldi R16,5
 0584 0E940000          xcall _DisplayOneChar
 0588                   .dbline 274
 0588           ;                               DisplayOneChar(6,3,LC[1]+0x30);
 0588 80910F00          lds R24,_LC+1
 058C 805D              subi R24,208    ; addi 48
 058E 8883              std y+0,R24
 0590 23E0              ldi R18,3
 0592 06E0              ldi R16,6
 0594 0E940000          xcall _DisplayOneChar
 0598                   .dbline 275
 0598           ;                               break;
 0598 D2C5              xjmp L41
 059A           L69:
 059A                   .dbline 277
 059A           ;                               
 059A           ;                  case 7:POW_OFF;Delay_nms(100);//关闭电源
 059A 919A              sbi 0x12,1
 059C                   .dbline 277
 059C 04E6              ldi R16,100
 059E 10E0              ldi R17,0
 05A0 E6D5              xcall _Delay_nms
 05A2                   .dbline 278
 05A2           ;                          AIR_OFF;Delay_nms(500);status=8;cnt=0;//关闭气缸
 05A2 939A              sbi 0x12,3
 05A4                   .dbline 278
 05A4 04EF              ldi R16,500
 05A6 11E0              ldi R17,1
 05A8 E2D5              xcall _Delay_nms
 05AA                   .dbline 278
 05AA 88E0              ldi R24,8
 05AC 80930000          sts _status,R24
 05B0                   .dbline 278
 05B0 2224              clr R2
 05B2 3324              clr R3
 05B4 30920300          sts _cnt+1,R3
 05B8 20920200          sts _cnt,R2
 05BC                   .dbline 279
 05BC           ;                                break;
 05BC C0C5              xjmp L41
 05BE           L70:
 05BE                   .dbline 281
 05BE           ;                                
 05BE           ;                  case 8:SPEED_5V;//黄线接5V
 05BE 9098              cbi 0x12,0
 05C0                   .dbline 282
 05C0           ;                                 POW_14V;Delay_nms(100);POW_ON;//启动测试14V低压
 05C0 929A              sbi 0x12,2
 05C2                   .dbline 282
 05C2 04E6              ldi R16,100
 05C4 10E0              ldi R17,0
 05C6 D3D5              xcall _Delay_nms
 05C8                   .dbline 282
 05C8 9198              cbi 0x12,1
 05CA                   .dbline 284
 05CA           ;                                 
 05CA           ;                                 Wait10S_Start_Flag=1;cnt=0;clr_T1();//启动10S并开始T1计数
 05CA 81E0              ldi R24,1
 05CC 80930800          sts _Wait10S_Start_Flag,R24
 05D0                   .dbline 284
 05D0 2224              clr R2
 05D2 3324              clr R3
 05D4 30920300          sts _cnt+1,R3
 05D8 20920200          sts _cnt,R2
 05DC                   .dbline 284
 05DC 1CDD              xcall _clr_T1
 05DE                   .dbline 285
 05DE           ;                                 display_val=0;status=9;TCCR1B = 0x06;
 05DE 2224              clr R2
 05E0 3324              clr R3
 05E2 30920500          sts _display_val+1,R3
 05E6 20920400          sts _display_val,R2
 05EA                   .dbline 285
 05EA 89E0              ldi R24,9
 05EC 80930000          sts _status,R24
 05F0                   .dbline 285
 05F0 86E0              ldi R24,6
 05F2 8EBD              out 0x2e,R24
 05F4                   .dbline 286
 05F4           ;                                 break;
 05F4 A4C5              xjmp L41
 05F6           L72:
 05F6                   .dbline 288
 05F6 0AE0              ldi R16,10
 05F8 10E0              ldi R17,0
 05FA B9D5              xcall _Delay_nms
 05FC           L73:
 05FC                   .dbline 288
 05FC           ;                                 
 05FC           ;                  case 9:while(Wait10S_End_Flag==0)Delay_nms(10);Wait10S_End_Flag=0;status=10;//等待10S定时结束
 05FC 20900900          lds R2,_Wait10S_End_Flag
 0600 2220              tst R2
 0602 C9F3              breq L72
 0604                   .dbline 288
 0604 2224              clr R2
 0606 20920900          sts _Wait10S_End_Flag,R2
 060A                   .dbline 288
 060A 8AE0              ldi R24,10
 060C 80930000          sts _status,R24
 0610                   .dbline 289
 0610           ;                               break;
 0610 96C5              xjmp L41
 0612           L75:
 0612                   .dbline 291
 0612           ;                               
 0612           ;                  case 10:TCCR1B = 0x00;display_val=read_T1();status=11;//读取T1的计数(14V低压LVS)
 0612 2224              clr R2
 0614 2EBC              out 0x2e,R2
 0616                   .dbline 291
 0616 F4DC              xcall _read_T1
 0618 10930500          sts _display_val+1,R17
 061C 00930400          sts _display_val,R16
 0620                   .dbline 291
 0620 8BE0              ldi R24,11
 0622 80930000          sts _status,R24
 0626                   .dbline 292
 0626           ;                               f=(float)display_val;f=f*4.985;display_val=(uint)f;//修正
 0626 00E0              ldi R16,<L53
 0628 10E0              ldi R17,>L53
 062A 0E940000          xcall lpm32
 062E 3A93              st -y,R19
 0630 2A93              st -y,R18
 0632 1A93              st -y,R17
 0634 0A93              st -y,R16
 0636 00910400          lds R16,_display_val
 063A 10910500          lds R17,_display_val+1
 063E 1695              lsr R17
 0640 0795              ror R16
 0642 0E940000          xcall int2fp
 0646 3A93              st -y,R19
 0648 2A93              st -y,R18
 064A 1A93              st -y,R17
 064C 0A93              st -y,R16
 064E 0E940000          xcall empy32fs
 0652 00910400          lds R16,_display_val
 0656 10910500          lds R17,_display_val+1
 065A 0170              andi R16,1
 065C 1070              andi R17,0
 065E 0E940000          xcall int2fp
 0662 3A93              st -y,R19
 0664 2A93              st -y,R18
 0666 1A93              st -y,R17
 0668 0A93              st -y,R16
 066A 0E940000          xcall add32f
 066E FE01              movw R30,R28
 0670 0283              std z+2,R16
 0672 1383              std z+3,R17
 0674 2483              std z+4,R18
 0676 3583              std z+5,R19
 0678                   .dbline 292
 0678 00E0              ldi R16,<L76
 067A 10E0              ldi R17,>L76
 067C 0E940000          xcall lpm32
 0680 3A93              st -y,R19
 0682 2A93              st -y,R18
 0684 1A93              st -y,R17
 0686 0A93              st -y,R16
 0688 FE01              movw R30,R28
 068A            ; stack offset 4
 068A 2680              ldd R2,z+6
 068C 3780              ldd R3,z+7
 068E 4084              ldd R4,z+8
 0690 5184              ldd R5,z+9
 0692 5A92              st -y,R5
 0694 4A92              st -y,R4
 0696 3A92              st -y,R3
 0698 2A92              st -y,R2
 069A 0E940000          xcall empy32f
 069E FE01              movw R30,R28
 06A0 0283              std z+2,R16
 06A2 1383              std z+3,R17
 06A4 2483              std z+4,R18
 06A6 3583              std z+5,R19
 06A8                   .dbline 292
 06A8 FE01              movw R30,R28
 06AA 2280              ldd R2,z+2
 06AC 3380              ldd R3,z+3
 06AE 4480              ldd R4,z+4
 06B0 5580              ldd R5,z+5
 06B2 5A92              st -y,R5
 06B4 4A92              st -y,R4
 06B6 3A92              st -y,R3
 06B8 2A92              st -y,R2
 06BA 00E0              ldi R16,<L62
 06BC 10E0              ldi R17,>L62
 06BE 0E940000          xcall lpm32
 06C2 3A93              st -y,R19
 06C4 2A93              st -y,R18
 06C6 1A93              st -y,R17
 06C8 0A93              st -y,R16
 06CA 0E940000          xcall cmp32f
 06CE CCF0              brlt L77
 06D0 FE01              movw R30,R28
 06D2 2280              ldd R2,z+2
 06D4 3380              ldd R3,z+3
 06D6 4480              ldd R4,z+4
 06D8 5580              ldd R5,z+5
 06DA 5A92              st -y,R5
 06DC 4A92              st -y,R4
 06DE 3A92              st -y,R3
 06E0 2A92              st -y,R2
 06E2 00E0              ldi R16,<L62
 06E4 10E0              ldi R17,>L62
 06E6 0E940000          xcall lpm32
 06EA 3A93              st -y,R19
 06EC 2A93              st -y,R18
 06EE 1A93              st -y,R17
 06F0 0A93              st -y,R16
 06F2 0E940000          xcall sub32f
 06F6 0E940000          xcall fp2int
 06FA A801              movw R20,R16
 06FC 4050              subi R20,0  ; offset = 32768
 06FE 5048              sbci R21,128
 0700 08C0              xjmp L78
 0702           L77:
 0702 FE01              movw R30,R28
 0704 0281              ldd R16,z+2
 0706 1381              ldd R17,z+3
 0708 2481              ldd R18,z+4
 070A 3581              ldd R19,z+5
 070C 0E940000          xcall fp2int
 0710 A801              movw R20,R16
 0712           L78:
 0712 50930500          sts _display_val+1,R21
 0716 40930400          sts _display_val,R20
 071A                   .dbline 293
 071A           ;                               LLVS=display_val;//暂存LVS
 071A 1A01              movw R2,R20
 071C 30920D00          sts _LLVS+1,R3
 0720 20920C00          sts _LLVS,R2
 0724                   .dbline 294
 0724           ;                               if(LLVS>200)OutFlag++;//判断14V低压能否启动
 0724 88EC              ldi R24,200
 0726 90E0              ldi R25,0
 0728 20900C00          lds R2,_LLVS
 072C 30900D00          lds R3,_LLVS+1
 0730 8215              cp R24,R2
 0732 9305              cpc R25,R3
 0734 28F4              brsh L79
 0736                   .dbline 294
 0736 80910100          lds R24,_OutFlag
 073A 8F5F              subi R24,255    ; addi 1
 073C 80930100          sts _OutFlag,R24
 0740           L79:
 0740                   .dbline 295
 0740           ;                               temp=display_val;temp=temp/1000;LVS[3]=(uchar)temp;
 0740 A0900400          lds R10,_display_val
 0744 B0900500          lds R11,_display_val+1
 0748                   .dbline 295
 0748 28EE              ldi R18,1000
 074A 33E0              ldi R19,3
 074C 8501              movw R16,R10
 074E 0E940000          xcall div16u
 0752 5801              movw R10,R16
 0754                   .dbline 295
 0754 A0922100          sts _LVS+3,R10
 0758                   .dbline 296
 0758           ;                               temp=display_val;temp=(temp/100)%10;LVS[2]=(uchar)temp;
 0758 A0900400          lds R10,_display_val
 075C B0900500          lds R11,_display_val+1
 0760                   .dbline 296
 0760 24E6              ldi R18,100
 0762 30E0              ldi R19,0
 0764 8501              movw R16,R10
 0766 0E940000          xcall div16u
 076A 2AE0              ldi R18,10
 076C 30E0              ldi R19,0
 076E 0E940000          xcall mod16u
 0772 5801              movw R10,R16
 0774                   .dbline 296
 0774 A0922000          sts _LVS+2,R10
 0778                   .dbline 297
 0778           ;                               temp=display_val;temp=(temp/10)%10;LVS[1]=(uchar)temp;
 0778 A0900400          lds R10,_display_val
 077C B0900500          lds R11,_display_val+1
 0780                   .dbline 297
 0780 2AE0              ldi R18,10
 0782 30E0              ldi R19,0
 0784 8501              movw R16,R10
 0786 0E940000          xcall div16u
 078A 2AE0              ldi R18,10
 078C 30E0              ldi R19,0
 078E 0E940000          xcall mod16u
 0792 5801              movw R10,R16
 0794                   .dbline 297
 0794 A0921F00          sts _LVS+1,R10
 0798                   .dbline 298
 0798           ;                               temp=display_val;temp=temp%10;LVS[0]=(uchar)temp;
 0798 A0900400          lds R10,_display

⌨️ 快捷键说明

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