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

📄 tvmodule.lst

📁 金星车载TV PAL制频头UV7305BDI控制源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.20   TVMODULE                                                              11/18/2004 17:33:50 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TVMODULE
OBJECT MODULE PLACED IN D:\TEST\TV\TVMODULE.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\TEST\TV\TVMODULE.C DB SB OE

line level    source

   1          #include <REG52.H>
   2          #include <Function.H>
   3          #include <constant.h>
   4          #include <Extern.h>
   5          
   6          //TV高频头的中频部分设置(制式设置)
   7          //MidFreqIC_Addr: 中频IC的IIC地址,如TDA9885T的是0xC0或0xC2
   8          //wdata:写入中频的数据,其中wdata[0]是
   9          //if success return 0,else return 1;
  10          bit SetTV_Module(unsigned char MidFreqIC_Addr,unsigned char *wdata,unsigned char num)
  11          {
  12   1              unsigned char i;
  13   1              bit errorflag=0;
  14   1              i=ERRORCOUNT;
  15   1      
  16   1              while(--i)
  17   1              {
  18   2                      IICStart();
  19   2                      IICSendByte(MidFreqIC_Addr);
  20   2                      if(IICRecAck())
  21   2                              continue;
  22   2                      while(num--)
  23   2                      {
  24   3                              IICSendByte(*wdata++);
  25   3                              if(!IICRecAck())
  26   3                                      continue;
  27   3                              errorflag=1;
  28   3                              break;
  29   3                      }
  30   2                      if(!errorflag)
  31   2                              break;
  32   2              }
  33   1              IICStop();
  34   1              Delay(255);
  35   1              Delay(255);
  36   1              Delay(255);
  37   1              Delay(255);
  38   1              if(i==0)
  39   1                      errorflag=1;
  40   1              return(errorflag);
  41   1      }
  42          
  43          //modeflag= {TV_PAL_DK ,TV_PAL_I,TV_PAL_BG,TV_SECAM_L,TV_SECAM_L1)
  44          //
  45          //
  46          
  47          bit SetMode_JS6B2121(unsigned char modeflag)
  48          {
  49   1         switch(modeflag)
  50   1         {
  51   2            case TV_PAL_DK :
  52   2                 buf_eeprom[0]=JS121_PAL_DK[0];
  53   2                 buf_eeprom[1]=JS121_PAL_DK[1];
  54   2                 buf_eeprom[2]=JS121_PAL_DK[2];
  55   2                 buf_eeprom[3]=JS121_PAL_DK[3];
C51 COMPILER V7.20   TVMODULE                                                              11/18/2004 17:33:50 PAGE 2   

  56   2                 if(!SetTV_Module(JS6B2121M_WRITE,buf_eeprom,4))
  57   2                 {
  58   3                     TV_mode=modeflag;
  59   3                     return(0);
  60   3                 }
  61   2                 break;
  62   2            case TV_PAL_I :
  63   2                 buf_eeprom[0]=JS121_PAL_I[0];
  64   2                 buf_eeprom[1]=JS121_PAL_I[1];
  65   2                 buf_eeprom[2]=JS121_PAL_I[2];
  66   2                 buf_eeprom[3]=JS121_PAL_I[3];
  67   2                 if(!SetTV_Module(JS6B2121M_WRITE,buf_eeprom,4))
  68   2                 {
  69   3                     TV_mode=modeflag;
  70   3                     return(0);
  71   3                 }
  72   2                 break;
  73   2            case TV_PAL_BG :
  74   2                 buf_eeprom[0]=JS121_PAL_BG[0];
  75   2                 buf_eeprom[1]=JS121_PAL_BG[1];
  76   2                 buf_eeprom[2]=JS121_PAL_BG[2];
  77   2                 buf_eeprom[3]=JS121_PAL_BG[3];
  78   2                 if(!SetTV_Module(JS6B2121M_WRITE,buf_eeprom,4))
  79   2                 {
  80   3                     TV_mode=modeflag;
  81   3                     return(0);
  82   3                 }
  83   2                 break;
  84   2            case TV_SECAM_L :
  85   2                 buf_eeprom[0]=JS121_SECAM_L[0];
  86   2                 buf_eeprom[1]=JS121_SECAM_L[1];
  87   2                 buf_eeprom[2]=JS121_SECAM_L[2];
  88   2                 buf_eeprom[3]=JS121_SECAM_L[3];
  89   2                 if(!SetTV_Module(JS6B2121M_WRITE,buf_eeprom,4))
  90   2                 {
  91   3                     TV_mode=modeflag;
  92   3                     return(0);
  93   3                 }
  94   2                 break;
  95   2            case TV_SECAM_L1 :
  96   2                 buf_eeprom[0]=JS121_SECAM_L1[0];
  97   2                 buf_eeprom[1]=JS121_SECAM_L1[1];
  98   2                 buf_eeprom[2]=JS121_SECAM_L1[2];
  99   2                 buf_eeprom[3]=JS121_SECAM_L1[3];
 100   2                 if(!SetTV_Module(JS6B2121M_WRITE,buf_eeprom,4))
 101   2                 {
 102   3                     TV_mode=modeflag;
 103   3                     return(0);
 104   3                 }
 105   2                 break;
 106   2            default:break;
 107   2         }
 108   1         return(1);
 109   1      }
 110          
 111          
 112          
 113          //要求一表示TV制式的全局变量:TV_mode
 114          bit AdjustTV_JS6B2121(unsigned int nVal)
 115          {
 116   1      
 117   1       switch(TV_mode)
C51 COMPILER V7.20   TVMODULE                                                              11/18/2004 17:33:50 PAGE 3   

 118   1       {
 119   2        case TV_PAL_DK:
 120   2             if(nVal<0x1004)
 121   2                  buf_eeprom[3]=0x01;        //VL
 122   2             else if(nVal<0x27C4)
 123   2                  buf_eeprom[3]=0x02;   //VH
 124   2             else if(nVal<0x4680)
 125   2                  buf_eeprom[3]=0x04;   //UHF
 126   2             else return(1);
 127   2             break;
 128   2        case TV_PAL_I:
 129   2             if(nVal<0x0E72)buf_eeprom[3]=0x01;         //VL
 130   2             else if(nVal<0x27C2)buf_eeprom[3]=0x02;    //VH
 131   2             else if(nVal<=0x4662)buf_eeprom[3]=0x04;   //UHF
 132   2             else return(1);
 133   2             break;
 134   2        case TV_PAL_BG:
 135   2             break;
 136   2        case TV_SECAM_L:
 137   2             if(nVal<0x07FF)                          //VL1  L'
 138   2             {
 139   3                SetMode_JS6B2121(TV_SECAM_L1);
 140   3                buf_eeprom[3]=0x01;
 141   3             }
 142   2             else if(nVal<0x0F10)buf_eeprom[3]=0x01;    //VL2
 143   2             else if(nVal<=0x2AA8)buf_eeprom[3]=0x02;   //UHF
 144   2             else if(nVal<=0x46DC)buf_eeprom[3]=0x04;   //UHF
 145   2             else return(1);
 146   2             break;
 147   2        case TV_SECAM_L1:
 148   2             if(nVal<0x07FF)                          //VL1  L'
 149   2                 buf_eeprom[3]=0x01;
 150   2             else if(nVal<0x0F10)
 151   2             {
 152   3                SetMode_JS6B2121(TV_SECAM_L);
 153   3                buf_eeprom[3]=0x01;
 154   3             }
 155   2             else if(nVal<=0x2AA8)
 156   2             {
 157   3                SetMode_JS6B2121(TV_SECAM_L);
 158   3                buf_eeprom[3]=0x02;
 159   3             }
 160   2             else if(nVal<=0x46DC)
 161   2             {
 162   3                SetMode_JS6B2121(TV_SECAM_L);
 163   3                buf_eeprom[3]=0x04;
 164   3             }
 165   2             else return(1);
 166   2             break;
 167   2        default:
 168   2             break;
 169   2       }
 170   1       buf_eeprom[0]=(unsigned char)(nVal>>8);
 171   1       buf_eeprom[1]=(unsigned char)(nVal&0x00FF);
 172   1       buf_eeprom[2]=0xC8;
 173   1       buf_eeprom[4]=0xD8;
 174   1       buf_eeprom[5]=0x60;
 175   1       return(SetTV_Module(JS6B2121H_WRITE,buf_eeprom,6));
 176   1      }
 177          
 178          

⌨️ 快捷键说明

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