📄 display.lis
字号:
0162 .dbline 71
0162 ; DisBuffer[3]=Led_CHR[BCDCodeArray[3]];
0162 80E0 ldi R24,<_Led_CHR
0164 90E0 ldi R25,>_Led_CHR
0166 E0910300 lds R30,_BCDCodeArray+3
016A FF27 clr R31
016C E80F add R30,R24
016E F91F adc R31,R25
0170 2080 ldd R2,z+0
0172 20920300 sts _DisBuffer+3,R2
0176 .dbline 72
0176 ; for( i=0;i<2;i++ )
0176 4427 clr R20
0178 12C0 xjmp L45
017A L42:
017A .dbline 73
017A ; {
017A .dbline 74
017A ; if( DisBuffer[i]==Led_CHR[0] )
017A 80E0 ldi R24,<_DisBuffer
017C 90E0 ldi R25,>_DisBuffer
017E E42F mov R30,R20
0180 FF27 clr R31
0182 E80F add R30,R24
0184 F91F adc R31,R25
0186 2080 ldd R2,z+0
0188 30900000 lds R3,_Led_CHR
018C 2314 cp R2,R3
018E 49F4 brne L44
0190 X8:
0190 .dbline 75
0190 ; DisBuffer[i]=LED_Black;
0190 E42F mov R30,R20
0192 FF27 clr R31
0194 E80F add R30,R24
0196 F91F adc R31,R25
0198 2224 clr R2
019A 2082 std z+0,R2
019C .dbline 76
019C ; else break;
019C L47:
019C .dbline 77
019C ; }
019C L43:
019C .dbline 72
019C 4395 inc R20
019E L45:
019E .dbline 72
019E 4230 cpi R20,2
01A0 60F3 brlo L42
01A2 X9:
01A2 L44:
01A2 .dbline 79
01A2 ;
01A2 ; WordToBcd(OutputSignal.Adv);
01A2 00910800 lds R16,_OutputSignal+8
01A6 10910900 lds R17,_OutputSignal+8+1
01AA 2ADF xcall _WordToBcd
01AC .dbline 80
01AC ; DisBuffer[4]=Led_CHR[BCDCodeArray[0]];
01AC 80E0 ldi R24,<_Led_CHR
01AE 90E0 ldi R25,>_Led_CHR
01B0 E0910000 lds R30,_BCDCodeArray
01B4 FF27 clr R31
01B6 E80F add R30,R24
01B8 F91F adc R31,R25
01BA 2080 ldd R2,z+0
01BC 20920400 sts _DisBuffer+4,R2
01C0 .dbline 81
01C0 ; DisBuffer[5]=Led_CHR[BCDCodeArray[1]];
01C0 E0910100 lds R30,_BCDCodeArray+1
01C4 FF27 clr R31
01C6 E80F add R30,R24
01C8 F91F adc R31,R25
01CA 2080 ldd R2,z+0
01CC 20920500 sts _DisBuffer+5,R2
01D0 .dbline 82
01D0 ; DisBuffer[6]=Led_CHR[BCDCodeArray[2]] | 0x80;
01D0 E0910200 lds R30,_BCDCodeArray+2
01D4 FF27 clr R31
01D6 E80F add R30,R24
01D8 F91F adc R31,R25
01DA 8081 ldd R24,z+0
01DC 8068 ori R24,128
01DE 80930600 sts _DisBuffer+6,R24
01E2 .dbline 83
01E2 ; DisBuffer[7]=Led_CHR[BCDCodeArray[3]];
01E2 80E0 ldi R24,<_Led_CHR
01E4 90E0 ldi R25,>_Led_CHR
01E6 E0910300 lds R30,_BCDCodeArray+3
01EA FF27 clr R31
01EC E80F add R30,R24
01EE F91F adc R31,R25
01F0 2080 ldd R2,z+0
01F2 20920700 sts _DisBuffer+7,R2
01F6 .dbline 84
01F6 ; for( i=0;i<2;i++ )
01F6 4427 clr R20
01F8 13C0 xjmp L59
01FA L56:
01FA .dbline 85
01FA ; {
01FA .dbline 86
01FA ; if( DisBuffer[i+4]==Led_CHR[0] )
01FA 80E0 ldi R24,<_DisBuffer+4
01FC 90E0 ldi R25,>_DisBuffer+4
01FE E42F mov R30,R20
0200 FF27 clr R31
0202 E80F add R30,R24
0204 F91F adc R31,R25
0206 2080 ldd R2,z+0
0208 30900000 lds R3,_Led_CHR
020C 2314 cp R2,R3
020E 09F0 breq X21
0210 5CC0 xjmp L32
0212 X21:
0212 X10:
0212 .dbline 87
0212 ; DisBuffer[i+4]=LED_Black;
0212 E42F mov R30,R20
0214 FF27 clr R31
0216 E80F add R30,R24
0218 F91F adc R31,R25
021A 2224 clr R2
021C 2082 std z+0,R2
021E .dbline 88
021E ; else break;
021E L61:
021E .dbline 89
021E ; }
021E L57:
021E .dbline 84
021E 4395 inc R20
0220 L59:
0220 .dbline 84
0220 4230 cpi R20,2
0222 58F3 brlo L56
0224 X11:
0224 .dbline 90
0224 ; break;
0224 52C0 xjmp L32
0226 L64:
0226 .dbline 93
0226 ; case CurrentLoCalibration_ADS:
0226 ; case CurrentHiCalibration_ADS:
0226 ; DisBuffer[0]=LED_o;
0226 8CE5 ldi R24,92
0228 80930000 sts _DisBuffer,R24
022C .dbline 94
022C ; DisBuffer[1]=LED_u;
022C 8CE1 ldi R24,28
022E 80930100 sts _DisBuffer+1,R24
0232 .dbline 95
0232 ; DisBuffer[2]=LED__;
0232 80E4 ldi R24,64
0234 80930200 sts _DisBuffer+2,R24
0238 .dbline 97
0238 ;
0238 ; if(DisStatus==CurrentLoCalibration_ADS)
0238 80910000 lds R24,_DisStatus
023C 8130 cpi R24,1
023E 21F4 brne L67
0240 X12:
0240 .dbline 98
0240 ; DisBuffer[3]=LED_L;
0240 88E3 ldi R24,56
0242 80930300 sts _DisBuffer+3,R24
0246 03C0 xjmp L68
0248 L67:
0248 .dbline 100
0248 ; else
0248 ; DisBuffer[3]=LED_H;
0248 86E7 ldi R24,118
024A 80930300 sts _DisBuffer+3,R24
024E L68:
024E .dbline 101
024E ; WordToBcd(NeedModifyVariable/10);
024E 2AE0 ldi R18,10
0250 30E0 ldi R19,0
0252 00910000 lds R16,_NeedModifyVariable
0256 10910100 lds R17,_NeedModifyVariable+1
025A 0E940000 xcall div16u
025E D0DE xcall _WordToBcd
0260 .dbline 102
0260 ; FillBCDToDisBuffer();
0260 FDDE xcall _FillBCDToDisBuffer
0262 .dbline 103
0262 ; break;
0262 33C0 xjmp L32
0264 L71:
0264 .dbline 107
0264 ;
0264 ; case In_CurrentLoCalibration_ADS:
0264 ; case In_CurrentHiCalibration_ADS:
0264 ; DisBuffer[0]=LED_I;
0264 84E0 ldi R24,4
0266 80930000 sts _DisBuffer,R24
026A .dbline 108
026A ; DisBuffer[1]=LED_n;
026A 84E5 ldi R24,84
026C 80930100 sts _DisBuffer+1,R24
0270 .dbline 109
0270 ; DisBuffer[2]=LED__;
0270 80E4 ldi R24,64
0272 80930200 sts _DisBuffer+2,R24
0276 .dbline 111
0276 ;
0276 ; if(DisStatus==In_CurrentLoCalibration_ADS)
0276 80910000 lds R24,_DisStatus
027A 8330 cpi R24,3
027C 21F4 brne L74
027E X13:
027E .dbline 112
027E ; DisBuffer[3]=LED_L;
027E 88E3 ldi R24,56
0280 80930300 sts _DisBuffer+3,R24
0284 03C0 xjmp L75
0286 L74:
0286 .dbline 114
0286 ; else
0286 ; DisBuffer[3]=LED_H;
0286 86E7 ldi R24,118
0288 80930300 sts _DisBuffer+3,R24
028C L75:
028C .dbline 117
028C ;
028C ;
028C ; if( ((Current4_20mA.ADStatus&0x91)!=0x91)||(Current4_20mA.Adv>=0x400) )
028C 80910C00 lds R24,_Current4_20mA+12
0290 8179 andi R24,145
0292 8139 cpi R24,145
0294 41F4 brne L82
0296 X14:
0296 80910800 lds R24,_Current4_20mA+8
029A 90910900 lds R25,_Current4_20mA+8+1
029E 8030 cpi R24,0
02A0 E4E0 ldi R30,4
02A2 9E07 cpc R25,R30
02A4 60F0 brlo L78
02A6 X15:
02A6 L82:
02A6 .dbline 118
02A6 ; {
02A6 .dbline 120
02A6 ;
02A6 ; DisBuffer[4]=LED_e;
02A6 8BE7 ldi R24,123
02A8 80930400 sts _DisBuffer+4,R24
02AC .dbline 121
02AC ; DisBuffer[5]=LED_r;
02AC 80E6 ldi R24,96
02AE 80930500 sts _DisBuffer+5,R24
02B2 .dbline 122
02B2 ; DisBuffer[6]=LED_r;
02B2 80930600 sts _DisBuffer+6,R24
02B6 .dbline 123
02B6 ; DisBuffer[7]=LED_Black;//电流错误
02B6 2224 clr R2
02B8 20920700 sts _DisBuffer+7,R2
02BC .dbline 124
02BC ; }
02BC 06C0 xjmp L32
02BE L78:
02BE .dbline 126
02BE ; else
02BE ; {
02BE .dbline 127
02BE ; WordToBcd( Current4_20mA.Adv );
02BE 00910800 lds R16,_Current4_20mA+8
02C2 10910900 lds R17,_Current4_20mA+8+1
02C6 9CDE xcall _WordToBcd
02C8 .dbline 128
02C8 ; FillBCDToDisBuffer();
02C8 C9DE xcall _FillBCDToDisBuffer
02CA .dbline 129
02CA ; }
02CA .dbline 131
02CA ;
02CA ; break;
02CA .dbline 134
02CA ;
02CA ; default:
02CA ; break;
02CA L32:
02CA .dbline 137
02CA ; }
02CA ;
02CA ; if(Para_Dis_mody==1)
02CA 80910000 lds R24,_Para_Dis_mody
02CE 8130 cpi R24,1
02D0 59F4 brne L88
02D2 X16:
02D2 .dbline 138
02D2 ; {
02D2 .dbline 139
02D2 ; DisBuffer[4]=LED_S;
02D2 8DE6 ldi R24,109
02D4 80930400 sts _DisBuffer+4,R24
02D8 .dbline 140
02D8 ; DisBuffer[5]=LED_U;
02D8 8EE3 ldi R24,62
02DA 80930500 sts _DisBuffer+5,R24
02DE .dbline 141
02DE ; DisBuffer[6]=LED_C;
02DE 89E3 ldi R24,57
02E0 80930600 sts _DisBuffer+6,R24
02E4 .dbline 142
02E4 ; DisBuffer[7]=LED_C;//成功
02E4 80930700 sts _DisBuffer+7,R24
02E8 .dbline 143
02E8 ; }
02E8 L88:
02E8 .dbline -2
02E8 L25:
02E8 .dbline 0 ; func end
02E8 0C940000 xjmp pop_xgsetF000
02EC .dbsym r i 20 c
02EC .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\手操器\display.c
0000 _BCDCodeArray::
0000 .blkb 4
0004 .dbsym e BCDCodeArray _BCDCodeArray A[4:4]c
0004 ;
0004 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -