?? display.lis
字號:
04CC .dbline 205
04CC ; else if(pannel_led[channel].state==normal) //通道正常指示
04CC 84E1 ldi R24,20
04CE 0D84 ldd R0,y+13
04D0 809D mul R24,R0
04D2 F001 movw R30,R0
04D4 80E0 ldi R24,<_pannel_led+13
04D6 90E0 ldi R25,>_pannel_led+13
04D8 E80F add R30,R24
04DA F91F adc R31,R25
04DC 2080 ldd R2,z+0
04DE 2220 tst R2
04E0 21F4 brne L118
04E2 .dbline 206
04E2 ; {
04E2 .dbline 207
04E2 ; PORTD&=0x7e;
04E2 8BB1 in R24,0xb
04E4 8E77 andi R24,126
04E6 8BB9 out 0xb,R24
04E8 .dbline 208
04E8 ; }
04E8 57C0 xjmp L111
04EA L118:
04EA .dbline 209
04EA ; else if(pannel_led[channel].state==fault) //傳感器故障指示
04EA 84E1 ldi R24,20
04EC 0D84 ldd R0,y+13
04EE 809D mul R24,R0
04F0 F001 movw R30,R0
04F2 80E0 ldi R24,<_pannel_led+13
04F4 90E0 ldi R25,>_pannel_led+13
04F6 E80F add R30,R24
04F8 F91F adc R31,R25
04FA 8081 ldd R24,z+0
04FC 8330 cpi R24,3
04FE 09F0 breq X5
0500 4BC0 xjmp L111
0502 X5:
0502 .dbline 210
0502 ; {
0502 .dbline 211
0502 ; PORTD |= 0x03;
0502 8BB1 in R24,0xb
0504 8360 ori R24,3
0506 8BB9 out 0xb,R24
0508 .dbline 212
0508 ; PORTD &= 0x7f;
0508 8BB1 in R24,0xb
050A 8F77 andi R24,127
050C 8BB9 out 0xb,R24
050E .dbline 213
050E ; }
050E .dbline 214
050E ; }
050E 44C0 xjmp L111
0510 L110:
0510 .dbline 215
0510 ; else if(pannel_led[channel].alarm_type==below) //下限報警指示
0510 84E1 ldi R24,20
0512 0D84 ldd R0,y+13
0514 809D mul R24,R0
0516 F001 movw R30,R0
0518 80E0 ldi R24,<_pannel_led+3
051A 90E0 ldi R25,>_pannel_led+3
051C E80F add R30,R24
051E F91F adc R31,R25
0520 8081 ldd R24,z+0
0522 853A cpi R24,165
0524 09F0 breq X6
0526 38C0 xjmp L124
0528 X6:
0528 .dbline 216
0528 ; {
0528 .dbline 217
0528 ; if((pannel_led[channel].state==noack)||(pannel_led[channel].state==acked))
0528 84E1 ldi R24,20
052A 0D84 ldd R0,y+13
052C 809D mul R24,R0
052E 80E0 ldi R24,<_pannel_led+13
0530 90E0 ldi R25,>_pannel_led+13
0532 F001 movw R30,R0
0534 E80F add R30,R24
0536 F91F adc R31,R25
0538 8081 ldd R24,z+0
053A 8130 cpi R24,1
053C 41F0 breq L131
053E 80E0 ldi R24,<_pannel_led+13
0540 90E0 ldi R25,>_pannel_led+13
0542 F001 movw R30,R0
0544 E80F add R30,R24
0546 F91F adc R31,R25
0548 8081 ldd R24,z+0
054A 8230 cpi R24,2
054C 29F4 brne L127
054E L131:
054E .dbline 218
054E ; {
054E .dbline 219
054E ; PORTD |= 0x02;
054E 599A sbi 0xb,1
0550 .dbline 220
0550 ; PORTD &= 0x7f;
0550 8BB1 in R24,0xb
0552 8F77 andi R24,127
0554 8BB9 out 0xb,R24
0556 .dbline 221
0556 ; }
0556 20C0 xjmp L128
0558 L127:
0558 .dbline 222
0558 ; else if(pannel_led[channel].state==normal) //正常指示
0558 84E1 ldi R24,20
055A 0D84 ldd R0,y+13
055C 809D mul R24,R0
055E F001 movw R30,R0
0560 80E0 ldi R24,<_pannel_led+13
0562 90E0 ldi R25,>_pannel_led+13
0564 E80F add R30,R24
0566 F91F adc R31,R25
0568 2080 ldd R2,z+0
056A 2220 tst R2
056C 21F4 brne L132
056E .dbline 223
056E ; {
056E .dbline 224
056E ; PORTD&=0xfd;
056E 8BB1 in R24,0xb
0570 8D7F andi R24,253
0572 8BB9 out 0xb,R24
0574 .dbline 225
0574 ; }
0574 11C0 xjmp L133
0576 L132:
0576 .dbline 226
0576 ; else if(pannel_led[channel].state==fault) //傳感器指示
0576 84E1 ldi R24,20
0578 0D84 ldd R0,y+13
057A 809D mul R24,R0
057C F001 movw R30,R0
057E 80E0 ldi R24,<_pannel_led+13
0580 90E0 ldi R25,>_pannel_led+13
0582 E80F add R30,R24
0584 F91F adc R31,R25
0586 8081 ldd R24,z+0
0588 8330 cpi R24,3
058A 31F4 brne L135
058C .dbline 227
058C ; {
058C .dbline 228
058C ; PORTD |= 0x03;
058C 8BB1 in R24,0xb
058E 8360 ori R24,3
0590 8BB9 out 0xb,R24
0592 .dbline 229
0592 ; PORTD &= 0x7f;
0592 8BB1 in R24,0xb
0594 8F77 andi R24,127
0596 8BB9 out 0xb,R24
0598 .dbline 230
0598 ; }
0598 L135:
0598 L133:
0598 L128:
0598 .dbline 231
0598 ; }
0598 L124:
0598 L111:
0598 .dbline 234
0598 ;
0598 ;
0598 ; t1 = channel/10; //通道號顯示
0598 1AE0 ldi R17,10
059A 0D85 ldd R16,y+13
059C 0E940000 xcall div8u
05A0 E02E mov R14,R16
05A2 .dbline 235
05A2 ; t2 = channel%10;
05A2 1AE0 ldi R17,10
05A4 0D85 ldd R16,y+13
05A6 0E940000 xcall mod8u
05AA A02E mov R10,R16
05AC .dbline 236
05AC ; if(!t1)
05AC EE20 tst R14
05AE 41F4 brne L138
05B0 .dbline 237
05B0 ; led7_display(12,0,0,1);
05B0 81E0 ldi R24,1
05B2 8A83 std y+2,R24
05B4 2224 clr R2
05B6 2882 std y+0,R2
05B8 2227 clr R18
05BA 0CE0 ldi R16,12
05BC 4BDE xcall _led7_display
05BE 07C0 xjmp L139
05C0 L138:
05C0 .dbline 239
05C0 ; else
05C0 ; led7_display(t1,0,0,1);
05C0 81E0 ldi R24,1
05C2 8A83 std y+2,R24
05C4 2224 clr R2
05C6 2882 std y+0,R2
05C8 2227 clr R18
05CA 0E2D mov R16,R14
05CC 43DE xcall _led7_display
05CE L139:
05CE .dbline 241
05CE ;
05CE ; led7_display(t2,1,0,1);
05CE 81E0 ldi R24,1
05D0 8A83 std y+2,R24
05D2 2224 clr R2
05D4 2882 std y+0,R2
05D6 21E0 ldi R18,1
05D8 0A2D mov R16,R10
05DA 3CDE xcall _led7_display
05DC .dbline 242
05DC ; if(pannel_led[channel].state!=fault)
05DC 84E1 ldi R24,20
05DE 0D84 ldd R0,y+13
05E0 809D mul R24,R0
05E2 F001 movw R30,R0
05E4 80E0 ldi R24,<_pannel_led+13
05E6 90E0 ldi R25,>_pannel_led+13
05E8 E80F add R30,R24
05EA F91F adc R31,R25
05EC 8081 ldd R24,z+0
05EE 8330 cpi R24,3
05F0 09F4 brne X7
05F2 FAC1 xjmp L140
05F4 X7:
05F4 .dbline 243
05F4 ; {
05F4 .dbline 244
05F4 ; WDR();
05F4 A895 wdr
05F6 .dbline 245
05F6 ; if(pannel_led[channel].sen_typed!=sw) //模擬量數值顯示
05F6 84E1 ldi R24,20
05F8 0D84 ldd R0,y+13
05FA 809D mul R24,R0
05FC F001 movw R30,R0
05FE 80E0 ldi R24,<_pannel_led
0600 90E0 ldi R25,>_pannel_led
0602 E80F add R30,R24
0604 F91F adc R31,R25
0606 8081 ldd R24,z+0
0608 8330 cpi R24,3
060A 09F4 brne X8
060C 94C1 xjmp L143
060E X8:
060E .dbline 246
060E ; {
060E .dbline 247
060E ; if(point_flag == 1)
060E 8F85 ldd R24,y+15
0610 8130 cpi R24,1
0612 09F0 breq X9
0614 C6C0 xjmp L145
0616 X9:
0616 .dbline 248
0616 ; {
0616 .dbline 249
0616 ; CLI();
0616 F894 cli
0618 .dbline 250
0618 ; WDR();
0618 A895 wdr
061A .dbline 251
061A ; t5 = data;
061A 4989 ldd R20,y+17
061C 5A89 ldd R21,y+18
061E .dbline 252
061E ; t1 = t5/1000;
061E 28EE ldi R18,1000
0620 33E0 ldi R19,3
0622 8A01 movw R16,R20
0624 0E940000 xcall div16u
0628 E02E mov R14,R16
062A .dbline 253
062A ; t2 = (t5%1000)/100;
062A 28EE ldi R18,1000
062C 33E0 ldi R19,3
062E 8A01 movw R16,R20
0630 0E940000 xcall mod16u
0634 24E6 ldi R18,100
0636 30E0 ldi R19,0
0638 0E940000 xcall div16u
063C A02E mov R10,R16
063E .dbline 254
063E ; t3 = ((t5%1000)%100)/10;
063E 28EE ldi R18,1000
0640 33E0 ldi R19,3
0642 8A01 movw R16,R20
0644 0E940000 xcall mod16u
0648 24E6 ldi R18,100
064A 30E0 ldi R19,0
064C 0E940000 xcall mod16u
0650 2AE0 ldi R18,10
0652 30E0 ldi R19,0
0654 0E940000 xcall div16u
0658 C02E mov R12,R16
065A .dbline 255
065A ; t4 = ((t5%1000)%100)%10;
065A 28EE ldi R18,1000
065C 33E0 ldi R19,3
065E 8A01 movw R16,R20
0660 0E940000 xcall mod16u
0664 24E6 ldi R18,100
0666 30E0 ldi R19,0
0668 0E940000 xcall mod16u
066C 2AE0 ldi R18,10
066E 30E0 ldi R19,0
0670 0E940000 xcall mod16u
0674 602F mov R22,R16
0676 .dbline 256
0676 ; if(t1)
0676 EE20 tst R14
0678 E1F0 breq L147
067A .dbline 257
067A ; {
067A .dbline 258
067A ; led7_display(t1,2,0,1);
067A 81E0 ldi R24,1
067C 8A83 std y+2,R24
067E 2224 clr R2
0680 2882 std y+0,R2
0682 22E0 ldi R18,2
0684 0E2D mov R16,R14
0686 E6DD xcall _led7_display
0688 .dbline 259
0688 ; led7_display(t2,3,0,1);
0688 81E0 ldi R24,1
068A 8A83 std y+2,R24
068C 2224 clr R2
068E 2882 std y+0,R2
0690 23E0 ldi R18,3
0692 0A2D mov R16,R10
0694 DFDD xcall _led7_display
0696 .dbline 260
0696 ; led7_display(t3,4,1,1);
0696 81E0 ldi R24,1
0698 8A83 std y+2,R24
069A 8883 std y+0,R24
069C 24E0 ldi R18,4
069E 0C2D mov R16,R12
06A0 D9DD xcall _led7_display
06A2 .dbline 261
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -