Initial.LST
上传用户:gxz1972
上传日期:2019-09-13
资源大小:323k
文件大小:9k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. C51 COMPILER V7.02b   INITIAL                                                              11/30/2007 14:07:11 PAGE 1   
  2. C51 COMPILER V7.02b, COMPILATION OF MODULE INITIAL
  3. OBJECT MODULE PLACED IN Initial.OBJ
  4. COMPILER INVOKED BY: C:KeilC51BINc51.exe Initial.c DB OE
  5. stmt level    source
  6.    1          //-----------------------------------------------------------------------------
  7.    2          // GlobalVariabel.c
  8.    3          //-----------------------------------------------------------------------------
  9.    4          // Copyright 2007 Vson Technology, Inc.
  10.    5          // http://www.usbmcu.com
  11.    6          //
  12.    7          // Program Description:
  13.    8          //
  14.    9          //
  15.   10          //
  16.   11          //
  17.   12          //
  18.   13          // MCU:            C8051F347
  19.   14          // Tool chain:     Keil C51 7.50 / Keil EVAL C51
  20.   15          //                 Silicon Laboratories IDE version 2.6
  21.   16          // Command Line:   
  22.   17          // Project Name:   TR1000
  23.   18          //
  24.   19          //
  25.   20          // Release 1.0
  26.   21          //    -All changes by Brin
  27.   22          //    -24 JUL 2007
  28.   23          //
  29.   24          //
  30.   25          
  31.   26          //-----------------------------------------------------------------------------
  32.   27          // Includes
  33.   28          //-----------------------------------------------------------------------------
  34.   29          
  35.   30          #include "Include_H.h"
  36.   31          
  37.   32          
  38.   33          //-----------------------------------------------------------------------------
  39.   34          // Initialization Subroutines
  40.   35          //-----------------------------------------------------------------------------
  41.   36          
  42.   37          void Initial(void)
  43.   38          {
  44.   39   1         data BYTE i;
  45.   40   1         PORT_Init ();                       // Initialize Crossbar and GPIO
  46.   41   1         Timer_Init();
  47.   42   1         SYSCLK_Init ();                     // Initialize oscillator
  48.   43   1         USB0_Init ();                       // Initialize USB0
  49.   44   1         VDD_MON_Init();                     // Turn on VDD Monitor
  50.   45   1      
  51.   46   1         for (i = 0; i < 64; i++)
  52.   47   1         {
  53.   48   2               gaucTxData2HostBuffer[i]=0;
  54.   49   2         }
  55.   50   1      }
  56.   51          //-----------------------------------------------------------------------------
  57.   52          // SYSCLK_Init
  58.   53          //-----------------------------------------------------------------------------
  59.   54          //
  60.   55          // Return Value : None
  61. C51 COMPILER V7.02b   INITIAL                                                              11/30/2007 14:07:11 PAGE 2   
  62.   56          // Parameters   : None
  63.   57          //
  64.   58          // This function initializes the system clock and USB clock.
  65.   59          //
  66.   60          //-----------------------------------------------------------------------------
  67.   61          
  68.   62          void SYSCLK_Init (void)
  69.   63          {
  70.   64   1         unsigned char delay = 100;
  71.   65   1      
  72.   66   1         OSCICN |= 0x03;                     // Configure internal oscillator for
  73.   67   1                                             // its maximum frequency
  74.   68   1      
  75.   69   1         CLKMUL = 0x00;                      // Select internal oscillator as
  76.   70   1                                             // input to clock multiplier
  77.   71   1      
  78.   72   1         CLKMUL |= 0x80;                     // Enable clock multiplier
  79.   73   1         while (delay--);                    // Delay for >5us
  80.   74   1         CLKMUL |= 0xC0;                     // Initialize the clock multiplier
  81.   75   1      
  82.   76   1         while(!(CLKMUL & 0x20));            // Wait for multiplier to lock
  83.   77   1      
  84.   78   1         CLKSEL |= USB_4X_CLOCK;             // Select USB clock
  85.   79   1         CLKSEL |= SYS_4X_DIV_2;             // Select SYSCLK as Clock Multiplier/2
  86.   80   1      }
  87.   81          
  88.   82          
  89.   83          
  90.   84          /*
  91.   85          void SYSCLK_Init (void) //void Oscillator_Init()
  92.   86          {
  93.   87              int i = 0;
  94.   88              OSCICN    = 0x83;
  95.   89              CLKMUL    = 0x80;
  96.   90              for (i = 0; i < 20; i++);    // Wait 5us for initialization
  97.   91              CLKMUL    |= 0xC0;
  98.   92              while ((CLKMUL & 0x20) == 0);
  99.   93              CLKSEL    = 0x10;
  100.   94          }
  101.   95          
  102.   96          */
  103.   97          //-----------------------------------------------------------------------------
  104.   98          // VDD_MON_Init
  105.   99          //-----------------------------------------------------------------------------
  106.  100          //
  107.  101          // Return Value : None
  108.  102          // Parameters   : None
  109.  103          //
  110.  104          // This function initializes the VDD monitor
  111.  105          //
  112.  106          //-----------------------------------------------------------------------------
  113.  107          void VDD_MON_Init(void)        
  114.  108          {
  115.  109   1         RSTSRC |= 0x02;
  116.  110   1      }
  117.  111          
  118.  112          //-----------------------------------------------------------------------------
  119.  113          // USB0_Init
  120.  114          //-----------------------------------------------------------------------------
  121.  115          //
  122.  116          // Return Value : None
  123.  117          // Parameters   : None
  124. C51 COMPILER V7.02b   INITIAL                                                              11/30/2007 14:07:11 PAGE 3   
  125.  118          //
  126.  119          // - Initialize USB0
  127.  120          // - Enable USB0 interrupts
  128.  121          // - Enable USB0 transceiver
  129.  122          // - USB0 left disabled
  130.  123          //
  131.  124          //-----------------------------------------------------------------------------
  132.  125          void USB0_Init (void)
  133.  126          {
  134.  127   1         UWRITE_BYTE(POWER, 0x08);           // Asynch. reset
  135.  128   1      
  136.  129   1         UWRITE_BYTE(IN1IE, 0x0F);           // Enable Endpoint0 Interrupt
  137.  130   1         UWRITE_BYTE(OUT1IE, 0x0F);
  138.  131   1         UWRITE_BYTE(CMIE, 0x04);            // Enable Reset interrupt
  139.  132   1      
  140.  133   1         USB0XCN = 0xC0;                     // Enable transceiver
  141.  134   1         USB0XCN |= FULL_SPEED;              // Select device speed
  142.  135   1      
  143.  136   1         UWRITE_BYTE(CLKREC, 0x80);          // Enable clock recovery,
  144.  137   1                                             // single-step mode disabled
  145.  138   1      
  146.  139   1         EIE1 |= 0x02;                       // Enable USB0 Interrupts
  147.  140   1      }
  148.  141          
  149.  142          
  150.  143          
  151.  144          //-----------------------------------------------------------------------------
  152.  145          // PORT_Init
  153.  146          //-----------------------------------------------------------------------------
  154.  147          //
  155.  148          // Return Value : None
  156.  149          // Parameters   : None
  157.  150          //
  158.  151          // This function configures the crossbar and GPIO ports.
  159.  152          //
  160.  153          // P2.2   digital   push-pull     LED
  161.  154          // P2.3   digital   push-pull     LED
  162.  155          //
  163.  156          //-----------------------------------------------------------------------------
  164.  157          void PORT_Init(void)
  165.  158          {  
  166.  159   1         P2MDOUT      |=      0x0C;                                   // Port 2 pins 0,1 set high impedence
  167.  160   1         Led1 = 0;                                                    // Start with both Leds off
  168.  161   1         Led2 = 0;
  169.  162   1         XBR0 = 0x00;                                             
  170.  163   1         XBR1 = 0x40;                         // Enable Crossbar
  171.  164   1      }
  172.  165          
  173.  166          void Timer_Init(void)
  174.  167          {
  175.  168   1          TMOD      = 0x21;
  176.  169   1          CKCON     = 0X08;           //0x01;
  177.  170   1          TH1       = 0X30;           //0x63;
  178.  171   1      //    TL0       = 0xa0;
  179.  172   1          TH0       = 0x15;
  180.  173   1          TCON      = 0x50;
  181.  174   1      
  182.  175   1          TMR2CN    = 0x04;
  183.  176   1          TMR2RLL   = 0xDF;
  184.  177   1          TMR2RLH   = 0xB1;
  185.  178   1          TMR2L     = 0xDF;
  186.  179   1          TMR2H     = 0xB1;
  187. C51 COMPILER V7.02b   INITIAL                                                              11/30/2007 14:07:11 PAGE 4   
  188.  180   1      
  189.  181   1              TMR3CN    = 0x04;
  190.  182   1          TMR3RLL   = 0xDF;
  191.  183   1          TMR3RLH   = 0xB1;
  192.  184   1          TMR3L     = 0xDF;
  193.  185   1          TMR3H     = 0xB1;
  194.  186   1      
  195.  187   1      }
  196.  188          
  197.  189          
  198. MODULE INFORMATION:   STATIC OVERLAYABLE
  199.    CODE SIZE        =    183    ----
  200.    CONSTANT SIZE    =   ----    ----
  201.    XDATA SIZE       =   ----    ----
  202.    PDATA SIZE       =   ----    ----
  203.    DATA SIZE        =   ----    ----
  204.    IDATA SIZE       =   ----    ----
  205.    BIT SIZE         =   ----    ----
  206. END OF MODULE INFORMATION.
  207. C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)