📄 main.lis
字号:
00C8 ; temp1=int16_temp1/256;
00C8 BA01 movw R22,R20
00CA 672F mov R22,R23
00CC 7727 clr R23
00CE .dbline 89
00CE ; temp2=int16_temp1%256;
00CE BA01 movw R22,R20
00D0 7070 andi R23,0
00D2 .dbline 91
00D2 ; //保存数据
00D2 ; switch(global_channel_flag)
00D2 80910A00 lds R24,_global_channel_flag
00D6 90910B00 lds R25,_global_channel_flag+1
00DA 8130 cpi R24,1
00DC E0E0 ldi R30,0
00DE 9E07 cpc R25,R30
00E0 49F0 breq L24
00E2 8230 cpi R24,2
00E4 E0E0 ldi R30,0
00E6 9E07 cpc R25,R30
00E8 79F0 breq L25
00EA 8330 cpi R24,3
00EC E0E0 ldi R30,0
00EE 9E07 cpc R25,R30
00F0 A9F0 breq L26
00F2 1DC0 xjmp L23
00F4 X4:
00F4 .dbline 92
00F4 ; {
00F4 L24:
00F4 .dbline 96
00F4 ; case 1://保存合闸线圈电流
00F4 ; //SRAM_1M_8_WRITE(global_close_counter,temp1);//高位字节
00F4 ; //SRAM_1M_8_WRITE(global_close_counter+1,temp2);//低位字节
00F4 ; global_close_counter+=2;
00F4 80910800 lds R24,_global_close_counter
00F8 90910900 lds R25,_global_close_counter+1
00FC 0296 adiw R24,2
00FE 90930900 sts _global_close_counter+1,R25
0102 80930800 sts _global_close_counter,R24
0106 .dbline 97
0106 ; break;
0106 13C0 xjmp L23
0108 L25:
0108 .dbline 101
0108 ; case 2://保存分闸线圈电流
0108 ; //SRAM_1M_8_WRITE(global_trip_counter,temp1);//高位字节
0108 ; //SRAM_1M_8_WRITE(global_trip_counter+1,temp2);//低位字节
0108 ; global_trip_counter+=2;
0108 80910600 lds R24,_global_trip_counter
010C 90910700 lds R25,_global_trip_counter+1
0110 0296 adiw R24,2
0112 90930700 sts _global_trip_counter+1,R25
0116 80930600 sts _global_trip_counter,R24
011A .dbline 102
011A ; break;
011A 09C0 xjmp L23
011C L26:
011C .dbline 108
011C ; case 3://保存操作电压
011C ; // SRAM_1M_8_WRITE(global_motor_counter,temp1);//高位字节
011C ; // SRAM_1M_8_WRITE(global_motor_counter+1,temp2);//低位字节
011C ; //SRAM_1M_8_WRITE(global_voltage_counter,temp1);//高位字节
011C ; //SRAM_1M_8_WRITE(global_voltage_counter+1,temp2);//低位字节
011C ; global_voltage_counter+=2;
011C 80910200 lds R24,_global_voltage_counter
0120 90910300 lds R25,_global_voltage_counter+1
0124 0296 adiw R24,2
0126 90930300 sts _global_voltage_counter+1,R25
012A 80930200 sts _global_voltage_counter,R24
012E .dbline 110
012E ; // global_motor_counter+=2;
012E ; break;
012E .dbline 117
012E ; // case 4://保存操作电压
012E ; // SRAM_1M_8_WRITE(global_voltage_counter,temp1);//高位字节
012E ; // SRAM_1M_8_WRITE(global_voltage_counter+1,temp2);//低位字节
012E ; // global_voltage_counter+=2;
012E ; // break;
012E ; default:
012E ; break;
012E L23:
012E .dbline 120
012E ; }
012E ; //计数器自加
012E ; global_ad_counter++;
012E 80912600 lds R24,_global_ad_counter
0132 90912700 lds R25,_global_ad_counter+1
0136 0196 adiw R24,1
0138 90932700 sts _global_ad_counter+1,R25
013C 80932600 sts _global_ad_counter,R24
0140 .dbline 121
0140 ; }
0140 L20:
0140 .dbline 123
0140 ; //如果是检测动作是否开始的采样
0140 ; if(global_sample_mode_flag==0x00)
0140 20902200 lds R2,_global_sample_mode_flag
0144 30902300 lds R3,_global_sample_mode_flag+1
0148 2220 tst R2
014A 09F0 breq X7
014C 7EC0 xjmp L27
014E X7:
014E 3320 tst R3
0150 09F0 breq X8
0152 7BC0 xjmp L27
0154 X8:
0154 X5:
0154 .dbline 124
0154 ; {
0154 .dbline 127
0154 ; //采样轮转赋值
0154 ; //合闸线圈采样
0154 ; if(global_ad_counter%2==0)
0154 20902600 lds R2,_global_ad_counter
0158 30902700 lds R3,_global_ad_counter+1
015C 20FC sbrc R2,0
015E 14C0 rjmp L29
0160 .dbline 128
0160 ; {
0160 .dbline 130
0160 ; // global_detect_close[0]=int16_temp1;
0160 ; global_detect_close[0]=global_detect_close[1];
0160 20901800 lds R2,_global_detect_close+2
0164 30901900 lds R3,_global_detect_close+2+1
0168 30921700 sts _global_detect_close+1,R3
016C 20921600 sts _global_detect_close,R2
0170 .dbline 131
0170 ; global_detect_close[1]=global_detect_close[2];
0170 20901A00 lds R2,_global_detect_close+4
0174 30901B00 lds R3,_global_detect_close+4+1
0178 30921900 sts _global_detect_close+2+1,R3
017C 20921800 sts _global_detect_close+2,R2
0180 .dbline 132
0180 ; global_detect_close[2]=int16_temp1;
0180 50931B00 sts _global_detect_close+4+1,R21
0184 40931A00 sts _global_detect_close+4,R20
0188 .dbline 134
0188 ; // global_detect_close[2]=int16_temp1;
0188 ; }
0188 L29:
0188 .dbline 136
0188 ; //分闸线圈采样
0188 ; if(global_ad_counter%2==1)
0188 80912600 lds R24,_global_ad_counter
018C 90912700 lds R25,_global_ad_counter+1
0190 8170 andi R24,1
0192 9070 andi R25,0
0194 8130 cpi R24,1
0196 E0E0 ldi R30,0
0198 9E07 cpc R25,R30
019A A1F4 brne L35
019C .dbline 137
019C ; {
019C .dbline 139
019C ; // global_detect_trip[0]=int16_temp1;
019C ; global_detect_trip[0]=global_detect_trip[1];
019C 20900E00 lds R2,_global_detect_trip+2
01A0 30900F00 lds R3,_global_detect_trip+2+1
01A4 30920D00 sts _global_detect_trip+1,R3
01A8 20920C00 sts _global_detect_trip,R2
01AC .dbline 140
01AC ; global_detect_trip[1]=global_detect_trip[2];
01AC 20901000 lds R2,_global_detect_trip+4
01B0 30901100 lds R3,_global_detect_trip+4+1
01B4 30920F00 sts _global_detect_trip+2+1,R3
01B8 20920E00 sts _global_detect_trip+2,R2
01BC .dbline 141
01BC ; global_detect_trip[2]=int16_temp1;
01BC 50931100 sts _global_detect_trip+4+1,R21
01C0 40931000 sts _global_detect_trip+4,R20
01C4 .dbline 143
01C4 ; // global_detect_trip[2]=int16_temp1;
01C4 ; }
01C4 L35:
01C4 .dbline 146
01C4 ; //判断是否有码值变化
01C4 ; //判断合闸数据
01C4 ; if((global_detect_close[0]>2046)&&(global_detect_close[1]>2046)&&(global_detect_close[2]>2046))//&&(global_detect_close[3]>2045)&&(global_detect_close[4]>2045))
01C4 8EEF ldi R24,2046
01C6 97E0 ldi R25,7
01C8 20901600 lds R2,_global_detect_close
01CC 30901700 lds R3,_global_detect_close+1
01D0 8215 cp R24,R2
01D2 9305 cpc R25,R3
01D4 A0F4 brsh L41
01D6 20901800 lds R2,_global_detect_close+2
01DA 30901900 lds R3,_global_detect_close+2+1
01DE 8215 cp R24,R2
01E0 9305 cpc R25,R3
01E2 68F4 brsh L41
01E4 20901A00 lds R2,_global_detect_close+4
01E8 30901B00 lds R3,_global_detect_close+4+1
01EC 8215 cp R24,R2
01EE 9305 cpc R25,R3
01F0 30F4 brsh L41
01F2 .dbline 147
01F2 ; {
01F2 .dbline 149
01F2 ; //检测到动作标志赋值
01F2 ; global_operation_detected_flag=1;
01F2 81E0 ldi R24,1
01F4 90E0 ldi R25,0
01F6 90932100 sts _global_operation_detected_flag+1,R25
01FA 80932000 sts _global_operation_detected_flag,R24
01FE .dbline 150
01FE ; }
01FE L41:
01FE .dbline 160
01FE ; // if(global_detect_close[0]>2049)
01FE ; // {
01FE ; // if((global_detect_close[1]-global_detect_close[0]>1)&&(global_detect_close[2]-global_detect_close[1]>1))//&&(global_detect_close[3]-global_detect_close[0]>1))
01FE ; // {
01FE ; //检测到动作标志赋值
01FE ; // global_operation_detected_flag=1;
01FE ; // }
01FE ; // }
01FE ; //判断分闸数据
01FE ; if((global_detect_trip[0]>2046)&&(global_detect_trip[1]>2046)&&(global_detect_trip[2]>2046))//&&(global_detect_trip[3]>2045)&&(global_detect_trip[4]>2045))
01FE 8EEF ldi R24,2046
0200 97E0 ldi R25,7
0202 20900C00 lds R2,_global_detect_trip
0206 30900D00 lds R3,_global_detect_trip+1
020A 8215 cp R24,R2
020C 9305 cpc R25,R3
020E A0F4 brsh L45
0210 20900E00 lds R2,_global_detect_trip+2
0214 30900F00 lds R3,_global_detect_trip+2+1
0218 8215 cp R24,R2
021A 9305 cpc R25,R3
021C 68F4 brsh L45
021E 20901000 lds R2,_global_detect_trip+4
0222 30901100 lds R3,_global_detect_trip+4+1
0226 8215 cp R24,R2
0228 9305 cpc R25,R3
022A 30F4 brsh L45
022C .dbline 161
022C ; {
022C .dbline 163
022C ; //检测到动作标志赋值
022C ; global_operation_detected_flag=1;
022C 81E0 ldi R24,1
022E 90E0 ldi R25,0
0230 90932100 sts _global_operation_detected_flag+1,R25
0234 80932000 sts _global_operation_detected_flag,R24
0238 .dbline 164
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -