📄 mtv230 test.lst
字号:
366 #define C_add_con 0x24
367 #define C_add_bri 0x25
368 #define C_add_gama0 0x26
369 #define C_add_gama2 0x27
370 #define C_add_out 0x28
371 #define C_add_rgb 0x29
372 #define C_add_sr 0x2a
373 #define C_add_sb 0x2b
374 #define C_add_com_amp 0x2c
375 #define C_add_com_blk 0x2d
376 #define C_add_dac_out 0x2e
377 #define C_add_tint 0x2f
378
379 void Init_230(void)
380 {
381 1 IE=0;
382 1 IT1 = 0;
383 1 IT0 = 1; //下降沿触发
384 1 IE1 = 0;
385 1 EX1 = 1;
386 1 EX0 = 1; //外部中断0使能
387 1 PX0=1;
388 1 ET0 = 1;
389 1 //ET1 = 1;
390 1 OPTION1= 0x82;
391 1 PadMode1=0x80;
392 1 PadMode2=0xf2;
393 1 PadMode3=0x7c;
394 1 PadMode4=0xff;
395 1
396 1 HV_INTEN = 0;
397 1 IIC_SLVBADR = 0x80|(0xc6>>1);
398 1 IIC_INTEN = 0xe0;
399 1 //WDT=0xc1; //2x0.25s
400 1 WDT=0x00; //2x0.25s
401 1
402 1 TMOD=0x12;
403 1 //TH1=0xfc;
404 1 //TL1=0x18;
405 1 TH0=0x83;
406 1 TL0=0x83;
407 1 //HVCTR0=0Xc0; //compsite sync
408 1 HVCTR0=0X80; //vertical sync
409 1 //HV_INTEN=0X45;
410 1 load_4137=1;
411 1 _nop_();
412 1 _nop_();
413 1 _nop_();
414 1 sclk_4137=0;
415 1 ADC=0x82;
416 1 PCON=0;
417 1 TR0=1;
418 1 TR1=0;
419 1 EA = 1; // enable all interrupt
420 1 }
421 void init_row_ctrl(BYTE V_init_row_temp,BYTE row_val)
422 {
423 1 OSDRA=V_init_row_temp&0x3f;
424 1 OSDCA=30;
425 1 OSDDT0=row_val;
426 1 }
427 void deal_ir_key_s(void)
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 8
428 {
429 1 if(B_ir_key_s)
430 1 {
431 2 B_ir_key_s=0;
432 2 if((V_ir_val_s==C_ir_volumn0||V_ir_val_s==C_ir_volumn1) && V_cnt_menu<4)B_ir_key=1;
433 2 if(V_sys_mode==0||V_sys_mode==2)
434 2 {
435 3 if((V_ir_val_s==C_ir_fine0)||(V_ir_val_s==C_ir_fine1))
436 3 {
437 4 V_cnt_ir_2+=1;
438 4 if(V_cnt_ir_2>=2)
439 4 {
440 5 V_cnt_ir_2=0;
441 5 B_ir_key=1;
442 5 }
443 4 }
444 3
445 3 }
446 2 }
447 1 }
448 void deal_key_s(void)
449 {
450 1 if(B_has_key_s)
451 1 {
452 2 B_has_key_s=0;
453 2 if((V_key_val==C_key_vol0 || V_key_val==C_key_vol1) && V_cnt_menu<4 )B_has_key=1;
454 2
455 2 if(V_key_val==C_key_auto)
456 2 {
457 3 V_cnt_key_2+=1;
458 3 if(V_cnt_key_2>10)
459 3 {
460 4 V_cnt_key_2=0;
461 4 V_key_val=0xff;
462 4 B_ir_key=1;
463 4 V_ir_val=C_ir_auto;
464 4 }
465 3 }
466 2 }
467 1 }
468 void dis_chara_col(BYTE row_add,BYTE col_add,BYTE chara_code_col)
469 {
470 1 OSDRA=row_add|0x40;
471 1 OSDCA=col_add;
472 1 OSDDT0=chara_code_col;
473 1 }
474 void dis_chara(BYTE row,BYTE col,BYTE chara_code)
475 {
476 1 OSDRA=row&0x3f;
477 1 OSDCA=col;
478 1 OSDDT0=chara_code;
479 1 }
480 void init_osd0(void)
481 {
482 1 uchar i,j;
483 1 OSDCON1=0X06;
484 1 OSDCON1=0X98;
485 1 OSDCON2=0X0c;
486 1 W1ROW=0x0e; //0~14 line
487 1 W1COL1=0X00;
488 1 W1COL2=0Xf0;
489 1 W2COL1=0X00;
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 9
490 1 W3COL1=0X00;
491 1 W4COL1=0X00;
492 1
493 1 if(B_p2n)VERTD=0X00;
494 1 else VERTD=0X00;
495 1 HORD=25;
496 1 CH=6;
497 1
498 1 RSPACE=0;
499 1 CHSC=0X00;
500 1 FSSTP=0X00;
501 1 WINSW=0X00;
502 1 WINSH=0X00;
503 1 WINSC=0X00;
504 1 XDEL=0X00;
505 1 for(i=0;i<15;i++)
506 1 {
507 2 init_row_ctrl(i,0x05);
508 2
509 2 for(j=0;j<31;j++)
510 2 {
511 3 dis_chara_col(i,j,GREEN);
512 3 }
513 2 }
514 1 }
515 void init_osd2(void)
516 {
517 1 uchar i,j;
518 1 OSDCON1=0X06;
519 1 OSDCON1=0X98;
520 1 OSDCON2=0X0c;
521 1 W1ROW=0x0e; //0~14 line
522 1 W1COL1=0X00;
523 1 W1COL2=0Xf0;
524 1 W2COL1=0X00;
525 1 W3COL1=0X00;
526 1 W4COL1=0X00;
527 1
528 1 VERTD=0X00;
529 1 HORD=25;
530 1 CH=6;
531 1
532 1 RSPACE=0;
533 1 CHSC=0X00;
534 1 FSSTP=0X81;
535 1 WINSW=0X00;
536 1 WINSH=0X00;
537 1 WINSC=0X00;
538 1 XDEL=0X00;
539 1 for(i=0;i<15;i++)
540 1 {
541 2 init_row_ctrl(i,0x05);
542 2 for(j=0;j<31;j++)
543 2 {
544 3 dis_chara_col(i,j,GREEN);
545 3 }
546 2 }
547 1 }
548 void dis_chara_h(BYTE row_h,uchar col_h,BYTE chara_code_h)
549 {
550 1
551 1 OSDRA=row_h&0x3f;
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 10
552 1 OSDCA=col_h;
553 1 OSDDT1=chara_code_h;
554 1 }
555
556
557 void Write_4137_byte(BYTE add_4137,BYTE val_4137)
558 {
559 1 uchar i;
560 1 load_4137=0;
561 1 _nop_();
562 1 _nop_();
563 1 _nop_();
564 1 _nop_();
565 1 V_flag_buf=add_4137;
566 1 for(i=0;i<8;i++)
567 1 {
568 2 sclk_4137=0;
569 2 _nop_();
570 2 _nop_();
571 2 _nop_();
572 2 _nop_();
573 2 data_4137=B_iic_buf_w;
574 2 V_flag_buf=V_flag_buf<<1;
575 2 _nop_();
576 2 _nop_();
577 2 _nop_();
578 2 _nop_();
579 2 sclk_4137=1;
580 2 _nop_();
581 2 _nop_();
582 2 _nop_();
583 2 _nop_();
584 2 sclk_4137=0;
585 2 }
586 1 V_flag_buf=val_4137;
587 1 for(i=0;i<8;i++)
588 1 {
589 2 sclk_4137=0;
590 2 _nop_();
591 2 _nop_();
592 2 _nop_();
593 2 _nop_();
594 2 data_4137=B_iic_buf_w;
595 2 V_flag_buf=V_flag_buf<<1;
596 2 _nop_();
597 2 _nop_();
598 2 _nop_();
599 2 _nop_();
600 2 sclk_4137=1;
601 2 _nop_();
602 2 _nop_();
603 2 _nop_();
604 2 _nop_();
605 2 sclk_4137=0;
606 2 }
607 1 _nop_();
608 1 _nop_();
609 1 _nop_();
610 1 _nop_();
611 1 load_4137=1;////////////////////////////////////////
612 1 }
613
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 11
614 void Dlay_nms(unsigned int V_dlay)
615 {
616 1 while(V_dlay--);
617 1 }
618
619 void init_4137(void)
620 {
621 1 Write_4137_byte(0x04,0x08);
622 1 Write_4137_byte(0x05,0x02);
623 1
624 1 if(B_25215)Write_4137_byte(0x01,0x0f);
625 1 else Write_4137_byte(0x01,0x07);
626 1
627 1 if(B_p2n)
628 1 {
629 2 Write_4137_byte(0x00,0x00);
630 2 B_p2n_bak=1;
631 2 }
632 1 else
633 1 {
634 2 Write_4137_byte(0x00,0x0c);
635 2 B_p2n_bak=0;
636 2 }
637 1 }
638
639 void init_4137_pal(void)
640 {
641 1 Write_4137_byte(0x04,0x08);
642 1 Write_4137_byte(0x05,0x02);
643 1
644 1 if(B_25215)Write_4137_byte(0x01,0x0f);
645 1 else Write_4137_byte(0x01,0x07);
646 1
647 1 Write_4137_byte(0x00,0x0c);
648 1 B_p2n_bak=0;
649 1 }
650
651 void init_4137_ntsc(void)
652 {
653 1 Write_4137_byte(0x04,0x08);
654 1 Write_4137_byte(0x05,0x02);
655 1
656 1 if(B_25215)Write_4137_byte(0x01,0x0f);
657 1 else Write_4137_byte(0x01,0x07);
658 1
659 1 Write_4137_byte(0x00,0x00);
660 1 B_p2n_bak=1;
661 1 }
662
663
664 void Write_4137_pwm(BYTE V_bri_temp,BYTE V_col_temp,BYTE V_con_temp)
665 {
666 1 Write_4137_byte(C_addr_Bri,V_bri_temp);
667 1 Write_4137_byte(C_addr_Col,V_col_temp);
668 1 Write_4137_byte(C_addr_Con,V_con_temp);
669 1 }
670
671
672 void tft_out(void)
673 {
674 1 uchar i,j;
675 1 uchar V_temp_row;
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 12
676 1 unsigned int V_sync_temp;
677 1
678 1 if(B_p2n)V_temp_row=4;
679 1 else V_temp_row=2;
680 1
681 1 EEWP=0xff; //channel_wp
682 1
683 1 if(B_432169)Port42=0xff;
684 1 else Port42=0x00;
685 1
686 1 if(V_t_v>50)
687 1 {
688 2 ADC=0x82;
689 2 _nop_();
690 2 _nop_();
691 2 _nop_();
692 2 _nop_();
693 2 V_t_v=0;
694 2
695 2 V_temp0=ADC&0x3f;
696 2 if(V_temp0<=29)i=0;
697 2 if(V_temp0>29 && V_temp0<48)i=1;
698 2 if(V_temp0>=48)i=2;
699 2
700 2 if(i==V_v_stu_bak)V_cnt_stu=V_cnt_stu+1;
701 2 else V_cnt_stu=0;
702 2
703 2 V_v_stu_bak=i;
704 2 if(V_cnt_stu>10)
705 2 {
706 3 V_cnt_stu=0;
707 3 V_v_stu=V_v_stu_bak;
708 3 }
709 2 }
710 1 if(V_v_stu==0)
711 1 {
712 2 HB_v_l=0x00;
713 2 HB_v_h=0xff;
714 2 }
715 1 if(V_v_stu==1)
716 1 {
717 2 HB_v_l=0xff;
718 2 HB_v_h=0xff;
719 2 }
720 1 if(V_v_stu==2)
721 1 {
722 2 HB_v_l=0xff;
723 2 HB_v_h=0x00;
724 2 }
725 1 if(V_sys_mode==0)
726 1 {
727 2 if(B_p2n)HB_p2n=0xff;//ntsc
728 2 else HB_p2n=0x00; //pal
729 2 mode_h=1;
730 2 mode_l=0;
731 2 }
732 1 if(V_sys_mode==1)
733 1 {
734 2 mode_h=0;
735 2 mode_l=0;
736 2 }
737 1
C51 COMPILER V6.12 MTV230_TEST 04/18/2007 11:29:40 PAGE 13
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -