📄 setbid.lst
字号:
261 3 add_transparences();
262 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
263 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
264 4 if(data_final_number==8)beginbit=1;
265 4 else data_final_number++;
266 4 } ///////////////////////////////////
267 3 if(data_final_number>=8){ /////////////////////////////////
268 4 if(beginbit==1){ ////////////////////
269 5 data_final_number=1; ////////////////////////
270 5 beginbit=0; ////////////////////
271 5 }else{
272 5 data_final_number=0;
273 5 }
274 4 data_final[datanumber++]=tempdata; /////////////////////
275 4 tempdata=0;
276 4 }
277 3 }
278 2 }
279 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
280 1 EA=0;
281 1 SBUF=0X7E;
282 1 while(TI==0);TI=0;
283 1 for(i=0;i<datanumber;i++)
284 1 {
285 2 SBUF=data_final[i];
286 2 while(TI==0);TI=0;
287 2
288 2 }EA=1;
289 1
290 1 }
291 //设置相位
292 set_phase()
293 {
294 1 unsigned char *p;
295 1 unsigned short check_temp;
296 1 unsigned int i;
297 1 unsigned int j,k;
298 1 unsigned char beginbit=0;
299 1 datanumber=0;
300 1 data_final_number=0;
301 1 //设置相位 0X5000
302 1 // EA=0;
303 1
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 6
304 1 if(checkdata[5]==0){
305 2 for(i=0;i<289;i++){
306 3 XBYTE[0X5000+i]=checkdata[5+i];
307 3 k=eeprom_addr;
308 3 k=k+i;
309 3 XBYTE[k]=checkdata[5+i];
310 3 k=0;
311 3 do{k++;WatchDog = !WatchDog;}while(k<800);
312 3 }
313 2 }else{
314 2 for(i=0;i<289;i++){
315 3 XBYTE[0X5121+i]=checkdata[5+i];
316 3 k=eeprom_addr;
317 3 k=k+0x121+i;
318 3 XBYTE[k]=checkdata[5+i];
319 3 k=0;
320 3 do{k++;WatchDog = !WatchDog;}while(k<800);
321 3 }
322 2 }
323 1 //EA=1;
324 1 //应答
325 1 answer_data[0]=h_address;
326 1 answer_data[1]=l_address;
327 1 answer_data[2]=0xcc;
328 1 answer_data[3]=0xc1;
329 1 answer_data[4]=0xd4;
330 1
331 1 p=&answer_data[0];
332 1 check_temp=cal_crc(p,5);
333 1 answer_data[5]=(check_temp>>8); //crc
334 1 answer_data[6]=check_temp; //crc
335 1 answer_data[7]=0x7e;
336 1
337 1 for(i=0;i<8;i++){
338 2 for(j=0;j<8;j++){
339 3 add_bit=(answer_data[i]>>(7-j))%2;
340 3 add_transparences();
341 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
342 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
343 4 if(data_final_number==8)beginbit=1;
344 4 else data_final_number++;
345 4 } ///////////////////////////////////
346 3 if(data_final_number>=8){ /////////////////////////////////
347 4 if(beginbit==1){ ////////////////////
348 5 data_final_number=1; ////////////////////////
349 5 beginbit=0; ////////////////////
350 5 }else{
351 5 data_final_number=0;
352 5 }
353 4 data_final[datanumber++]=tempdata; /////////////////////
354 4 tempdata=0;
355 4 }
356 3 }
357 2 }
358 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
359 1 EA=0;
360 1 SBUF=0X7E;
361 1 while(!TI);TI=0;
362 1 for(i=0;i<datanumber;i++)
363 1 {
364 2 SBUF=data_final[i];
365 2 while(!TI);TI=0;
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 7
366 2 }
367 1 EA=1;
368 1 //更改FPGA数据内容
369 1 tran_fpag(0x94,290);
370 1 }
371 //设置阶段表
372 set_stage()
373 {
374 1 unsigned char *p;
375 1 unsigned short check_temp;
376 1
377 1 unsigned int i;
378 1 unsigned int j,k;
379 1 unsigned char beginbit=0;
380 1 datanumber=0;
381 1 data_final_number=0;
382 1 //设置阶段表
383 1 j=(checkdata[5]-1)*98;
384 1 for(i=0;i<98;i++){
385 2 XBYTE[0X5242+i+j]=checkdata[5+i]; //一个阶段表写入
386 2 k=eeprom_addr;
387 2 k=k+0x242+i+j;
388 2 XBYTE[k]=checkdata[5+i];
389 2 k=0;
390 2 do{k++;WatchDog = !WatchDog;}while(k<800);
391 2 }
392 1 //应答
393 1 answer_data[0]=h_address;
394 1 answer_data[1]=l_address;
395 1 answer_data[2]=0XCC;
396 1 answer_data[3]=0XC1;
397 1 answer_data[4]=0XD5;
398 1 p=&answer_data[0];
399 1 check_temp=cal_crc(p,5);
400 1 answer_data[5]=(check_temp>>8); //crc
401 1 answer_data[6]=check_temp; //crc
402 1 answer_data[7]=0x7e;
403 1
404 1 for(i=0;i<8;i++){
405 2 for(j=0;j<8;j++){
406 3 add_bit=(answer_data[i]>>(7-j))%2;
407 3 add_transparences();
408 3 // if((add_transparence_valid==1) && (i!=17))data_final_number++;
409 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
410 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
411 4 if(data_final_number==8)beginbit=1;
412 4 else data_final_number++;
413 4 } ///////////////////////////////////
414 3 if(data_final_number>=8){ /////////////////////////////////
415 4 if(beginbit==1){ ////////////////////
416 5 data_final_number=1; ////////////////////////
417 5 beginbit=0; ////////////////////
418 5 }else{
419 5 data_final_number=0;
420 5 }
421 4 data_final[datanumber++]=tempdata; /////////////////////
422 4 tempdata=0;
423 4 }
424 3 }
425 2 }
426 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
427 1 EA=0;
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 8
428 1 SBUF=0X7E;
429 1 while(!TI);TI=0;
430 1 for(i=0;i<datanumber;i++)
431 1 {
432 2 SBUF=data_final[i];
433 2 while(!TI);TI=0;
434 2 }
435 1 EA=1;
436 1 tran_fpag(0x95,99);
437 1 }
438 //设置当前方案
439 set_project()
440 {
441 1 unsigned char *p;
442 1 unsigned short check_temp;
443 1
444 1 unsigned int i,k;
445 1 unsigned int j;
446 1 unsigned char beginbit=0;
447 1 data_final_number=0;
448 1 datanumber=0;
449 1 //设置当前方案
450 1 j=(checkdata[5]-1)*41;
451 1 for(i=0;i<41;i++){
452 2 XBYTE[0X5e82+i+j]=checkdata[5+i]; //一个方案表写入
453 2 k=eeprom_addr;
454 2 k=k+0xe82+i+j;
455 2 XBYTE[k]=checkdata[5+i];
456 2 k=0;
457 2 do{k++;WatchDog = !WatchDog;}while(k<800);
458 2 }
459 1
460 1 //应答
461 1 answer_data[0]=h_address;
462 1 answer_data[1]=l_address;
463 1 answer_data[2]=0xcc;
464 1 answer_data[3]=0xc1;
465 1 answer_data[4]=0xd6;
466 1 p=&answer_data[0];
467 1 check_temp=cal_crc(p,5);
468 1 answer_data[5]=(check_temp>>8); //crc
469 1 answer_data[6]=check_temp; //crc
470 1 answer_data[7]=0x7e;
471 1
472 1 for(i=0;i<8;i++){
473 2 for(j=0;j<8;j++){
474 3 add_bit=(answer_data[i]>>(7-j))%2;
475 3 add_transparences();
476 3 // if((add_transparence_valid==1) && (i!=17))data_final_number++;
477 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
478 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
479 4 if(data_final_number==8)beginbit=1;
480 4 else data_final_number++;
481 4 } ///////////////////////////////////
482 3 if(data_final_number>=8){ /////////////////////////////////
483 4 if(beginbit==1){ ////////////////////
484 5 data_final_number=1; ////////////////////////
485 5 beginbit=0; ////////////////////
486 5 }else{
487 5 data_final_number=0;
488 5 }
489 4 data_final[datanumber++]=tempdata; /////////////////////
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 9
490 4 tempdata=0;
491 4 }
492 3 }
493 2 }
494 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
495 1 EA=0;
496 1 SBUF=0X7E;
497 1 while(!TI);TI=0;
498 1 for(i=0;i<datanumber;i++)
499 1 {
500 2 SBUF=data_final[i];
501 2 while(!TI);TI=0;
502 2 }
503 1 EA=1;
504 1 tran_fpag(0x96,42);
505 1 }
506 //上位机直接控制
507 set_uppc()
508 {
509 1
510 1 }
511 set_remote()
512 {
513 1 unsigned char *p;
514 1 unsigned short check_temp;
515 1
516 1 unsigned int i,k;
517 1 unsigned int j;
518 1 unsigned char beginbit=0;
519 1 data_final_number=0;
520 1 datanumber=0;
521 1 //遥控数据包保存到NVRAM
522 1 for(i=0;i<8;i++){
523 2 XBYTE[0X6D20+i]=checkdata[5+i]; //一个方案表写入
524 2 k=eeprom_addr;
525 2 k=k+0x1d20+i;
526 2 XBYTE[k]=checkdata[5+i];
527 2 k=0;
528 2 do{k++;WatchDog = !WatchDog;}while(k<800);
529 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -