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

📄 mcu.lst

📁 车载DVD的主控MCU的源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.06   MCU                                                                   12/11/2007 11:28:42 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN .\BIN\MCU.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\MCU.C LARGE OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND PRINT(.\LST\MCU.lst) O
                    -BJECT(.\BIN\MCU.obj)

stmt level    source

   1          /*==========================================
   2          ==========================================*/
   3          #include "include.h"
   4          /*==========================================
   5          ==========================================*/
   6          extern WarmUp();
   7          void InitMCU(void)
   8          {
   9   1              Byte xdata *Addr;
  10   1              Byte i;
  11   1              Addr = 0xf000;
  12   1              for(i=0; i<0x23; i++){
  13   2                      *Addr = McuRegTab[i];
  14   2                      Addr++;
  15   2              }
  16   1      //      DrivePowOff();
  17   1              INTEXT_EN   = 0x02;
  18   1      // set timer 0
  19   1              SCON = 0x52;
  20   1              TMOD = 0x22;    //timer0 /timer1 8 bits auto reload
  21   1      //      TMOD = 0x21;    //timer0 16 bits/timer1 8 bits auto reload
  22   1              PCON = 0x80;
  23   1      // timer0 8 bits auto reload
  24   1              TL0 = -200;
  25   1              TH0 =-200;
  26   1      //      TL0 = 256-(CPU_CLK/1000*100/12000); //time base 100us
  27   1      //      TH0 = 256-(CPU_CLK/1000*100/12000);
  28   1      
  29   1      // timer0 16 bits
  30   1      //      TL0 = (65536-CPU_CLK/1200)%256; //time base 10ms
  31   1      //      TH0 = (65536-CPU_CLK/1200)/256;
  32   1      
  33   1      // For 12.000 MHz 
  34   1              TL1 = 256-(2*CPU_CLK/384/9600);
  35   1              TH1 = 256-(2*CPU_CLK/384/9600);
  36   1      // For 14.318 MHz 
  37   1              //TL1 = 256-(2*CPU_CLK/384/4800);
  38   1              //TH1 = 256-(2*CPU_CLK/384/4800);
  39   1              TR0 = 1;                //start timer0
  40   1              TR1 = 1;                //start timer1
  41   1      // set interrupt
  42   1      //      EX1 = 1;                //enable External interrupt1
  43   1              ET0 = 1;                //enable timer0 interrupt
  44   1              EA = 1;                 //enable all interrupt
  45   1              T0_INT_CNT = 0;
  46   1              T0_10ms_Cnt = 0;
  47   1              Sleep(50);      
  48   1      }
  49          /*==========================================
  50          ==========================================*/
  51          void Timer0(void) interrupt 1 using 2
  52          {
  53   1        if(TimeCount == 1)
  54   1         {
C51 COMPILER V7.06   MCU                                                                   12/11/2007 11:28:42 PAGE 2   

  55   2              if(++T0_INT_CNT >= 10){
  56   3                      T0_INT_CNT = 0;
  57   3      //              if(Timer1 != 0)                 // 1ms
  58   3      //                      Timer1--;
  59   3                      if(++T0_1ms_Cnt >= 10){ // 10ms
  60   4                              CLRWDT = 0x55;
  61   4                              T0_1ms_Cnt = 0;
  62   4                              if(++T0_10ms_Cnt >= 100){//--1s
  63   5                                      T0_10ms_Cnt = 0;
  64   5                              }
  65   4                              if(OsdTimer > 0)
  66   4                                      OsdTimer--;
  67   4                              if(LocalTimer > 0)
  68   4                                      LocalTimer--;
  69   4                              if(PowerTimer > 0)
  70   4                                      PowerTimer--;
  71   4                              if(LedTimer > 0)
  72   4                                      LedTimer--;
  73   4                              if(RepeatTimer > 0)
  74   4                                      RepeatTimer--;
  75   4                              if(DDCTimer > 0)
  76   4                                      DDCTimer--;
  77   4                              if(SaveTimer > 0)
  78   4                                      SaveTimer--;
  79   4                              if(VideoTimer > 0)
  80   4                                      VideoTimer--;
  81   4                              if(BurnInTimer > 0)
  82   4                                      BurnInTimer--;
  83   4                              if(MuteTimer > 0)
  84   4                                      MuteTimer--;            
  85   4                      }
  86   3              }
  87   2        }
  88   1        else
  89   1          {
  90   2                 EA = 0;
  91   2             LED_GrnOn();
  92   2             ScreenStop();
  93   2             ScrnCount = 0;
  94   2          //  LED_GrnOn();
  95   2                 INTEXT_FLG = 0x02;
  96   2                 SCON = 0x52;
  97   2                 TMOD = 0x22; //timer0 /timer1 8 bits auto reload
  98   2      //      TMOD = 0x21;    //timer0 16 bits/timer1 8 bits auto reload
  99   2                 PCON = 0x80;
 100   2      // timer0 8 bits auto reload
 101   2                 TL0 = -200;
 102   2                 TH0 =-200;
 103   2      //      TL0 = 256-(CPU_CLK/1000*100/12000); //time base 100us
 104   2      //      TH0 = 256-(CPU_CLK/1000*100/12000);
 105   2      
 106   2      // timer0 16 bits
 107   2      //      TL0 = (65536-CPU_CLK/1200)%256; //time base 10ms
 108   2      //      TH0 = (65536-CPU_CLK/1200)/256;
 109   2      
 110   2      // For 12.000 MHz 
 111   2                 TL1 = 256-(2*CPU_CLK/384/9600);
 112   2                TH1 = 256-(2*CPU_CLK/384/9600);
 113   2      // For 14.318 MHz 
 114   2              //TL1 = 256-(2*CPU_CLK/384/4800);
 115   2              //TH1 = 256-(2*CPU_CLK/384/4800);
 116   2            TR0 = 1;          //start timer0
C51 COMPILER V7.06   MCU                                                                   12/11/2007 11:28:42 PAGE 3   

 117   2            TR1 = 1;          //start timer1
 118   2      // set interrupt
 119   2      //      EX1 = 0;                //enable External interrupt1
 120   2      //      ET0 = 1;                //enable timer0 interrupt
 121   2            EA = 1;                   //enable all interrupt
 122   2                T0_INT_CNT = 0;
 123   2                T0_10ms_Cnt = 0;
 124   2                TimeCount = 1;
 125   2              }
 126   1      }
 127          
 128          //+++++++++++++++++++++++++++++++++++++++++++
 129          void KeyProsec()
 130          {
 131   1          unsigned char KeyBuf;
 132   1      //       LED_RedOn();
 133   1              KeyBuf = ScanKey();
 134   1              if(KeyBuf == 14)
 135   1                 {
 136   2                   KeyBuffer = KeyBuf;
 137   2                 }
 138   1              printf("KeyBuff=%d\r\n",KeyBuf);
 139   1              if(KeyBuf == 0x13)
 140   1                 {
 141   2                   
 142   2                   Sleep(800);
 143   2                       KeyBuf = ScanKey();
 144   2      
 145   2                       if(KeyBuf == 13)
 146   2                          {
 147   3                                KeyBuf = 0x00;
 148   3      
 149   3                                   PowStart = 0;
 150   3                       PowNavOff();
 151   3      
 152   3                              }
 153   2                 }
 154   1          if(KeyBuf == 12)
 155   1             {
 156   2      //            LED_RedOn();
 157   2                   PreCount++;
 158   2               if(PreCount == 0x00)
 159   2                         {
 160   3                           SyncMode = 3;
 161   3                   ShowSource();
 162   3                               PowDvdOff();
 163   3      //                       SetCount = 0;
 164   3                   FLG_Change_SyncMode = 1;
 165   3                         }
 166   2                      else if(PreCount == 0x01)
 167   2                         {
 168   3                         BackLightOff();
 169   3      //                   SyncMode = 0x01;
 170   3      //             WriteIIC_Video(00,00);
 171   3                                  PowDvdOn();
 172   3                   SyncMode = 0x00;
 173   3              //     ShowSource();
 174   3                   WriteIIC_Video(00,00);
 175   3                               Sleep(200);  
 176   3      //                              SetCount = 0;
 177   3                                      ChangeMode = 1;
 178   3                      FLG_Change_SyncMode = 1;
C51 COMPILER V7.06   MCU                                                                   12/11/2007 11:28:42 PAGE 4   

 179   3                         }
 180   2              else if(PreCount == 0x02)
 181   2                         {
 182   3                         //  PreCount =0x00;
 183   3                   SyncMode = 0x01;
 184   3                 BackLightOff();
 185   3                        // ShowSource();
 186   3                               WriteIIC_Video(00,02);
 187   3                                 PowDvdOff();
 188   3              //                 SetCount = 0;
 189   3                                 ChangeMode = 1;
 190   3                     FLG_Change_SyncMode = 1;
 191   3                         }
 192   2                       else if(PreCount == 0x03)
 193   2                         {
 194   3                         BackLightOff();
 195   3      /////////////////////
 196   3      
 197   3      //////////////////////
 198   3                            SyncMode = 0x03;
 199   3                                PreCount = 0;
 200   3              //                 ShowSource();
 201   3                                InitScaler();
 202   3                                PowDvdOff();
 203   3           //         SetCount = 0;
 204   3                                ChangeMode = 1;
 205   3                      
 206   3                    FLG_Change_SyncMode = 1;
 207   3      
 208   3      
 209   3      
 210   3                         }
 211   2                 }
 212   1         if(KeyBuf == 11)
 213   1            {
 214   2                   CarDirecte +=1;
 215   2                       if(CarDirecte >=4)
 216   2                          {
 217   3                                CarDirecte = 2;
 218   3                              }
 219   2               Write24C08(0x60,CarDirecte);
 220   2                   driver2();
 221   2                   
 222   2                }
 223   1         if(KeyBuf == 21)
 224   1            {
 225   2      
 226   2                      BackLightOff();
 227   2                  MenuSet(); 
 228   2                      Sleep(10);
 229   2                      MenuClr();
 230   2                      InitScaler();
 231   2                  SyncMode = 3;
 232   2               //     ShowSource();
 233   2                      PowDvdOff();
 234   2      //                       SetCount = 0;
 235   2                 FLG_Change_SyncMode = 1;
 236   2      //                 if(MenuState ==0)
 237   2      //                 MenuState +=1;
 238   2      //                 if(MenuState >240)
 239   2      //                    MenuState = 1;
 240   2      //                 else 
C51 COMPILER V7.06   MCU                                                                   12/11/2007 11:28:42 PAGE 5   

 241   2      //                     MenuState -=1;
 242   2                }
 243   1      }
 244          
 245          //************************************************************
 246          /*
 247          void driver1()
 248          {
 249            unsigned char temp;
 250           //    LED_GrnOn();
 251               if(CarDirecte == 2)
 252                 {
 253                        DrivePowOn();
 254                        while((ParTest(temp, 0x78)) >6) //0x6E
 255                              {
 256                                    temp = AdcCont();
 257                                    temp &=0x7f;
 258                                    printf("SCRET = %d\r\n",temp);
 259                                    ScreenDown();
 260                                    CLRWDT = 0x55;
 261                                    
 262                                  }   
 263                                  
 264                                  ScreenStop();
 265                    while(ReadCarStart() != 0)
 266                     {
 267                       CarBack();
 268                       CLRWDT = 0x55;
 269                       LED_GrnOn();
 270                     }
 271                     CarStop(); 
 272                       while(ReadCarend() != 0)
 273                    {
 274                      CarFront();
 275                      CLRWDT = 0x55;
 276                      
 277                    }
 278                    CarStop();
 279                     
 280          //            ScreenUp();
 281                while((ParTest(temp,0x18))>6 || (temp == 0))  //0x2A  45
 282                   {
 283                     
 284                             temp = AdcCont();
 285                             temp &=0x7f;
 286                             ScreenUp();
 287                             CLRWDT = 0x55;
 288          //                 LED_GrnOn();
 289                    }       
 290          //                LED_GrnOff();  
 291                            ScrnCount = 0;

⌨️ 快捷键说明

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