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

📄 kernel.lst

📁 周立功dp1581usb2.0实验仪
💻 LST
字号:
C51 COMPILER V7.01  KERNEL                                                                 02/09/2004 20:43:54 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE KERNEL
OBJECT MODULE PLACED IN kernel.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE kernel.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //***********************************************************************
   2          //                                                                                                                                                        *
   3          //                P H I L I P S   P R O P R I E T A R Y                            *
   4          //                                                                      *
   5          //          COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE (APIC).                      *
   6          //                    --  ALL RIGHTS RESERVED  --                               *       
   7          //                                                                      *
   8          //      File Name       :       Kernel.c                                      *
   9          //      Author          :       Albert Goh                                                                                    *
  10          //      Created         :       3 March 2000                                    *
  11          //                                                                         *
  12          //***********************************************************************
  13          //***********************************************************************
  14          //                                                                      *
  15          // Kernel.c is the control centre for this evaluation firmware. It will *
  16          // control where should the firmware branch through via the selection   *
  17          // of the UART port of the 8051. if not via the UART, it will be from   *
  18          // the selection of the code defintion                                  *
  19          //                                                                      *
  20          //***********************************************************************
  21          //***********************************************************************
  22          //                                                                      *
  23          //  Module History                                                                                                                          *  
  24          //  **************                                                                                                                          *
  25          //                                                                                                                                                                *
  26          //  Date        Version                 Author                          Changes                                       *
  27          //  ====        =======                 ======                          =======                                          *
  28          //  030300        0.1                   Albert                          Created                                       *
  29          //                                                                      *
  30          //                                                                      *
  31          //***********************************************************************
  32          //***********************************************************************
  33          //*                                                                                                                                                            *
  34          //*                          Include Files Definition                                              *
  35          //*                                                                                                                                                            *
  36          //***********************************************************************
  37          
  38          #include "standard.h"
  39          #include "Kernel.h"
  40          #include "D14.h"
  41          #include "zlg7289.h"
  42          #include "VIIC_C51.h"
  43          
  44          //***********************************************************************
  45          //*                                                                                                                                                            *
  46          //*                      External routine Definition                                                  *
  47          //*                                                                                                                                                            *
  48          //***********************************************************************
  49          
  50          extern Init_Main();
  51          extern USB_Debug_Mode();
  52          extern DMA_Debug_Mode();
  53          extern USB_INT_FLAG USB_Int_Flag;
  54          extern DMA_INT_FLAG DMA_Int_Flag;
  55          extern USB_DEVICE USB_Device;
