📄 main.lst
字号:
162 {
163 1 TF0 = 0;
164 1 if (IsKeyDown == NO_KEY_DOWN)
165 1 {
166 2 if(AutoKeyTime < KEY_AUTOUPDATE_TIME) AutoKeyTime++;
167 2 if(ResetLedBackTime < RESET_LEDBACK_TIME) ResetLedBackTime++;
168 2 else ResetLEDBackLight(); //Reset LEDBackLight
169 2 }
170 1 if ( IsKeyDown == KEY_DOWN_TRIGGER) //按键处于延时状态
171 1 {
172 2 if (KeyDelayTime < KEY_DELAY ) KeyDelayTime++; //key down and delay time counting
173 2 else
174 2 {
175 3 IsKeyDown = KEY_DOWN_DELAY_OVER;//set key delay time is over;trigger IsKeyDown
176 3 SetLEDBackLight(); //LEDBack Light On
177 3 ResetLedBackTime = 0;
178 3 AutoKeyTime = 0;
C51 COMPILER V7.50 MAIN 08/20/2006 14:48:06 PAGE 4
179 3 UpdataLEDTime = 0;
180 3 }
181 2
182 2 }
183 1 if ( IsKeyDown == KEY_PRO_COMPLETE_DELAY) //key pro completed delay
184 1 {
185 2 if ( KeyDelayTime < KEY_COMPLETE_DELAY ) KeyDelayTime++;
186 2 else
187 2 {
188 3 KeyDelayTime = 0;
189 3 IsKeyDown = NO_KEY_DOWN;
190 3 }
191 2 }
192 1 TH0 = TIMER0_H; //定时1ms
193 1 TL0 = TIMER0_L;
194 1 }
195
196
197 void T1_INT(void) interrupt 3
198 {
199 1 TF1 = 0;
200 1 TH1 = TIMER1_H; //定时50ms
201 1 TL1 = TIMER1_L;
202 1 if(CountTimeTime<TIMER1S)
203 1 {
204 2 CountTimeTime ++;
205 2 return;
206 2 }
207 1 CountTimeTime = 0;
208 1 IsSaveTime = 1;
209 1 ountTime++;
*** ERROR C202 IN LINE 209 OF MAIN.C: 'ountTime': undefined identifier
210 1
211 1 if(GuZhangState == GUZHANGDELAY)
212 1 {
213 2 if(GuZhangTime<GUZHANGDELAYTIME)
214 2 GuZhangTime++;
215 2 else
216 2 {
217 3 GuZhangState = GUZHANGDELAYOVER;
218 3 GuZhangTime = 0;
219 3 }
220 2 }
221 1 if(SerialTime <= SEARIALTIME) SerialTime++; //串口延时计数器
222 1 }
223
224
225 void Receive_INT(void) interrupt 4
226 {
227 1 unsigned char datatemp;
228 1 RI = 0;
229 1 TI = 0;
230 1 datatemp = SBUF;
231 1 SerialTime = 0;
232 1 if( ReceiveState == STARTRECEIVE1 && datatemp == ADDRESSL ) //收第一个起始地址
233 1 {
234 2 ReceiveState = STARTRECEIVE2;
235 2 CheckSum = CheckSum + datatemp;
236 2 }
237 1 else if(ReceiveState == STARTRECEIVE2 && datatemp==ADDRESSH) //收第二个起始地址
238 1 {
239 2 ReceiveState = RECEIVING ;
C51 COMPILER V7.50 MAIN 08/20/2006 14:48:06 PAGE 5
240 2 CheckSum = CheckSum + datatemp;
241 2 }
242 1
243 1 else if(ReceiveState == RECEIVING) //处于数据接收中
244 1 {
245 2 ReceivBuf[RealReceiveLen]=datatemp;
246 2 RealReceiveLen++;
247 2 CheckSum = CheckSum + datatemp;
248 2 }
249 1 if( RealReceiveLen >= BufferLen ) //数据接收完成
250 1 {
251 2 ReceiveState = ENDRECEIVE;
252 2 }
253 1
254 1 }
255
256 void ReadSerialBufData(unsigned int *Bufferptr,unsigned int *Structptr,unsigned char num)
257 {
258 1 unsigned char i;
259 1 for(i=0;i<num;i++)
260 1 {
261 2 *( Structptr+i) = *(Bufferptr+i);
262 2 }
263 1 }
264
265 void Serial_Init(void)
266 {
267 1 unsigned char i;
268 1 ReceiveState = STARTRECEIVE1;
269 1 RealReceiveLen = 0;
270 1 CheckSum = 0;
271 1 for(i=0;i<14;i++)
272 1 {
273 2 *(&Incomedata.InputUA+i)=0;
274 2 }
275 1 }
276
277 //返回一个故障代码,从低位到高位的数字分别代表了从重要故障到不重要故障,1为发生故障
278 unsigned char GetGuZhangCode(void)
279 {
280 1 unsigned long GuZhangCode; //实际需要18位
281 1 unsigned char temp;
282 1 PageRead25045EEROM(SAVETIME_ADD,(unsigned char *)(&GuZhangShiJian));//取出故障时间
283 1 WriteGuZhangPtr = ByteRead25045EEROM(SAVEWRITEGUZHANG_ADD); //取出缓冲区当前可以存储的地址指针
284 1 GuZhangNum = ByteRead25045EEROM(SAVEGUZHANGNUM_ADD);
285 1 //分析故障
286 1 if((Incomedata.ErrorCodeShuZi&0x08)!=0) //IGBT A相短路
287 1 {
288 2 GuZhangCode = (GuZhangCode&0x3FFFE)|0x01;
289 2 temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD);
*** ERROR C202 IN LINE 289 OF MAIN.C: 'Ox05': undefined identifier
290 2 if(temp < 255)
291 2 ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD);
*** ERROR C202 IN LINE 291 OF MAIN.C: 'Ox05': undefined identifier
292 2 SAVEWRITEERROR_ADD += 8;
*** ERROR C202 IN LINE 292 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
293 2 }
294 1 if((Incomedata.ErrorCodeShuZi&0x10)!=0) //IGBT B相短路
295 1 {
296 2 GuZhangCode = (GuZhangCode&0x3FFFD)|0x02;
297 2 temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+1);
*** ERROR C202 IN LINE 297 OF MAIN.C: 'Ox05': undefined identifier
C51 COMPILER V7.50 MAIN 08/20/2006 14:48:06 PAGE 6
298 2 if(temp < 255)
299 2 ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD+1);
*** ERROR C202 IN LINE 299 OF MAIN.C: 'Ox05': undefined identifier
300 2 SAVEWRITEERROR_ADD += 8;
*** ERROR C202 IN LINE 300 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
301 2 }
302 1 if((Incomedata.ErrorCodeShuZi&0x20)!=0) //IGBT C相短路
303 1 {
304 2 GuZhangCode = (GuZhangCode&0x3FFFB)|0x04;
305 2 temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+2);
*** ERROR C202 IN LINE 305 OF MAIN.C: 'Ox05': undefined identifier
306 2 if(temp < 255)
307 2 ByteWrite25045EEROM((temp++,SAVEGUZHANGCOUNT_ADD+2);
*** ERROR C202 IN LINE 307 OF MAIN.C: 'Ox05': undefined identifier
*** ERROR C141 IN LINE 307 OF MAIN.C: syntax error near ';'
308 2 SAVEWRITEERROR_ADD += 8;
*** ERROR C202 IN LINE 308 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
309 2 }
310 1 if((Incomedata.ErrorCodeShuZi&0x40)!=0||(Incomedata.ErrorCodeMoNi&0x900)!=0) //输出电压A相过压
311 1 {
312 2 GuZhangCode = (GuZhangCode&0x3FFF7)|0x08;
313 2 temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+3);
*** ERROR C202 IN LINE 313 OF MAIN.C: 'Ox05': undefined identifier
314 2 if(temp < 255)
315 2 ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD+3);
*** ERROR C202 IN LINE 315 OF MAIN.C: 'Ox05': undefined identifier
316 2 SAVEWRITEERROR_ADD += 8;
*** ERROR C202 IN LINE 316 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -