📄 main.lst
字号:
287 1 bxpout = 0;
288 1 bxout = state;
289 1 /*leda = state;
290 1 ledb = ~state;*/
291 1 #endif
292 1 vi = 1;
293 1 avcc = 0;
294 1 bvcc = 0;
295 1 /*声音计时时间*/
296 1 usetime1 = 0;
297 1 /*按键滤波次数*/
298 1 usetime = 0;
299 1 send_aa00_time = 0;
300 1 ms_pluse = 0;
301 1 }
302
303 void state_cutab( INT8U a_b )
C51 COMPILER V7.06 MAIN 01/15/2007 15:24:50 PAGE 6
304 {
305 1 if( a_b == 0 )
306 1 {
307 2 state = 0;
308 2 leda = state;
309 2 ledb = ~state;
310 2 bxout = state;
311 2 /*****************************************************/
312 2 /* 切换后先发送复位命令,让上位机复位设置,保证正常工作 */
313 2 msoption = 0;
314 2 mroption = 0;
315 2 ksoption = 0;
316 2 kroption = 0;
317 2 mcodenum = 2;
318 2 mcode[1] = 0xAA;
319 2 mcode[0] = 0x00;
320 2 kcodenum = 1;
321 2 kcode[0] = 0xAA;
322 2 /*if( msoption == 0 && mroption == 0 )
323 2 {
324 2 mcodenum = 2;
325 2 mcode[1] = 0xAA;
326 2 mcode[0] = 0x00;
327 2
328 2 }*/
329 2 mclkin = 1;
330 2 mdatain = 1;
331 2 kclkin = 1;
332 2 kdatain = 1;
333 2 /*****************************************************/
334 2 }
335 1 else if( a_b == 1 )
336 1 {
337 2 state = 1;
338 2 /*leda = state;
339 2 ledb = ~state;*/
340 2 bxout = state;
341 2 /*****************************************************/
342 2 /* 切换后先发送复位命令,让上位机复位设置,保证正常工作 */
343 2 msoption1 = 0;
344 2 mroption1 = 0;
345 2 ksoption1 = 0;
346 2 kroption1 = 0;
347 2 mcodenum1 = 2;
348 2 mcode1[1] = 0xAA;
349 2 mcode1[0] = 0x00;
350 2 kcodenum1 = 1;
351 2 kcode1[0] = 0xAA;
352 2 /*if( msoption1 == 0 && mroption1 == 0 )
353 2 {
354 2 mcodenum1 = 2;
355 2 mcode1[1] = 0xAA;
356 2 mcode1[0] = 0x00;
357 2 }*/
358 2 mclkin1 = 1;
359 2 mdatain1 = 1;
360 2 kclkin1 = 1;
361 2 kdatain1 = 1;
362 2 /********************************************************/
363 2 }
364 1 }
365 void check_key( void )
C51 COMPILER V7.06 MAIN 01/15/2007 15:24:50 PAGE 7
366 {
367 1 /*************************************/
368 1 /* 指示灯闪烁切换
369 1 /*************************************/
370 1 led_time ++;
371 1 if( led_time == 0 )
372 1 {
373 2 if( state == 1 )
374 2 {
375 3 ledb = !ledb;
376 3 leda = 1;
377 3 }
378 2 else
379 2 {
380 3 leda = !leda;
381 3 ledb = 1;
382 3 }
383 2 }
384 1 if( ctl_cs == 0 )
385 1 {
386 2 bxout = 1;
387 2 _nop_();
388 2 if( bxout == 0 )
389 2 {
390 3 if( state != 0 )
391 3 {
392 4 state_cutab( 0 );
393 4 }
394 3 }
395 2 else
396 2 {
397 3 if( state != 1 )
398 3 {
399 4 state_cutab( 1 );
400 4 }
401 3 }
402 2 viout = 0;
403 2 if( cut_p_time >150 )
404 2 {
405 3 ctl_ou = 1;
406 3 }
407 2 cut_p_time ++;
408 2 }
409 1 else
410 1 {
411 2 if( key1 == 0)
412 2 {
413 3 usetime ++;
414 3 if( key1out == 0 )
415 3 {
416 4 if( usetime > 100 )
417 4 {
418 5 if( state == STATE_B )
419 5 {
420 6 state_cutab( 0 );
421 6 }
422 5 vi = 1;
423 5 key1out = 1;
424 5 }
425 4 }
426 3 }
427 2 else
C51 COMPILER V7.06 MAIN 01/15/2007 15:24:50 PAGE 8
428 2 {
429 3 key1out = 0;
430 3 }
431 2 if( key2 == 0)
432 2 {
433 3 usetime ++;
434 3 if( key2out == 0 )
435 3 {
436 4 if( usetime > 100 )
437 4 {
438 5 if( state == STATE_A )
439 5 {
440 6 state_cutab( 1 );
441 6 }
442 5 vi = 1;
443 5 key2out = 1;
444 5 }
445 4 }
446 3 }
447 2 else
448 2 {
449 3 key2out = 0;
450 3 }
451 2 if( key1 == 1 && key2 == 1 )
452 2 {
453 3 usetime = 0;
454 3 }
455 2 if( vi == 1 )
456 2 {
457 3 if( usetime1 > 250 )
458 3 {
459 4 vi = 0;
460 4 viout = 0;
461 4 usetime1 = 0;
462 4 }
463 3 else
464 3 {
465 4 viout = 1;
466 4 usetime1++;
467 4 }
468 3 }
469 2 }
470 1 }
471
472 /* 鼠标上电检测程序 */
473 /* 张亚成 */
474 /* 2006.4.29 */
475 void check_powerm( void )
476 {
477 1
478 1 if( bvcc == 0 && avcc == 0 )
479 1 {
480 2 if( amvcc == 1 )
481 2 {
482 3 state = 0;
483 3 bxout = state;
484 3 /*leda = state;
485 3 ledb = ~state;*/
486 3 vi = 1;
487 3 avcc = 1;
488 3 ctl_ou = 0;
489 3 cut_p_time = 0;
C51 COMPILER V7.06 MAIN 01/15/2007 15:24:50 PAGE 9
490 3 }
491 2 else if( bmvcc == 1 )
492 2 {
493 3 state = 1;
494 3 bxout = state;
495 3 /*leda = state;
496 3 ledb = ~state;*/
497 3 vi = 1;
498 3 bvcc = 1;
499 3 ctl_ou = 0;
500 3 cut_p_time = 0;
501 3 }
502 2 }
503 1 if( amvcc == 0)
504 1 {
505 2 avcc = 0;
506 2 }
507 1 if( bmvcc == 0 )
508 1 {
509 2 bvcc = 0;
510 2 }
511 1
512 1 if( state == 0)
513 1 {
514 2 if( bmvcc == 1 && avcc == 1 && bvcc == 0)
515 2 {
516 3 msoption1 = 0;
517 3 mroption1 = 0;
518 3 ksoption1 = 0;
519 3 kroption1 = 0;
520 3 bvcc = 1;
521 3 mcodenum1 = 2;
522 3 mcode1[1] = 0xAA;
523 3 mcode1[0] = 0x00;
524 3 kcodenum1 = 1;
525 3 kcode1[0] = 0xAA;
526 3 }
527 2 }
528 1 else if( state == 1 )
529 1 {
530 2 if( amvcc == 1 && bvcc ==1 && avcc == 0)
531 2 {
532 3 msoption = 0;
533 3 mroption = 0;
534 3 ksoption = 0;
535 3 kroption = 0;
536 3 avcc = 1;
537 3 mcodenum = 2;
538 3 mcode[1] = 0xAA;
539 3 mcode[0] = 0x00;
540 3 kcodenum = 1;
541 3 kcode[0] = 0xAA;
542 3 }
543 2 }
544 1 }
545
546 /* 命令处理程序 */
547 /* 张亚成 */
548 /* 2006.5.8 */
549
550 void code_pro( void )
551 {
C51 COMPILER V7.06 MAIN 01/15/2007 15:24:50 PAGE 10
552 1 if( mcoderok )
553 1 {
554 2 mcoderok = 0;
555 2 if( mrcode == 0xFF )
556 2 {
557 3 mcodenum = 3;
558 3 mcode[2] = 0xFA;
559 3 mcode[1] = 0xAA;
560 3 mcode[0] = 0x00;
561 3 }
562 2 else if ( mrcode == 0xF2 )
563 2 {
564 3 mcodenum = 2;
565 3 mcode[1] = 0xFA;
566 3 mcode[0] = 0x00;
567 3 }
568 2 else if( mrcode == 0xe9 )
569 2 {
570 3 mcodenum = 1;
571 3 mcode[0] = 0x00;
572 3 }
573 2 else
574 2 {
575 3 mcodenum = 1;
576 3 mcode[0] = 0xFA;
577 3 }
578 2 }
579 1 if( kcoderok )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -