⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 mtv512mg + mx88v462 液晶电视驱动C完整程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 814   1              buf[1] = 0x59;
 815   1              Write_OSDCode(buf, 2, 1, 0);                                            //Write OSD Code buffer
 816   1              OSD_Attribute(0, 2, FG_COLOR, BG_COLOR);                        //Set Title line attribute
 817   1              Show_Subwin(0x80);      
 818   1      }
 819          
 820          void    Show_CInput_A()
 821          {
 822   1              TitleFlag = 1;
 823   1              VolumeFlag = 0;
 824   1              MenuFlag = 0;
 825   1      
 826   1              Show_Subwin(0x00);
 827   1              
 828   1              OSDTimer = 200;
 829   1              if ( Screen_mode )
 830   1                      OSD_SubWin_Attr(7,7,1,2,1,0);
 831   1              else
 832   1                      OSD_SubWin_Attr(7,3,1,2,1,0);
 833   1              if      (!Input_Num)
 834   1              {
 835   2                      buf[0] = C_Input/10;
 836   2                      buf[1] = C_Input%10;
 837   2              }
 838   1              else
 839   1              {
 840   2                      buf[0] = C_Input;
 841   2                      buf[1] = 0x54;
 842   2              }       
 843   1              Write_OSDCode(buf, 2, 1, 0);                                            //Write OSD Code buffer
 844   1              OSD_Attribute(0, 2, FG_COLOR, BG_COLOR);                        //Set Title line attribute
 845   1              Show_Subwin(0x80);      
 846   1      }
 847          void    Show_OneTwo()
 848          {
 849   1              TitleFlag = 1;
 850   1              VolumeFlag = 0;
 851   1              MenuFlag = 0;
 852   1      
 853   1              Show_Subwin(0x00);
 854   1              
 855   1              OSDTimer = 200;
 856   1              if ( Screen_mode )
 857   1                      OSD_SubWin_Attr(7,7,1,2,1,0);
 858   1              else
 859   1                      OSD_SubWin_Attr(7,3,1,2,1,0);
 860   1              if      (One_Flag)
C51 COMPILER V7.50   MAIN                                                                  12/14/2006 10:36:36 PAGE 15  

 861   1              {
 862   2                      buf[0] = 0x54;
 863   2                      buf[1] = 0x54;
 864   2              }
 865   1              else
 866   1              {
 867   2                      buf[0] = 0x54;
 868   2                      buf[1] = 0x59;
 869   2              }       
 870   1              Write_OSDCode(buf, 2, 1, 0);                                            //Write OSD Code buffer
 871   1              OSD_Attribute(0, 2, FG_COLOR, BG_COLOR);                        //Set Title line attribute
 872   1              Show_Subwin(0x80);      
 873   1      }
 874          
 875          void    Show_VideoMode()
 876          {
 877   1              TitleFlag = 1;
 878   1              VolumeFlag = 0;
 879   1              MenuFlag = 0;
 880   1              Input_Num = 0;  
 881   1              Show_Subwin(0x00);
 882   1              
 883   1              OSDTimer = 1000;
 884   1              
 885   1              if ( Screen_mode )
 886   1                      OSD_SubWin_Attr(7,7,1,9,2,0);
 887   1              else
 888   1                      OSD_SubWin_Attr(7,3,1,9,2,0);
 889   1              
 890   1              if ( Source_type == TV_CHL )
 891   1              {
 892   2                      memcpy(buf, OSD_Table_Video[12], 9);
 893   2                      Show_Number(Channel,&buf[3]);
 894   2                      
 895   2                      memcpy(buf+9, OSD_Table_Video_Type[Video_SYS],9);
 896   2                      if ( Video_SYS == PAL )
 897   2                              memcpy(buf+13,OSD_Table_Sound_Type[SIF],3);
 898   2                      if ( Video_SYS == SECAM )
 899   2                              memcpy(buf+15,OSD_Table_Sound_Type[SIF],3);
 900   2              }
 901   1              else
 902   1              {
 903   2                      memcpy(buf, OSD_Table_Video[Source_type], 9);
 904   2                      memcpy(buf+9, OSD_Table_Video_Type[8],9);
 905   2              }
 906   1      
 907   1              Write_OSDCode(buf, 9, 2, 0);                                            //Write OSD Code buffer
 908   1              OSD_Attribute(0, 18, FG_COLOR, BG_COLOR);                       //Set Title line attribute
 909   1              
 910   1              Show_Subwin(0x80);
 911   1      }
 912          
 913          /**--------------------------------------------------------------------------
 914          * Name                  Show_Bar(BYTE *buf, BYTE input)
 915          *
 916          * Description   Show Mtc on screen
 917          *
 918          * Flow Chart
 919          *
 920          * Return
 921          *
 922          * DATE          Author          Description
C51 COMPILER V7.50   MAIN                                                                  12/14/2006 10:36:36 PAGE 16  

 923          * ===========================================================================
 924          * 2005-06-23    Microntek       Created
 925          */
 926          void Show_Bar(BYTE *buf, BYTE value)
 927          {
 928   1              BYTE    i;
 929   1      
 930   1              if ( value >= 50 )
 931   1                      value = 51;
 932   1                      
 933   1              buf[0] = 0x3E;
 934   1              buf[18] = 0x42;
 935   1              
 936   1              for (i=0; i< 17; i++)
 937   1              {
 938   2                      if (value<=i*3)
 939   2                              buf[i+1] = 0x41;
 940   2                      else if (value >= (i+1)*3)
 941   2                              buf[i+1] = 0x82;
 942   2                      else
 943   2                              buf[i+1] = 0x7F + value%3;
 944   2              }
 945   1      }
 946          
 947          void Show_TV_Bar(BYTE *buf, unsigned long int Fp_P)
 948          {
 949   1              BYTE    value;
 950   1              
 951   1              if ( (Fp_P >= Fp_UHF_Start) && (Fp_P <= Fp_UHF_End) )
 952   1                      value = (Fp_P-Fp_UHF_Start)*52/(Fp_UHF_End-Fp_UHF_Start);
 953   1              else if ( (Fp_P >= Fp_VH_Start) && (Fp_P < Fp_UHF_Start) )
 954   1                      value = (Fp_P-Fp_VH_Start)*52/(Fp_UHF_Start-Fp_VH_Start-1);
 955   1              else if ( (Fp_P >= Fp_VL_Start) && (Fp_P < Fp_VH_Start) )
 956   1                      value = (Fp_P-Fp_VL_Start)*52/(Fp_VH_Start-Fp_VL_Start-1);
 957   1              else
 958   1                      value = 0;
 959   1              
 960   1              Show_Bar(buf,value);
 961   1      }
 962          
 963          void Set_HV()
 964          {
 965   1      //      BYTE    buf[2];
 966   1              
 967   1      //      Show_Subwin(0x00);
 968   1              
 969   1              V46X_HV(Horizontal,Vertical);
 970   1      /*
 971   1              buf[0] = 0x00;
 972   1              buf[1] = 0x00;
 973   1                      
 974   1              if ( Horizontal )
 975   1                      buf[0] = 0x80;
 976   1              if ( Vertical )
 977   1                      buf[1] = 0x80;
 978   1      
 979   1              Write_OSDReg(buf, SEL_OSDCTRLREG, 2, 0x04);
 980   1                      
 981   1              Show_HV();
 982   1      */
 983   1      }
 984          
C51 COMPILER V7.50   MAIN                                                                  12/14/2006 10:36:36 PAGE 17  

 985          void    Power_On()
 986          {
 987   1              OnOff = 1;                                      // On Off flag
 988   1      //      POWER = 0;
 989   1              LED_R = 1;
 990   1              
 991   1              Horizontal = 0;
 992   1              Vertical = 0;
 993   1              
 994   1              Load_Factory();
 995   1              V46X_Init();
 996   1              Load_Parameter();
 997   1              
 998   1              Set_VideoPP(0);
 999   1              Set_HV();
1000   1              V46X_Set_ScreenMode(Screen_mode);
1001   1                      
1002   1              C_Input = 0;
1003   1              Input_Num = 0;
1004   1      
1005   1              Idle_Mode();
1006   1              
1007   1              Set_SourceType();
1008   1              MuteFlag = 0;
1009   1              _Volume = 0xFF;
1010   1              _Hue = 0xFF;
1011   1              
1012   1              MuteFlag = 0;
1013   1              ;//AUDIO_MUTE = 0;
1014   1      }
1015          
1016          void    Power_Off()
1017          {
1018   1              ;//AUDIO_MUTE = 1;
1019   1              
1020   1              OnOff = 0;
1021   1              
1022   1              LED_R = 0;
1023   1              
1024   1              Mute();
1025   1              
1026   1              PanelOFF;
1027   1              ScreenOFF;
1028   1      }
1029          
1030          void    To_Idle_Mode()
1031          {
1032   1              if ( MenuFlag || TitleFlag || VolumeFlag )
1033   1              {
1034   2                      Idle_Mode();
1035   2                      Show_Mute();    
1036   2              }
1037   1      }
1038          
1039          void    Idle_Mode()
1040          {
1041   1              Show_Subwin(0x00);
1042   1              Clr_OSDCode();
1043   1      
1044   1              Search_Flag = 0;
1045   1      
1046   1              VolumeFlag = 0;
C51 COMPILER V7.50   MAIN                                                                  12/14/2006 10:36:36 PAGE 18  

1047   1              MenuFlag = 0;
1048   1              TitleFlag = 0;
1049   1              Menu_mode = 0;
1050   1      
1051   1              OSDTimer = 0;
1052   1      
1053   1              C_Input = 0;
1054   1              Input_Num = 0;
1055   1      }
1056          
1057          void    MCU_Init()
1058          {
1059   1              OPTION = 0x21;                                  // Double clock, P7.7 Enable
1060   1              PADMOD0 = 0x00;                                 // AD3-AD0/P6.3-P6.0
1061   1              PADMOD1 = 0x1F;                                 // P5.5-P5.0/DA5-DA0
1062   1              PADMOD3 = 0xDF;                                 // P5.7-P5.0 Output/Input
1063   1              PADMOD4 = 0x00;                                 // P6.7-P6.0 Output/Input
1064   1              PADMODF = 0xC0;                                 // P7.7-P7.6 Output/Input
1065   1      
1066   1              ;//AUDIO_MUTE   = 1;
1067   1                                                                              // ISP_CHECK
1068   1              EINT1PEN = 0x80;
1069   1              if ( P3_3 == 1 )                                // Debug Mode
1070   1              {
1071   2                      PADMOD2 = 0;                            // ISP DIsable
1072   2              }
1073   1              
1074   1              Timer_Init();                                   //Setting 8051 baud rate and timer clock        //
1075   1      }
1076          
1077          void    Mute()
1078          {
1079   1              ;//AUDIO_MUTE = 1;
1080   1              Adj_Volume(0);
1081   1      }
1082          
1083          void    SpkOut()
1084          {
1085   1              ;//AUDIO_MUTE = 0;
1086   1              Adj_Volume(Volume);
1087   1      }
1088          /*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -