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

📄 pidtext.lis

📁 用ICC-AVR编译器编译适用与AVR系列单片机的PID库.
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 012A 40920C00          sts _e_0,R4
 012E                   .dbline 60
 012E           ;   s_e_0=1;
 012E 81E0              ldi R24,1
 0130 80930300          sts _s_e_0,R24
 0134                   .dbline 61
 0134           ;  }
 0134           L10:
 0134                   .dbline 63
 0134           ; //Ea=e_0-e_1
 0134           ; if (e_0>=e_1)
 0134 20900E00          lds R2,_e_1
 0138 30900F00          lds R3,_e_1+1
 013C 40900C00          lds R4,_e_0
 0140 50900D00          lds R5,_e_0+1
 0144 4214              cp R4,R2
 0146 5304              cpc R5,R3
 0148 08F4              brsh X0
 014A 3CC0              rjmp L11
 014C           X0:
 014C                   .dbline 64
 014C           ; {
 014C                   .dbline 65
 014C           ;    if (s_e_0==0)
 014C 20900300          lds R2,_s_e_0
 0150 2220              tst R2
 0152 C1F4              brne L13
 0154                   .dbline 66
 0154           ;    {
 0154                   .dbline 67
 0154           ;         if (s_e_1==0)
 0154 20900400          lds R2,_s_e_1
 0158 2220              tst R2
 015A 49F4              brne L15
 015C                   .dbline 68
 015C           ;         {
 015C                   .dbline 69
 015C           ;         Ea=e_0-e_1;
 015C 20900E00          lds R2,_e_1
 0160 30900F00          lds R3,_e_1+1
 0164 642D              mov R22,R4
 0166 752D              mov R23,R5
 0168 6219              sub R22,R2
 016A 7309              sbc R23,R3
 016C                   .dbline 70
 016C           ;         }
 016C 6CC0              rjmp L12
 016E           L15:
 016E                   .dbline 72
 016E           ;         else
 016E           ;         {
 016E                   .dbline 73
 016E           ;         Ea=e_0+e_1;
 016E 20900E00          lds R2,_e_1
 0172 30900F00          lds R3,_e_1+1
 0176 60910C00          lds R22,_e_0
 017A 70910D00          lds R23,_e_0+1
 017E 620D              add R22,R2
 0180 731D              adc R23,R3
 0182                   .dbline 74
 0182           ;         }
 0182                   .dbline 75
 0182           ;    }
 0182 61C0              rjmp L12
 0184           L13:
 0184                   .dbline 77
 0184           ;    else
 0184           ;    {
 0184                   .dbline 78
 0184           ;         if (s_e_1==0)
 0184 20900400          lds R2,_s_e_1
 0188 2220              tst R2
 018A 71F4              brne L17
 018C                   .dbline 79
 018C           ;         {
 018C                   .dbline 80
 018C           ;          Ea=e_0+e_1;
 018C 20900E00          lds R2,_e_1
 0190 30900F00          lds R3,_e_1+1
 0194 60910C00          lds R22,_e_0
 0198 70910D00          lds R23,_e_0+1
 019C 620D              add R22,R2
 019E 731D              adc R23,R3
 01A0                   .dbline 81
 01A0           ;          s_Ea=1;
 01A0 0024              clr R0
 01A2 0394              inc R0
 01A4 0886              std y+8,R0
 01A6                   .dbline 82
 01A6           ;         }
 01A6 4FC0              rjmp L12
 01A8           L17:
 01A8                   .dbline 84
 01A8           ;         else
 01A8           ;         {
 01A8                   .dbline 85
 01A8           ;          Ea=e_0-e_1;
 01A8 20900E00          lds R2,_e_1
 01AC 30900F00          lds R3,_e_1+1
 01B0 60910C00          lds R22,_e_0
 01B4 70910D00          lds R23,_e_0+1
 01B8 6219              sub R22,R2
 01BA 7309              sbc R23,R3
 01BC                   .dbline 86
 01BC           ;          s_Ea=1;
 01BC 0024              clr R0
 01BE 0394              inc R0
 01C0 0886              std y+8,R0
 01C2                   .dbline 87
 01C2           ;         }
 01C2                   .dbline 88
 01C2           ;    }
 01C2                   .dbline 89
 01C2           ;  }
 01C2 41C0              rjmp L12
 01C4           L11:
 01C4                   .dbline 91
 01C4           ;  else
 01C4           ;  {
 01C4                   .dbline 92
 01C4           ;     if (s_e_0==0)
 01C4 20900300          lds R2,_s_e_0
 01C8 2220              tst R2
 01CA F9F4              brne L19
 01CC                   .dbline 93
 01CC           ;    {
 01CC                   .dbline 94
 01CC           ;         if (s_e_1==0)
 01CC 20900400          lds R2,_s_e_1
 01D0 2220              tst R2
 01D2 71F4              brne L21
 01D4                   .dbline 95
 01D4           ;         {
 01D4                   .dbline 96
 01D4           ;          Ea=e_1-e_0;
 01D4 20900C00          lds R2,_e_0
 01D8 30900D00          lds R3,_e_0+1
 01DC 60910E00          lds R22,_e_1
 01E0 70910F00          lds R23,_e_1+1
 01E4 6219              sub R22,R2
 01E6 7309              sbc R23,R3
 01E8                   .dbline 97
 01E8           ;          s_Ea=1;
 01E8 0024              clr R0
 01EA 0394              inc R0
 01EC 0886              std y+8,R0
 01EE                   .dbline 98
 01EE           ;         }
 01EE 2BC0              rjmp L20
 01F0           L21:
 01F0                   .dbline 100
 01F0           ;         else
 01F0           ;         {
 01F0                   .dbline 101
 01F0           ;          Ea=e_1+e_0;
 01F0 20900C00          lds R2,_e_0
 01F4 30900D00          lds R3,_e_0+1
 01F8 60910E00          lds R22,_e_1
 01FC 70910F00          lds R23,_e_1+1
 0200 620D              add R22,R2
 0202 731D              adc R23,R3
 0204                   .dbline 102
 0204           ;          s_Ea=0;
 0204 0024              clr R0
 0206 0886              std y+8,R0
 0208                   .dbline 103
 0208           ;         }
 0208                   .dbline 104
 0208           ;    }
 0208 1EC0              rjmp L20
 020A           L19:
 020A                   .dbline 106
 020A           ;    else
 020A           ;    {
 020A                   .dbline 107
 020A           ;         if (s_e_1==0)
 020A 20900400          lds R2,_s_e_1
 020E 2220              tst R2
 0210 71F4              brne L23
 0212                   .dbline 108
 0212           ;         {
 0212                   .dbline 109
 0212           ;         Ea=e_1+e_0;
 0212 20900C00          lds R2,_e_0
 0216 30900D00          lds R3,_e_0+1
 021A 60910E00          lds R22,_e_1
 021E 70910F00          lds R23,_e_1+1
 0222 620D              add R22,R2
 0224 731D              adc R23,R3
 0226                   .dbline 110
 0226           ;         s_Ea=1;
 0226 0024              clr R0
 0228 0394              inc R0
 022A 0886              std y+8,R0
 022C                   .dbline 111
 022C           ;         }
 022C 0CC0              rjmp L24
 022E           L23:
 022E                   .dbline 113
 022E           ;         else
 022E           ;         {
 022E                   .dbline 114
 022E           ;          Ea=e_1-e_0;
 022E 20900C00          lds R2,_e_0
 0232 30900D00          lds R3,_e_0+1
 0236 60910E00          lds R22,_e_1
 023A 70910F00          lds R23,_e_1+1
 023E 6219              sub R22,R2
 0240 7309              sbc R23,R3
 0242                   .dbline 115
 0242           ;          s_Ea=0;
 0242 0024              clr R0
 0244 0886              std y+8,R0
 0246                   .dbline 116
 0246           ;         }
 0246           L24:
 0246                   .dbline 117
 0246           ;    }
 0246           L20:
 0246                   .dbline 118
 0246           ;  }
 0246           L12:
 0246                   .dbline 120
 0246           ; //Eb=Ki*e_0 
 0246           ;  if (s_e_0==0)
 0246 20900300          lds R2,_s_e_0
 024A 2220              tst R2
 024C 59F4              brne L25
 024E                   .dbline 121
 024E           ;  {
 024E                   .dbline 122
 024E           ;       Eb=Ki*e_0;
 024E 20910C00          lds R18,_e_0
 0252 30910D00          lds R19,_e_0+1
 0256 00910100          lds R16,_Ki
 025A 1127              clr R17
 025C 00D0              rcall mpy16s
 025E E02E              mov R14,R16
 0260 F12E              mov R15,R17
 0262                   .dbline 123
 0262           ;  }
 0262 0DC0              rjmp L26
 0264           L25:
 0264                   .dbline 125
 0264           ;  else
 0264           ;  {
 0264                   .dbline 126
 0264           ;    Eb=Ki*e_0;
 0264 20910C00          lds R18,_e_0
 0268 30910D00          lds R19,_e_0+1
 026C 00910100          lds R16,_Ki
 0270 1127              clr R17
 0272 00D0              rcall mpy16s
 0274 E02E              mov R14,R16
 0276 F12E              mov R15,R17
 0278                   .dbline 127
 0278           ;    s_Eb=1;
 0278 0024              clr R0
 027A 0394              inc R0
 027C 0A86              std y+10,R0
 027E                   .dbline 128
 027E           ;  }
 027E           L26:
 027E                   .dbline 130
 027E           ;  //Ec=2*e_1 
 027E           ;  if (s_e_1==0)
 027E 20900400          lds R2,_s_e_1
 0282 2220              tst R2
 0284 39F4              brne L27
 0286                   .dbline 131
 0286           ;  {
 0286                   .dbline 132
 0286           ;       Ec=2*e_1;
 0286 A0900E00          lds R10,_e_1
 028A B0900F00          lds R11,_e_1+1
 028E AA0C              lsl R10
 0290 BB1C              rol R11
 0292                   .dbline 133
 0292           ;  }
 0292 09C0              rjmp L28
 0294           L27:
 0294                   .dbline 135
 0294           ;  else
 0294           ;  {
 0294                   .dbline 136
 0294           ;    Ec=2*e_1;
 0294 A0900E00          lds R10,_e_1
 0298 B0900F00          lds R11,_e_1+1
 029C AA0C              lsl R10
 029E BB1C              rol R11
 02A0                   .dbline 137
 02A0           ;    s_Ec=1;
 02A0 0024              clr R0
 02A2 0394              inc R0
 02A4 0B86              std y+11,R0
 02A6                   .dbline 138
 02A6           ;  }
 02A6           L28:
 02A6                   .dbline 140
 02A6           ; //Ed=e_0-2*e_1(Ed=e_0-Ec)
 02A6           ; if (e_0>=Ec)
 02A6 20900C00          lds R2,_e_0
 02AA 30900D00          lds R3,_e_0+1
 02AE 2A14              cp R2,R10
 02B0 3B04              cpc R3,R11
 02B2 60F1              brlo L29
 02B4                   .dbline 141
 02B4           ; {
 02B4                   .dbline 142
 02B4           ;    if (s_e_0==0)
 02B4 20900300          lds R2,_s_e_0
 02B8 2220              tst R2
 02BA 89F4              brne L31
 02BC                   .dbline 143
 02BC           ;    {
 02BC                   .dbline 144
 02BC           ;         if (s_Ec==0)
 02BC 0B84              ldd R0,y+11
 02BE 0020              tst R0
 02C0 39F4              brne L33
 02C2                   .dbline 145
 02C2           ;         {
 02C2                   .dbline 146
 02C2           ;         Ed=e_0-Ec;
 02C2 C0900C00          lds R12,_e_0
 02C6 D0900D00          lds R13,_e_0+1
 02CA CA18              sub R12,R10
 02CC DB08              sbc R13,R11
 02CE                   .dbline 147
 02CE           ;         }
 02CE 55C0              rjmp L30
 02D0           L33:
 02D0                   .dbline 149
 02D0           ;         else
 02D0           ;         {
 02D0                   .dbline 150
 02D0           ;         Ed=e_0+Ec;
 02D0 C0900C00          lds R12,_e_0
 02D4 D0900D00          lds R13,_e_0+1
 02D8 CA0C              add R12,R10
 02DA DB1C              adc R13,R11
 02DC                   .dbline 151
 02DC           ;         }
 02DC                   .dbline 152
 02DC           ;    }
 02DC 4EC0              rjmp L30
 02DE           L31:
 02DE                   .dbline 154
 02DE           ;    else
 02DE           ;    {
 02DE                   .dbline 155
 02DE           ;         if (s_Ec==0)
 02DE 0B84              ldd R0,y+11
 02E0 0020              tst R0
 02E2 51F4              brne L35
 02E4                   .dbline 156
 02E4           ;         {
 02E4                   .dbline 157
 02E4           ;          Ed=e_0+Ec;
 02E4 C0900C00          lds R12,_e_0
 02E8 D0900D00          lds R13,_e_0+1
 02EC CA0C              add R12,R10
 02EE DB1C              adc R13,R11
 02F0                   .dbline 158
 02F0           ;          s_Ed=1;
 02F0 0024              clr R0
 02F2 0394              inc R0
 02F4 0986              std y+9,R0
 02F6                   .dbline 159
 02F6           ;         }
 02F6 41C0              rjmp L30
 02F8           L35:
 02F8                   .dbline 161
 02F8           ;         else

⌨️ 快捷键说明

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