C51 COMPILER V7.01  KERNEL                                                                 02/09/2004 20:43:54 PAGE 2   

  56          extern  D14_CNTRL_REG   volatile xdata   D14_Cntrl_Reg;
  57          extern void Check_Busy(void);
  58          extern void Init_D14(void);
  59          extern void Init_Endpoint(void);
  60          extern void Init_Device(void);
  61          extern void Get_PIDVID(void);
  62          //extern unsigned int read_endpoint(unsigned char endp,unsigned int len,unsigned char *buf);
  63          //extern unsigned int write_endpoint(unsigned char endp,unsigned int len,unsigned char *buf);
  64          extern UC VID[2],PID[2];
  65          extern UC       idata Endpt_FIFO[MAX_BUF];
  66          extern Set_USB(void);
  67          extern TIMER    Timer;
  68          extern UC       timecouter;
  69          //***********************************************************************
  70          //*                                                                                                                                                            *
  71          //*                      Prototype routine Definition                                              *
  72          //*                                                                                                                                                            *
  73          //***********************************************************************
  74          
  75          void Start_mSEC_Timer(Data);
  76          void Start_SEC_Timer(Data);
  77          uchar DelayNS(uchar no);
  78          
  79          //***********************************************************************
  80          //*                                                                                                                                                            *
  81          //*                          Variable Definition                                                              *
  82          //*                                                                                                                                                            *
  83          //***********************************************************************
  84          
  85          UI      Temp;
  86          KERNEL Kernel_Flag;
  87          uchar code disp_buf[8]={0,0,0,0,0,0,0,0};               //LED初始化值
  88          //UC key=0xff;
  89          //***********************************************************************
  90          //*                                                                                                                                                            *
  91          //*                          Routine Definition                                                            *
  92          //*                                                                                                                                                            *
  93          //***********************************************************************
  94          
  95          //***********************************************************************
  96          //*                                                                                                                                                    *
  97          //*     Routine         :  Main                                                            *
  98          //*     Input           :  None                                                                                             *
  99          //*     Output   :      None                                                                       *
 100          //*     Function        :       main loop                                                             *
 101          //*                                                                                                                                                            *
 102          //***********************************************************************
 103          
 104          void Main(void)
 105          {
 106   1              Init_Main();                    
 107   1              DelayNS(5);
 108   1              ZLG7289_Rest();         // 复位ZLG7289
 109   1          DelayNS(5);
 110   1              //Initialization routine
 111   1              //初始化子程序
 112   1              ZLG7289_SendBuf(disp_buf);
 113   1              
 114   1              //enable device and reset the device address
 115   1              D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1; 
 116   1              
 117   1              do
C51 COMPILER V7.01  KERNEL                                                                 02/09/2004 20:43:54 PAGE 3   

 118   1              {               
 119   2                      //USB routine
 120   2                      USB_Debug_Mode();
 121   2                      
 122   2                      //Generic DMA routine
 123   2                      DMA_Debug_Mode();
 124   2      
 125   2              }
 126   1              while(1);
 127   1      }
 128          
 129          /*********************************************************************************************************
 130          ** 函数名称:    DelayNS
 131          ** 功能描述:    长软件延时
 132          ** 输 入: no : 延时参数,值越大时延时越久
 133          **         
 134          ** 输 出: 0 :  OK;
 135          **         1 :  FAIL;
 136          ** 全局变量:    无
 137          ** 调用模块:    无
 138          **
 139          ** 作 者: 叶皓贲
 140          ** 日 期: 2003-3-4
 141          **-------------------------------------------------------------------------------------------------------
 142          ** 修改人:
 143          ** 日 期:
 144          **------------------------------------------------------------------------------------------------------
 145          ********************************************************************************************************/
 146          uchar DelayNS(uchar no)
 147          { 
 148   1              uchar i,j;                                      //延时参数
 149   1      
 150   1              for(; no>0; no--)
 151   1              { 
 152   2                      for(i=0; i<100; i++)
 153   2                      for(j=0; j<100; j++);
 154   2              }
 155   1              return 0; 
 156   1      }
 157          
 158          //***********************************************************************
 159          //*                                                                                                                                                    *
 160          //*     Routine         : Start_mSEC_Timer(Delay)                                       *
 161          //*     Input           : Delay in milli second                                                                          *  
 162          //*     Output          : Start timer operation                                                    *
 163          //*     Function        : To start the timeout operation based on the delay i/p  *
 164          //*                                                                                                                                                            *
 165          //***********************************************************************
 166          
 167          void Start_mSEC_Timer(Data)
 168          {
 169   1              
 170   1              
 171   1              do
 172   1              {
 173   2                      
 174   2                      //calculate timer value
 175   2                      Temp = Timer.mSEC_Scale;                
 176   2                      Temp = 0xffff - Temp;
 177   2                      
 178   2                      ET0 = 1;
 179   2                      
C51 COMPILER V7.01  KERNEL                                                                 02/09/2004 20:43:54 PAGE 4   

 180   2                      //calculate timer value
 181   2                      //initialize timer 0 counter
 182   2                      Temp >>= 8;
 183   2                      TH0 = (UC) Temp;
 184   2                      Temp = Timer.mSEC_Scale;                
 185   2                      Temp = 0xffff - Temp;
 186   2                      TL0 = (UC) Temp;
 187   2                      
 188   2                      //start timer count
 189   2                      TR0 = 1;                                                        
 190   2                      
 191   2                      Kernel_Flag.BITS.Timer_Expired = 0;
 192   2                      while(!Kernel_Flag.BITS.Timer_Expired);
 193   2                      Kernel_Flag.BITS.Timer_Expired = 0;
 194   2                      
 195   2                      
 196   2                      //stop timer
 197   2                      TR0 = 0;                                                        
 198   2                      ET0 = 0;
 199   2                      
 200   2                      Data--;
 201   2              }
 202   1              while(Data != 0);
 203   1      }
 204          
 205          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    198    ----
   CONSTANT SIZE    =      8    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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