?? alarmprocess.lis
字號:
05A0 829D mul R24,R2
05A2 F001 movw R30,R0
05A4 3196 adiw R30,1
05A6 E40D add R30,R4
05A8 F51D adc R31,R5
05AA 4081 ldd R20,z+0
05AC 5527 clr R21
05AE .dbline 139
05AE ; temp1 = temp1*256;
05AE 00E0 ldi R16,256
05B0 11E0 ldi R17,1
05B2 9B01 movw R18,R22
05B4 0E940000 xcall empy16s
05B8 B801 movw R22,R16
05BA .dbline 140
05BA ; temp1 = temp1+temp2;
05BA 640F add R22,R20
05BC 751F adc R23,R21
05BE .dbline 141
05BE ; pannel_led[i].displaydata = temp1;
05BE 84E1 ldi R24,20
05C0 8A9D mul R24,R10
05C2 F001 movw R30,R0
05C4 80E0 ldi R24,<_pannel_led+18
05C6 90E0 ldi R25,>_pannel_led+18
05C8 E80F add R30,R24
05CA F91F adc R31,R25
05CC 7183 std z+1,R23
05CE 6083 std z+0,R22
05D0 .dbline 142
05D0 ; temp1 = temp1/10;
05D0 2AE0 ldi R18,10
05D2 30E0 ldi R19,0
05D4 8B01 movw R16,R22
05D6 0E940000 xcall div16u
05DA B801 movw R22,R16
05DC .dbline 143
05DC ; pannel_led[i].data=temp1;
05DC 84E1 ldi R24,20
05DE 8A9D mul R24,R10
05E0 F001 movw R30,R0
05E2 80E0 ldi R24,<_pannel_led+11
05E4 90E0 ldi R25,>_pannel_led+11
05E6 E80F add R30,R24
05E8 F91F adc R31,R25
05EA 7183 std z+1,R23
05EC 6083 std z+0,R22
05EE .dbline 145
05EE ;
05EE ; if(pannel_led[i].data<2)
05EE 84E1 ldi R24,20
05F0 8A9D mul R24,R10
05F2 F001 movw R30,R0
05F4 80E0 ldi R24,<_pannel_led+11
05F6 90E0 ldi R25,>_pannel_led+11
05F8 E80F add R30,R24
05FA F91F adc R31,R25
05FC 8081 ldd R24,z+0
05FE 9181 ldd R25,z+1
0600 8230 cpi R24,2
0602 E0E0 ldi R30,0
0604 9E07 cpc R25,R30
0606 50F4 brsh L98
0608 .dbline 146
0608 ; {
0608 .dbline 147
0608 ; pannel_led[i].current_state = fault; //傳感器故障
0608 84E1 ldi R24,20
060A 8A9D mul R24,R10
060C F001 movw R30,R0
060E 80E0 ldi R24,<_pannel_led+14
0610 90E0 ldi R25,>_pannel_led+14
0612 E80F add R30,R24
0614 F91F adc R31,R25
0616 83E0 ldi R24,3
0618 8083 std z+0,R24
061A .dbline 148
061A ; }
061A A1C1 xjmp L88
061C L98:
061C .dbline 150
061C ; else
061C ; {
061C .dbline 152
061C ;
061C ; if(pannel_led[i].alarm_type==above) //上限報警處理
061C 84E1 ldi R24,20
061E 8A9D mul R24,R10
0620 F001 movw R30,R0
0622 80E0 ldi R24,<_pannel_led+3
0624 90E0 ldi R25,>_pannel_led+3
0626 E80F add R30,R24
0628 F91F adc R31,R25
062A 8081 ldd R24,z+0
062C 8A35 cpi R24,90
062E 09F0 breq X7
0630 61C0 xjmp L102
0632 X7:
0632 .dbline 153
0632 ; {
0632 .dbline 154
0632 ; if(pannel_led[i].data>pannel_led[i].limit+pannel_led[i].zone)
0632 84E1 ldi R24,20
0634 8A9D mul R24,R10
0636 80E0 ldi R24,<_pannel_led+6
0638 90E0 ldi R25,>_pannel_led+6
063A F001 movw R30,R0
063C E80F add R30,R24
063E F91F adc R31,R25
0640 2080 ldd R2,z+0
0642 3180 ldd R3,z+1
0644 80E0 ldi R24,<_pannel_led+4
0646 90E0 ldi R25,>_pannel_led+4
0648 F001 movw R30,R0
064A E80F add R30,R24
064C F91F adc R31,R25
064E 4080 ldd R4,z+0
0650 5180 ldd R5,z+1
0652 420C add R4,R2
0654 531C adc R5,R3
0656 80E0 ldi R24,<_pannel_led+11
0658 90E0 ldi R25,>_pannel_led+11
065A F001 movw R30,R0
065C E80F add R30,R24
065E F91F adc R31,R25
0660 2080 ldd R2,z+0
0662 3180 ldd R3,z+1
0664 4214 cp R4,R2
0666 5304 cpc R5,R3
0668 F0F4 brsh L105
066A .dbline 155
066A ; {
066A .dbline 156
066A ; if(pannel_led[i].state!=acked) //未應答
066A 84E1 ldi R24,20
066C 8A9D mul R24,R10
066E F001 movw R30,R0
0670 80E0 ldi R24,<_pannel_led+13
0672 90E0 ldi R25,>_pannel_led+13
0674 E80F add R30,R24
0676 F91F adc R31,R25
0678 8081 ldd R24,z+0
067A 8230 cpi R24,2
067C 51F0 breq L110
067E .dbline 157
067E ; {
067E .dbline 158
067E ; pannel_led[i].current_state = noack;
067E 84E1 ldi R24,20
0680 8A9D mul R24,R10
0682 F001 movw R30,R0
0684 80E0 ldi R24,<_pannel_led+14
0686 90E0 ldi R25,>_pannel_led+14
0688 E80F add R30,R24
068A F91F adc R31,R25
068C 81E0 ldi R24,1
068E 8083 std z+0,R24
0690 .dbline 159
0690 ; }
0690 66C1 xjmp L88
0692 L110:
0692 .dbline 161
0692 ; else
0692 ; {
0692 .dbline 162
0692 ; pannel_led[i].current_state = acked; //已應答
0692 84E1 ldi R24,20
0694 8A9D mul R24,R10
0696 F001 movw R30,R0
0698 80E0 ldi R24,<_pannel_led+14
069A 90E0 ldi R25,>_pannel_led+14
069C E80F add R30,R24
069E F91F adc R31,R25
06A0 82E0 ldi R24,2
06A2 8083 std z+0,R24
06A4 .dbline 163
06A4 ; }
06A4 .dbline 164
06A4 ; }
06A4 5CC1 xjmp L88
06A6 L105:
06A6 .dbline 165
06A6 ; else if(pannel_led[i].data<pannel_led[i].limit-pannel_led[i].zone)
06A6 84E1 ldi R24,20
06A8 8A9D mul R24,R10
06AA 80E0 ldi R24,<_pannel_led+6
06AC 90E0 ldi R25,>_pannel_led+6
06AE F001 movw R30,R0
06B0 E80F add R30,R24
06B2 F91F adc R31,R25
06B4 2080 ldd R2,z+0
06B6 3180 ldd R3,z+1
06B8 80E0 ldi R24,<_pannel_led+4
06BA 90E0 ldi R25,>_pannel_led+4
06BC F001 movw R30,R0
06BE E80F add R30,R24
06C0 F91F adc R31,R25
06C2 4080 ldd R4,z+0
06C4 5180 ldd R5,z+1
06C6 4218 sub R4,R2
06C8 5308 sbc R5,R3
06CA 80E0 ldi R24,<_pannel_led+11
06CC 90E0 ldi R25,>_pannel_led+11
06CE F001 movw R30,R0
06D0 E80F add R30,R24
06D2 F91F adc R31,R25
06D4 2080 ldd R2,z+0
06D6 3180 ldd R3,z+1
06D8 2414 cp R2,R4
06DA 3504 cpc R3,R5
06DC 08F0 brlo X8
06DE 3FC1 xjmp L88
06E0 X8:
06E0 .dbline 166
06E0 ; {
06E0 .dbline 167
06E0 ; pannel_led[i].current_state = normal; //正常
06E0 84E1 ldi R24,20
06E2 8A9D mul R24,R10
06E4 F001 movw R30,R0
06E6 80E0 ldi R24,<_pannel_led+14
06E8 90E0 ldi R25,>_pannel_led+14
06EA E80F add R30,R24
06EC F91F adc R31,R25
06EE 2224 clr R2
06F0 2082 std z+0,R2
06F2 .dbline 168
06F2 ; }
06F2 .dbline 169
06F2 ; }
06F2 35C1 xjmp L88
06F4 L102:
06F4 .dbline 171
06F4 ; else
06F4 ; {
06F4 .dbline 172
06F4 ; if(pannel_led[i].data<pannel_led[i].limit-pannel_led[i].zone)
06F4 84E1 ldi R24,20
06F6 8A9D mul R24,R10
06F8 80E0 ldi R24,<_pannel_led+6
06FA 90E0 ldi R25,>_pannel_led+6
06FC F001 movw R30,R0
06FE E80F add R30,R24
0700 F91F adc R31,R25
0702 2080 ldd R2,z+0
0704 3180 ldd R3,z+1
0706 80E0 ldi R24,<_pannel_led+4
0708 90E0 ldi R25,>_pannel_led+4
070A F001 movw R30,R0
070C E80F add R30,R24
070E F91F adc R31,R25
0710 4080 ldd R4,z+0
0712 5180 ldd R5,z+1
0714 4218 sub R4,R2
0716 5308 sbc R5,R3
0718 80E0 ldi R24,<_pannel_led+11
071A 90E0 ldi R25,>_pannel_led+11
071C F001 movw R30,R0
071E E80F add R30,R24
0720 F91F adc R31,R25
0722 2080 ldd R2,z+0
0724 3180 ldd R3,z+1
0726 2414 cp R2,R4
0728 3504 cpc R3,R5
072A F0F4 brsh L121
072C .dbline 173
072C ; {
072C .dbline 174
072C ; if(pannel_led[i].state!=acked) //未應答
072C 84E1 ldi R24,20
072E 8A9D mul R24,R10
0730 F001 movw R30,R0
0732 80E0 ldi R24,<_pannel_led+13
0734 90E0 ldi R25,>_pannel_led+13
0736 E80F add R30,R24
0738 F91F adc R31,R25
073A 8081 ldd R24,z+0
073C 8230 cpi R24,2
073E 51F0 breq L126
0740 .dbline 175
0740 ; {
0740 .dbline 176
0740 ; pannel_led[i].current_state = noack;
0740 84E1 ldi R24,20
0742 8A9D mul R24,R10
0744 F001 movw R30,R0
0746 80E0 ldi R24,<_pannel_led+14
0748 90E0 ldi R25,>_pannel_led+14
074A E80F add R30,R24
074C F91F adc R31,R25
074E 81E0 ldi R24,1
0750 8083 std z+0,R24
0752 .dbline 177
0752 ; }
0752 05C1 xjmp L88
0754 L126:
0754 .dbline 179
0754 ; else
0754 ; {
0754 .dbline 180
0754 ; pannel_led[i].current_state = acked; //已應答
0754 84E1 ldi R24,20
0756 8A9D mul R24,R10
0758 F001 movw R30,R0
075A 80E0 ldi R24,<_pannel_led+14
075C 90E0 ldi R25,>_pannel_led+14
075E E80F add R30,R24
0760 F91F adc R31,R25
0762 82E0 ldi R24,2
0764 8083 std z+0,R24
0766 .dbline 181
0766 ; }
0766 .dbline 182
0766 ; }
0766 FBC0 xjmp L88
0768 L121:
0768 .dbline 183
0768 ; else if(pannel_led[i].data>pannel_led[i].limit+pannel_led[i].zone)
0768 84E1 ldi R24,20
076A 8A9D mul R24,R10
076C 80E0 ldi R24,<_pannel_led+6
076E 90E0 ldi R25,>_pannel_led+6
0770 F001 movw R30,R0
0772 E80F add R30,R24
0774 F91F adc R31,R25
0776 2080 ldd R2,z+0
0778 3180 ldd R3,z+1
077A 80E0 ldi R24,<_pannel_led+4
077C 90E0 ldi R25,>_pannel_led+4
077E F001 movw R30,R0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -