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

📄 t100.lst

📁 在51单片机上用C写的T100,T101TFT屏的控制程序,有OSD
💻 LST
📖 第 1 页 / 共 5 页
字号:
1146          /*void IRDismodeEvent(void)
1147          {
1148                  uCHAR cTemp;
1149                  if(bUP_DOWN&bLEFT_RIGHT)
1150                  {
1151                    bUP_DOWN= 1;      //0:Down to Up      1:Up to Down
1152                    bLEFT_RIGHT= 0;      //0:Right to Left     1:Left to Right
1153                    cTemp=UD_LR;
1154                  }
1155                  else if(bUP_DOWN&!bLEFT_RIGHT)
1156                  {
1157                     bUP_DOWN= 0;      //0:Down to Up     1:Up to Down
1158                     bLEFT_RIGHT= 1;
1159                     cTemp=UD_RL;
1160                  }
1161                  else if(!bUP_DOWN&bLEFT_RIGHT)
1162                  {
1163                     bUP_DOWN= 0;      //0:Down to Up     1:Up to Down
1164                     bLEFT_RIGHT= 0;
1165                     cTemp=DU_LR;
1166                  }
1167                  else if(!bUP_DOWN&!bLEFT_RIGHT)
1168                  {  bUP_DOWN= 1;      //0:Down to Up     1:Up to Down
1169                     bLEFT_RIGHT= 1;
C51 COMPILER V7.06   T100                                                                  09/21/2005 18:16:31 PAGE 20  

1170                     cTemp=DU_RL;
1171                  }
1172                  I2CWriteByte(TW100,0xe1,cTemp);
1173          }*/
1174          /*bit IRMENUEvent(void)
1175          {
1176                  switch(m_cOSDFunc&0xf0)
1177                  {
1178                        case 0:
1179                                  m_cOSDFunc=idMainMenu;
1180                                  m_cOSDEvent=OPENMENU;
1181                                  break;
1182                        case idMainMenu :
1183                        case idGammaAdjust:
1184                                  m_cOSDFunc=0;
1185                                  m_cOSDEvent=FUNCEXIT;
1186                                  break;
1187                  }
1188                        return 1;
1189          }*/
1190          /*bit IRINCREASEEvent(void)
1191          {
1192                  m_cOSDEvent=FUNCADJ_IN;
1193                  return 1;
1194          }*/
1195          /*
1196          bit IRDECREASEEvent(void)
1197          {
1198                  m_cOSDEvent=FUNCADJ_DN;
1199                  return 1;
1200          }*/
1201          /*bit IRUpKeyCtrl(void)
1202          {
1203                    if(((m_cOSDFunc&0xF0)==idMainMenu)||(m_cOSDFunc==idGammaAdjust))
1204                      { m_cOSDEvent=FUNCSELCT_IN; return 1;}
1205                    else  return 0;
1206          }
1207          
1208          bit IRDownKeyCtrl(void)
1209          {
1210                  if(((m_cOSDFunc&0xF0)==idMainMenu)||(m_cOSDFunc==idGammaAdjust))
1211                    { m_cOSDEvent=FUNCSELCT_DN; return 1; }
1212                  else  return 0;
1213          }
1214          */
1215          /*void SaveEeprom(void)  //Save Gammma Data to EEPBLOCK1
1216          {
1217                  uCHAR i;
1218                  uCHAR c;
1219          
1220                  for(i=0;i<GAMMA_TABLE_DATA_SIZE;i++) {
1221                          c=GAMMAData[i+8];
1222                          I2CWriteByte(EEPBLOCK1,i,c);
1223                          twdDelay(NVRDELAY);
1224                  }
1225                  I2CWriteByte(EEPBLOCK0,0x10,0xa3);
1226          }
1227          */
1228          /*void AdjustGammmaDate(void)
1229          {
1230                  uCHAR i;
1231                  uCHAR c;
C51 COMPILER V7.06   T100                                                                  09/21/2005 18:16:31 PAGE 21  

1232                  if(bGAMMA_ADJ==1){
1233                          I2CWriteByte(EEPBLOCK1,AddPoint,GammaBuffer);
1234                       }
1235                  I2CWriteByte(TW100,IMG_FUN_CTRL,I2CReadByte(TW100,IMG_FUN_CTRL)&GAMMA_RGB);
1236                  I2CWriteByte(TW100,GAMMA_ADDR,0x00);
1237          
1238                  for(i=0;i<GAMMA_TABLE_DATA_SIZE;i++) {
1239                          c=I2CReadByte(EEPBLOCK1,i);
1240                          twdDelay(NVRDELAY);
1241                          I2CWriteByte(TW100,GAMMA_DATA,c);
1242                          twdDelay(NVRDELAY);
1243                  }
1244          }*/
1245          
1246          
1247          
1248          
1249          
1250          ///////////////////////////////////////////////
1251          //       OSD
1252          
1253          void KSP7001_Init(void)
1254          {
1255   1          OSD_enable = 0;
1256   1      //display timer
1257   1          OSD_time=0;
1258   1      //cursor
1259   1       //   modify = 0;
1260   1          window = MAIN_D;
1261   1          cursor1 = SOURCE;
1262   1          cursor2 = 0;
1263   1          reset_valid=0;
1264   1          //Value default
1265   1          KSP7001_Default();
1266   1      
1267   1      }
1268          
1269          void KSP7001_Default(void)
1270          {
1271   1          uCHAR video_set;
1272   1      
1273   1      //source
1274   1          CurMode = MODE_TUNER;
1275   1      //audio
1276   1          Aud_BassLevel=7; //0(-7)->14(+7)
1277   1          Aud_TrebleLevel=7; //0(-7)->14(+7)
1278   1          Aud_BalanceLevel=7; //0(L7)->14(R7)
1279   1          Aud_FaderLevel=7; //0(F7)->14(R7)
1280   1      
1281   1                        //subwoofer=0; //subwoofer off
1282   1                        //beep=1;  //beep on
1283   1          AudioStatus = AUDIO_STS_BEEP_EN;
1284   1      
1285   1          Aud_IniVol=49; //0->50
1286   1      //video
1287   1          bright=25;
1288   1          video_set = (bright-1) * 5 + 7;
1289   1          I2CWriteByte(TW100,VBRIGHT,video_set);
1290   1          contrast=25;
1291   1          video_set = (contrast-1) * 5 + 7;
1292   1          I2CWriteByte(TW100,VCONTRAST,video_set);
1293   1          color=25;
C51 COMPILER V7.06   T100                                                                  09/21/2005 18:16:31 PAGE 22  

1294   1          video_set = (color-1) * 5 + 7;
1295   1          I2CWriteByte(TW100,VCOLOR,video_set);
1296   1          sharp=3;
1297   1          video_set = sharp*2 + 1;
1298   1          I2CWriteByte(PAGE2_ADDR,VSHARP,video_set);
1299   1      //screen
1300   1          VideoStatus&=~PIC_INVERSE; //direction=0; //0 normal, 1 inv
1301   1          if(VideoStatus&PIC_INVERSE)
1302   1          {
1303   2              bUP_DOWN = 0;
1304   2              bLEFT_RIGHT = 0;
1305   2          }
1306   1          else
1307   1          {
1308   2              bUP_DOWN = 1;
1309   2              bLEFT_RIGHT = 1;
1310   2          }
1311   1          SetUD_LR();
1312   1      
1313   1          VideoStatus|=SCREEN_FULL; //full=1; //16:9
1314   1          if(VideoStatus&SCREEN_FULL) bFULL_43 = 1; //1: FULL
1315   1          else bFULL_43 = 0; //0: 4:3
1316   1          SetMode();
1317   1      
1318   1      //system
1319   1          //tilt=0; //tilt auto
1320   1          TiltFlag0|=TILT_AUTO; //tilt auto
1321   1          
1322   1          MinoutState = INOUT_NONE; //in_out=0; //0 none, 1 level-1,
1323   1                    //2 level-2, 3 level-3
1324   1          TiltLimit = ANGLE_AUTO; //tilt_range=0; //0 auto, 1 1-3,
1325   1                        //2 1-4, 3 1-5
1326   1      
1327   1          ChannelType=TV_NTSC; //0 NTSC, 1 PAL, 2 CHINESE
1328   1          PalType=PAL_DK;  //3 sound-3, 2 sound-2, 1 sound-1
1329   1          VideoStatus&=~ILL_BRIGHT; //backlight off
1330   1      }
1331          
1332          void OSD_UpDown(void)
1333          {
1334   1          unsigned char max;
1335   1      
1336   1      
1337   1          if(window==MAIN_D)  //OSD main menu
1338   1          {
1339   2                                              //  main menu map :
1340   2              if(up)                          //      5 4 3
1341   2              {                               //      2 1 0
1342   3                  if(cursor1<3)
1343   3                  {
1344   4                      OSD_UpdateMain(1); //clean cursor
1345   4                      cursor1+=3;
1346   4                      OSD_UpdateMain(0); //display cursor
1347   4                  }
1348   3              }
1349   2              else if(down)
1350   2              {
1351   3                  if(cursor1>2)
1352   3                  {
1353   4                      OSD_UpdateMain(1); //clean cursor
1354   4                      cursor1-=3;
1355   4                      OSD_UpdateMain(0); //display cursor
C51 COMPILER V7.06   T100                                                                  09/21/2005 18:16:31 PAGE 23  

1356   4                  }
1357   3              }
1358   2      
1359   2          }
1360   1          else if(window==SUB1_D) //OSD sub_menu
1361   1          {
1362   2              //clean old cursor
1363   2              switch(cursor1)
1364   2              {
1365   3                  case SYSTEM : max = SYS_MAX; //system menu
1366   3                                OSD_UpdateSystem(1);
1367   3                                break;
1368   3                  case SCREEN : max = SCR_MAX; //screen menu
1369   3                                OSD_UpdateScreen(1);
1370   3                                break;
1371   3                  case VIDEO  : max = VIDEO_MAX; //video menu
1372   3                                OSD_UpdateVideo(1);
1373   3                                break;
1374   3                  case AUDIO  : max = AUDIO_MAX; //audio menu
1375   3                                OSD_UpdateAudio(1);
1376   3                                break;
1377   3                  case SOURCE : max = SCE_MAX; //source menu
1378   3                                OSD_UpdateSource(1);
1379   3                                break;
1380   3      
1381   3                  default     : OSDExit();
1382   3                                OSD_enable = 0;
1383   3                                break;
1384   3              }
1385   2      
1386   2              //move cursor
1387   2              if(up)
1388   2              {
1389   3                  if(cursor2==max) cursor2=0;
1390   3                  else cursor2++;
1391   3              }
1392   2              else
1393   2              {
1394   3                  if(cursor2==0) cursor2=max;
1395   3                  else cursor2--;
1396   3              }
1397   2      
1398   2              //display new cursor
1399   2              switch(cursor1)
1400   2              {
1401   3                  case SYSTEM : if(!(CurMode&MODE_TV))
1402   3                                {
1403   4                                    if((cursor2==TV_PICTURE)||(cursor2==TV_SOUND))
1404   4                                    {
1405   5                                        if(up) cursor2 = RANGE;
1406   5                                        else cursor2 = BLIGHT;
1407   5                                    }
1408   4                                }
1409   3                                else if((cursor2==TV_SOUND)&&(ChannelType==TV_NTSC))
1410   3                                {
1411   4                                    if(up) cursor2 = TV_PICTURE;
1412   4                                    else cursor2 = BLIGHT;
1413   4                                }
1414   3      
1415   3                                OSD_UpdateSystem(0);
1416   3                                break;
1417   3                  case SCREEN : if((cursor2==SCR_FULL)&&(VideoStatus&SCREEN_FULL))
C51 COMPILER V7.06   T100                                                                  09/21/2005 18:16:31 PAGE 24  

1418   3                                {
1419   4                                    if(up) cursor2 = SCR_PICTURE;
1420   4                                    else cursor2 = SCR_NORMAL;
1421   4                                }
1422   3                                else if((cursor2==SCR_NORMAL)&&!(VideoStatus&SCREEN_FULL))
1423   3                                {
1424   4                                    if(up) cursor2 = SCR_FULL;
1425   4                                    else cursor2 = EXIT;
1426   4                                }
1427   3                                OSD_UpdateScreen(0);
1428   3                                break;
1429   3                  case VIDEO  : OSD_UpdateVideo(0);
1430   3                                break;
1431   3                  case AUDIO  : OSD_UpdateAudio(0);
1432   3                    

⌨️ 快捷键说明

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