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

📄 alarmprocess.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01EC                   .dbline 51
 01EC           ;          pannel_led[i].soundoff = normal;
 01EC 84E1              ldi R24,20
 01EE 849F              mul R24,R20
 01F0 F001              movw R30,R0
 01F2 80E0              ldi R24,<_pannel_led+17
 01F4 90E0              ldi R25,>_pannel_led+17
 01F6 E80F              add R30,R24
 01F8 F91F              adc R31,R25
 01FA 2224              clr R2
 01FC 2082              std z+0,R2
 01FE                   .dbline 52
 01FE           ;          buzzer_off();
 01FE 0E940000          xcall _buzzer_off
 0202                   .dbline 53
 0202           ;          relay1_off(); 
 0202 0E940000          xcall _relay1_off
 0206                   .dbline 54
 0206           ;          }
 0206           L16:
 0206                   .dbline 55
 0206           L12:
 0206                   .dbline 33
 0206 4395              inc R20
 0208           L14:
 0208                   .dbline 33
 0208 4033              cpi R20,48
 020A 08F4              brsh X0
 020C C6CF              xjmp L11
 020E           X0:
 020E                   .dbline 57
 020E           ;    }
 020E           ;      
 020E           ;        if(pannel_led[i].soundoff==acked)
 020E 84E1              ldi R24,20
 0210 849F              mul R24,R20
 0212 F001              movw R30,R0
 0214 80E0              ldi R24,<_pannel_led+17
 0216 90E0              ldi R25,>_pannel_led+17
 0218 E80F              add R30,R24
 021A F91F              adc R31,R25
 021C 8081              ldd R24,z+0
 021E 8230              cpi R24,2
 0220 21F4              brne L24
 0222                   .dbline 58
 0222           ;        {
 0222                   .dbline 59
 0222           ;          buzzer_off();
 0222 0E940000          xcall _buzzer_off
 0226                   .dbline 60
 0226           ;          relay1_off(); 
 0226 0E940000          xcall _relay1_off
 022A                   .dbline 61
 022A           ;        }
 022A           L24:
 022A                   .dbline 63
 022A 84E1              ldi R24,20
 022C 849F              mul R24,R20
 022E 80E0              ldi R24,<_pannel_led+17
 0230 90E0              ldi R25,>_pannel_led+17
 0232 F001              movw R30,R0
 0234 E80F              add R30,R24
 0236 F91F              adc R31,R25
 0238 8081              ldd R24,z+0
 023A 8130              cpi R24,1
 023C 61F4              brne L27
 023E 80E0              ldi R24,<_pannel_led+16
 0240 90E0              ldi R25,>_pannel_led+16
 0242 F001              movw R30,R0
 0244 E80F              add R30,R24
 0246 F91F              adc R31,R25
 0248 8081              ldd R24,z+0
 024A 853A              cpi R24,165
 024C 21F4              brne L27
 024E                   .dbline 64
 024E                   .dbline 65
 024E 0E940000          xcall _buzzer_on
 0252                   .dbline 66
 0252 0E940000          xcall _relay1_on
 0256                   .dbline 67
 0256           L27:
 0256                   .dbline -2
 0256           L10:
 0256 0E940000          xcall pop_gset1
 025A                   .dbline 0 ; func end
 025A 0895              ret
 025C                   .dbsym r i 20 c
 025C                   .dbend
 025C                   .dbfunc e channel_process _channel_process fV
 025C           ;          temp2 -> R20,R21
 025C           ;          temp1 -> R22,R23
 025C           ;              i -> R10
                        .even
 025C           _channel_process::
 025C 0E940000          xcall push_gset3
 0260                   .dbline -1
 0260                   .dbline 72
 0260           ;   
 0260           ;        if((pannel_led[i].soundoff==noack)&&(pannel_led[i].cut_off==off))
 0260           ;        {
 0260           ;          buzzer_on();
 0260           ;          relay1_on(); 
 0260           ;        }
 0260           ; }
 0260           ; 
 0260           ; 
 0260           ; void channel_process(void)
 0260           ; {
 0260                   .dbline 75
 0260           ;  unsigned char i;
 0260           ;  unsigned int temp1,temp2;
 0260           ;  for(i=0;i<48;i++)
 0260 AA24              clr R10
 0262 7EC3              xjmp L35
 0264           L32:
 0264                   .dbline 76
 0264           ; {
 0264                   .dbline 77
 0264           ;  WDR();
 0264 A895              wdr
 0266                   .dbline 78
 0266           ;  if(pannel_led[i].sen_typed==ma)
 0266 84E1              ldi R24,20
 0268 8A9D              mul R24,R10
 026A F001              movw R30,R0
 026C 80E0              ldi R24,<_pannel_led
 026E 90E0              ldi R25,>_pannel_led
 0270 E80F              add R30,R24
 0272 F91F              adc R31,R25
 0274 2080              ldd R2,z+0
 0276 2220              tst R2
 0278 09F0              breq X2
 027A 4EC1              xjmp L36
 027C           X2:
 027C                   .dbline 79
 027C           ;  {WDR();
 027C                   .dbline 79
 027C A895              wdr
 027E                   .dbline 80
 027E           ;  temp1 = rece_data[pannel_led[i].ID].Data[2*pannel_led[i].channel];                      //高位
 027E 84E1              ldi R24,20
 0280 8A9D              mul R24,R10
 0282 1001              movw R2,R0
 0284 80E0              ldi R24,<_pannel_led+1
 0286 90E0              ldi R25,>_pannel_led+1
 0288 F101              movw R30,R2
 028A E80F              add R30,R24
 028C F91F              adc R31,R25
 028E 4080              ldd R4,z+0
 0290 8CE0              ldi R24,12
 0292 849D              mul R24,R4
 0294 2001              movw R4,R0
 0296 80E0              ldi R24,<_rece_data+4
 0298 90E0              ldi R25,>_rece_data+4
 029A 480E              add R4,R24
 029C 591E              adc R5,R25
 029E 80E0              ldi R24,<_pannel_led+2
 02A0 90E0              ldi R25,>_pannel_led+2
 02A2 F101              movw R30,R2
 02A4 E80F              add R30,R24
 02A6 F91F              adc R31,R25
 02A8 2080              ldd R2,z+0
 02AA 82E0              ldi R24,2
 02AC 829D              mul R24,R2
 02AE F001              movw R30,R0
 02B0 E40D              add R30,R4
 02B2 F51D              adc R31,R5
 02B4 6081              ldd R22,z+0
 02B6 7727              clr R23
 02B8                   .dbline 81
 02B8           ;  temp2 = rece_data[pannel_led[i].ID].Data[2*pannel_led[i].channel+1];                    //低位
 02B8 84E1              ldi R24,20
 02BA 8A9D              mul R24,R10
 02BC 1001              movw R2,R0
 02BE 80E0              ldi R24,<_pannel_led+1
 02C0 90E0              ldi R25,>_pannel_led+1
 02C2 F101              movw R30,R2
 02C4 E80F              add R30,R24
 02C6 F91F              adc R31,R25
 02C8 4080              ldd R4,z+0
 02CA 8CE0              ldi R24,12
 02CC 849D              mul R24,R4
 02CE 2001              movw R4,R0
 02D0 80E0              ldi R24,<_rece_data+4
 02D2 90E0              ldi R25,>_rece_data+4
 02D4 480E              add R4,R24
 02D6 591E              adc R5,R25
 02D8 80E0              ldi R24,<_pannel_led+2
 02DA 90E0              ldi R25,>_pannel_led+2
 02DC F101              movw R30,R2
 02DE E80F              add R30,R24
 02E0 F91F              adc R31,R25
 02E2 2080              ldd R2,z+0
 02E4 82E0              ldi R24,2
 02E6 829D              mul R24,R2
 02E8 F001              movw R30,R0
 02EA 3196              adiw R30,1
 02EC E40D              add R30,R4
 02EE F51D              adc R31,R5
 02F0 4081              ldd R20,z+0
 02F2 5527              clr R21
 02F4                   .dbline 82
 02F4           ;  temp1 = temp1*256;
 02F4 00E0              ldi R16,256
 02F6 11E0              ldi R17,1
 02F8 9B01              movw R18,R22
 02FA 0E940000          xcall empy16s
 02FE B801              movw R22,R16
 0300                   .dbline 83
 0300           ;  temp1 = temp1+temp2;
 0300 640F              add R22,R20
 0302 751F              adc R23,R21
 0304                   .dbline 84
 0304           ;  pannel_led[i].data = temp1;
 0304 84E1              ldi R24,20
 0306 8A9D              mul R24,R10
 0308 F001              movw R30,R0
 030A 80E0              ldi R24,<_pannel_led+11
 030C 90E0              ldi R25,>_pannel_led+11
 030E E80F              add R30,R24
 0310 F91F              adc R31,R25
 0312 7183              std z+1,R23
 0314 6083              std z+0,R22
 0316                   .dbline 85
 0316           ;  if(pannel_led[i].data<400)
 0316 84E1              ldi R24,20
 0318 8A9D              mul R24,R10
 031A F001              movw R30,R0
 031C 80E0              ldi R24,<_pannel_led+11
 031E 90E0              ldi R25,>_pannel_led+11
 0320 E80F              add R30,R24
 0322 F91F              adc R31,R25
 0324 8081              ldd R24,z+0
 0326 9181              ldd R25,z+1
 0328 8039              cpi R24,144
 032A E1E0              ldi R30,1
 032C 9E07              cpc R25,R30
 032E 50F4              brsh L45
 0330                   .dbline 86
 0330           ;  {
 0330                   .dbline 87
 0330           ;  pannel_led[i].current_state = fault;                                                    //传感器故障
 0330 84E1              ldi R24,20
 0332 8A9D              mul R24,R10
 0334 F001              movw R30,R0
 0336 80E0              ldi R24,<_pannel_led+14
 0338 90E0              ldi R25,>_pannel_led+14
 033A E80F              add R30,R24
 033C F91F              adc R31,R25
 033E 83E0              ldi R24,3
 0340 8083              std z+0,R24
 0342                   .dbline 88
 0342           ;  }
 0342 0DC3              xjmp L37
 0344           L45:
 0344                   .dbline 91
 0344           ;  
 0344           ;  else
 0344           ;  {
 0344                   .dbline 92
 0344           ;  pannel_led[i].displaydata=current_jisuan(pannel_led[i].fullscal,pannel_led[i].data);   //显示值计算
 0344 84E1              ldi R24,20
 0346 8A9D              mul R24,R10
 0348 1001              movw R2,R0
 034A 80E0              ldi R24,<_pannel_led+11
 034C 90E0              ldi R25,>_pannel_led+11
 034E F101              movw R30,R2
 0350 E80F              add R30,R24
 0352 F91F              adc R31,R25
 0354 2081              ldd R18,z+0
 0356 3181              ldd R19,z+1
 0358 80E0              ldi R24,<_pannel_led+8
 035A 90E0              ldi R25,>_pannel_led+8
 035C F101              movw R30,R2
 035E E80F              add R30,R24
 0360 F91F              adc R31,R25
 0362 0081              ldd R16,z+0
 0364 1181              ldd R17,z+1
 0366 0F92              push R0
 0368 1F92              push R1
 036A 4ADE              xcall _current_jisuan
 036C 3F90              pop R3
 036E 2F90              pop R2
 0370 80E0              ldi R24,<_pannel_led+18
 0372 90E0              ldi R25,>_pannel_led+18
 0374 F101              movw R30,R2
 0376 E80F              add R30,R24
 0378 F91F              adc R31,R25
 037A 1183              std z+1,R17
 037C 0083              std z+0,R16
 037E                   .dbline 94
 037E           ;    
 037E           ;    if(pannel_led[i].alarm_type==above)                                //上限报警处理
 037E 84E1              ldi R24,20
 0380 8A9D              mul R24,R10
 0382 F001              movw R30,R0
 0384 80E0              ldi R24,<_pannel_led+3
 0386 90E0              ldi R25,>_pannel_led+3
 0388 E80F              add R30,R24
 038A F91F              adc R31,R25
 038C 8081              ldd R24,z+0
 038E 8A35              cpi R24,90
 0390 09F0              breq X3
 0392 61C0              xjmp L52
 0394           X3:
 0394                   .dbline 95
 0394           ;      {
 0394                   .dbline 96
 0394           ;          if(pannel_led[i].displaydata>pannel_led[i].limit+pannel_led[i].zone)
 0394 84E1              ldi R24,20
 0396 8A9D              mul R24,R10
 0398 80E0              ldi R24,<_pannel_led+6
 039A 90E0              ldi R25,>_pannel_led+6
 039C F001              movw R30,R0
 039E E80F              add R30,R24
 03A0 F91F              adc R31,R25
 03A2 2080              ldd R2,z+0
 03A4 3180              ldd R3,z+1
 03A6 80E0              ldi R24,<_pannel_led+4
 03A8 90E0              ldi R25,>_pannel_led+4
 03AA F001              movw R30,R0
 03AC E80F              add R30,R24
 03AE F91F              adc R31,R25
 03B0 4080              ldd R4,z+0
 03B2 5180              ldd R5,z+1
 03B4 420C              add R4,R2
 03B6 531C              adc R5,R3
 03B8 80E0              ldi R24,<_pannel_led+18
 03BA 90E0              ldi R25,>_pannel_led+18
 03BC F001              movw R30,R0

⌨️ 快捷键说明

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