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

📄 main.lis

📁 数字舵机(1) 数字脉宽检测 数字脉宽检测
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 04CA E050              subi R30,0
 04CC F345              sbci R31,83
 04CE E80F              add R30,R24
 04D0 F91F              adc R31,R25
 04D2 20901A00          lds R2,_d
 04D6 84E6              ldi R24,100
 04D8 829D              mul R24,R2
 04DA C001              movw R24,R0
 04DC 805C              subi R24,192
 04DE 9241              sbci R25,18
 04E0 E80F              add R30,R24
 04E2 F91F              adc R31,R25
 04E4 20901B00          lds R2,_e
 04E8 8AE0              ldi R24,10
 04EA 829D              mul R24,R2
 04EC C001              movw R24,R0
 04EE 805E              subi R24,224
 04F0 9140              sbci R25,1
 04F2 E80F              add R30,R24
 04F4 F91F              adc R31,R25
 04F6 80911C00          lds R24,_f
 04FA 9927              clr R25
 04FC C097              sbiw R24,48
 04FE E80F              add R30,R24
 0500 F91F              adc R31,R25
 0502 1F01              movw R2,R30
 0504 4424              clr R4
 0506 37FC              sbrc R3,7
 0508 4094              com R4
 050A 5524              clr R5
 050C 47FC              sbrc R4,7
 050E 5094              com R5
 0510 30922200          sts _juli+1,R3
 0514 20922100          sts _juli,R2
 0518 50922400          sts _juli+2+1,R5
 051C 40922300          sts _juli+2,R4
 0520                   .dbline 189
 0520           ;                  all=0;return;}
 0520 2224              clr R2
 0522 20921600          sts _all,R2
 0526                   .dbline 189
 0526 A6C0              xjmp L17
 0528           L34:
 0528                   .dbline 190
 0528           ;          else if (a=='-')
 0528 80911700          lds R24,_a
 052C 8D32              cpi R24,45
 052E 09F0              breq X31
 0530 46C0              xjmp L36
 0532           X31:
 0532           X15:
 0532                   .dbline 191
 0532           ;                 {juli=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48));
 0532                   .dbline 191
 0532 20911900          lds R18,_c
 0536 3327              clr R19
 0538 08EE              ldi R16,1000
 053A 13E0              ldi R17,3
 053C 0E940000          xcall empy16s
 0540 C801              movw R24,R16
 0542 8058              subi R24,128
 0544 9B4B              sbci R25,187
 0546 20911800          lds R18,_b
 054A 3327              clr R19
 054C 00E1              ldi R16,10000
 054E 17E2              ldi R17,39
 0550 0E940000          xcall empy16s
 0554 F801              movw R30,R16
 0556 E050              subi R30,0
 0558 F345              sbci R31,83
 055A E80F              add R30,R24
 055C F91F              adc R31,R25
 055E 20901A00          lds R2,_d
 0562 84E6              ldi R24,100
 0564 829D              mul R24,R2
 0566 C001              movw R24,R0
 0568 805C              subi R24,192
 056A 9241              sbci R25,18
 056C E80F              add R30,R24
 056E F91F              adc R31,R25
 0570 20901B00          lds R2,_e
 0574 8AE0              ldi R24,10
 0576 829D              mul R24,R2
 0578 C001              movw R24,R0
 057A 805E              subi R24,224
 057C 9140              sbci R25,1
 057E E80F              add R30,R24
 0580 F91F              adc R31,R25
 0582 80911C00          lds R24,_f
 0586 9927              clr R25
 0588 C097              sbiw R24,48
 058A E80F              add R30,R24
 058C F91F              adc R31,R25
 058E CF01              movw R24,R30
 0590 8095              com R24
 0592 9095              com R25
 0594 8F5F              subi R24,0xFF
 0596 9F4F              sbci R25,0xFF
 0598 1C01              movw R2,R24
 059A 4424              clr R4
 059C 37FC              sbrc R3,7
 059E 4094              com R4
 05A0 5524              clr R5
 05A2 47FC              sbrc R4,7
 05A4 5094              com R5
 05A6 30922200          sts _juli+1,R3
 05AA 20922100          sts _juli,R2
 05AE 50922400          sts _juli+2+1,R5
 05B2 40922300          sts _juli+2,R4
 05B6                   .dbline 192
 05B6           ;                  all=0;return;}
 05B6 2224              clr R2
 05B8 20921600          sts _all,R2
 05BC                   .dbline 192
 05BC 5BC0              xjmp L17
 05BE           L36:
 05BE                   .dbline 193
 05BE           ;          if (a!=0) {all=0;return;}
 05BE 20901700          lds R2,_a
 05C2 2220              tst R2
 05C4 09F4              brne X32
 05C6 56C0              xjmp L30
 05C8           X32:
 05C8           X16:
 05C8                   .dbline 193
 05C8                   .dbline 193
 05C8 2224              clr R2
 05CA 20921600          sts _all,R2
 05CE                   .dbline 193
 05CE 52C0              xjmp L17
 05D0           L29:
 05D0                   .dbline 196
 05D0           ;          //PORTF=a;
 05D0           ;       }
 05D0           ;  else   if (all==0)//(johu!=3)&&(johu!=5)  //5:7-bit    3:8-bit
 05D0 20901600          lds R2,_all
 05D4 2220              tst R2
 05D6 09F0              breq X33
 05D8 4DC0              xjmp L40
 05DA           X33:
 05DA           X17:
 05DA                   .dbline 197
 05DA           ;       {
 05DA                   .dbline 198
 05DA           ;          a=b;
 05DA 20901800          lds R2,_b
 05DE 20921700          sts _a,R2
 05E2                   .dbline 199
 05E2           ;          b=c;
 05E2 20901900          lds R2,_c
 05E6 20921800          sts _b,R2
 05EA                   .dbline 200
 05EA           ;          c=d;
 05EA 20901A00          lds R2,_d
 05EE 20921900          sts _c,R2
 05F2                   .dbline 201
 05F2           ;          d=UDR1;
 05F2 20909C00          lds R2,156
 05F6 20921A00          sts _d,R2
 05FA                   .dbline 202
 05FA           ;          if ((a=='c')&&(b=='i')&&(c=='r'))
 05FA 80911700          lds R24,_a
 05FE 8336              cpi R24,99
 0600 C9F4              brne L42
 0602           X18:
 0602 80911800          lds R24,_b
 0606 8936              cpi R24,105
 0608 A9F4              brne L42
 060A           X19:
 060A 80911900          lds R24,_c
 060E 8237              cpi R24,114
 0610 89F4              brne L42
 0612           X20:
 0612                   .dbline 203
 0612           ;            {
 0612                   .dbline 204
 0612           ;                  all=CIR;
 0612 81E0              ldi R24,1
 0614 80931600          sts _all,R24
 0618                   .dbline 205
 0618           ;                  a=0;b=0;c=0;d=0;e=0;f=0;
 0618 2224              clr R2
 061A 20921700          sts _a,R2
 061E                   .dbline 205
 061E 20921800          sts _b,R2
 0622                   .dbline 205
 0622 20921900          sts _c,R2
 0626                   .dbline 205
 0626 20921A00          sts _d,R2
 062A                   .dbline 205
 062A 20921B00          sts _e,R2
 062E                   .dbline 205
 062E 20921C00          sts _f,R2
 0632                   .dbline 206
 0632           ;                  return; }//RXlen=4;{johu=3;RXlen=3;return;}
 0632 20C0              xjmp L17
 0634           L42:
 0634                   .dbline 207
 0634           ;          else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e'))
 0634 80911700          lds R24,_a
 0638 8C36              cpi R24,108
 063A E1F4              brne L44
 063C           X21:
 063C 80911800          lds R24,_b
 0640 8936              cpi R24,105
 0642 C1F4              brne L44
 0644           X22:
 0644 80911900          lds R24,_c
 0648 8E36              cpi R24,110
 064A A1F4              brne L44
 064C           X23:
 064C 80911A00          lds R24,_d
 0650 8536              cpi R24,101
 0652 81F4              brne L44
 0654           X24:
 0654                   .dbline 208
 0654           ;            {
 0654                   .dbline 209
 0654           ;                  all=LINE;
 0654 82E0              ldi R24,2
 0656 80931600          sts _all,R24
 065A                   .dbline 210
 065A           ;                  a=0;b=0;c=0;d=0;e=0;f=0;
 065A 2224              clr R2
 065C 20921700          sts _a,R2
 0660                   .dbline 210
 0660 20921800          sts _b,R2
 0664                   .dbline 210
 0664 20921900          sts _c,R2
 0668                   .dbline 210
 0668 20921A00          sts _d,R2
 066C                   .dbline 210
 066C 20921B00          sts _e,R2
 0670                   .dbline 210
 0670 20921C00          sts _f,R2
 0674                   .dbline 211
 0674           ;                  return; }//RXlen=4;{johu=5;RXlen=3;return;}
 0674           L44:
 0674                   .dbline 213
 0674           ;                  ////////////////////////////////////////////////////////////////////
 0674           ;        }
 0674           L40:
 0674           L30:
 0674           L19:
 0674                   .dbline -2
 0674           L17:
 0674                   .dbline 0 ; func end
 0674 0990              ld R0,y+
 0676 0FBE              out 0x3f,R0
 0678 F991              ld R31,y+
 067A E991              ld R30,y+
 067C 9991              ld R25,y+
 067E 8991              ld R24,y+
 0680 3991              ld R19,y+
 0682 2991              ld R18,y+
 0684 1991              ld R17,y+
 0686 0991              ld R16,y+
 0688 5990              ld R5,y+
 068A 4990              ld R4,y+
 068C 3990              ld R3,y+
 068E 2990              ld R2,y+
 0690 1990              ld R1,y+
 0692 0990              ld R0,y+
 0694 1895              reti
 0696                   .dbend
 0696                   .dbfunc e number_uart1 _number_uart1 fV
 0696           ;              n -> y+0
 0696           ;       huanhang -> y+8
 0696           ;            NUM -> y+4
                        .even
 0696           _number_uart1::
 0696 0E940000          xcall push_arg4
 069A 2497              sbiw R28,4
 069C                   .dbline -1
 069C                   .dbline 233
 069C           ; }
 069C           ; 
 069C           ; 
 069C           ; 
 069C           ; /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK)
 069C           ; {
 069C           ;  char code[]={'0','1','2','3','4','5','6','7','8','9',};
 069C           ;  if (NUM<0)
 069C           ;       {LCD_write_String1(X,Y,"-");NUM=-NUM;}
 069C           ;  else
 069C           ;       {LCD_write_String1(X,Y,"+");}
 069C           ; X=X+6;
 069C           ;  while(LEN--)
 069C           ;        {
 069C           ;         LCD_write_String1(X+LEN*6,Y,& code[NUM%10]);
 069C           ;         NUM=NUM/10;
 069C           ;        } 
 069C           ; }*/
 069C           ; void number_uart1(long NUM,char huanhang)
 069C           ; {long n=0;
 069C                   .dbline 233
 069C 80E0              ldi R24,0
 069E 90E0              ldi R25,0
 06A0 A0E0              ldi R26,0
 06A2 B0E0              ldi R27,0
 06A4 8883              std y+0,R24
 06A6 9983              std y+1,R25
 06A8 AA83              std y+2,R26
 06AA BB83              std y+3,R27
 06AC                   .dbline 234
 06AC           ;                       if (NUM<0){n=-NUM; while(!(UCSR1A&(1<<UDRE1))); UDR1='-';}
 06AC 80E0              ldi R24,0
 06AE 90E0              ldi R25,0
 06B0 A0E0              ldi R26,0
 06B2 B0E0              ldi R27,0
 06B4 2C80              ldd R2,y+4
 06B6 3D80              ldd R3,y+5
 06B8 4E80              ldd R4,y+6
 06BA 5F80              ldd R5,y+7
 06BC 2816              cp R2,R24
 06BE 3906              cpc R3,R25
 06C0 4A06              cpc R4,R26
 06C2 5B06              cpc R5,R27
 06C4 84F4              brge L47
 06C6           X34:
 06C6                   .dbline 234
 06C6                   .dbline 234
 06C6 8101              movw R16,R2
 06C8 9201              movw R18,R4
 06CA 0E940000          xcall neg32
 06CE 0883              std y+0,R16
 06D0 1983              std y+1,R17
 06D2 2A83              std y+2,R18
 06D4 3B83              std y+3,R19
 06D6           L49:
 06D6                   .dbline 234
 06D6           L50:
 06D6                   .dbline 234
 06D6 20909B00          lds R2,155
 06DA 25FE              sbrs R2,5
 06DC FCCF              rjmp L49
 06DE           X35:
 06DE                   .dbline 234
 06DE 8DE2              ldi R24,45
 06E0 80939C00          sts 156,R24
 06E4                   .dbline 234
 06E4 0FC0              xjmp L56
 06E6           L47:
 06E6                   .dbline 235
 06E6           ;                       else  {n=NUM;while(!(UCSR1A&(1<<UDRE1))); UDR1='+';}    
 06E6                   .dbline 235
 06E6 2C80              ldd R2,y+4
 06E8 3D80              ldd R3,y+5

⌨️ 快捷键说明

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