www.pudn.com > uCOSV262.rar > 020Init.c


///////////////////////////////////// 
//  Generated Initialization File  // 
///////////////////////////////////// 
 
#include "C8051F020.h" 
 
// Peripheral specific initialization functions, 
// Called from the Init_Device() function 
void Reset_Sources_Init() 
{ 
    WDTCN     = 0xDE; 
    WDTCN     = 0xAD; 
} 
 
void SMBus_Init() 
{ 
    SMB0CN    = 0x40; 
    SMB0CR    = 0x2B; 
} 
 
void Port_IO_Init() 
{ 
    // P0.0  -  TX0 (UART0), Open-Drain, Digital 
    // P0.1  -  RX0 (UART0), Open-Drain, Digital 
    // P0.2  -  SCK  (SPI0), Open-Drain, Digital 
    // P0.3  -  MISO (SPI0), Open-Drain, Digital 
    // P0.4  -  MOSI (SPI0), Open-Drain, Digital 
    // P0.5  -  NSS  (SPI0), Open-Drain, Digital 
    // P0.6  -  SDA (SMBus), Open-Drain, Digital 
    // P0.7  -  SCL (SMBus), Open-Drain, Digital 
 
    // P1.0  -  TX1 (UART1), Open-Drain, Digital 
    // P1.1  -  RX1 (UART1), Open-Drain, Digital 
    // P1.2  -  CEX0 (PCA),  Open-Drain, Digital 
    // P1.3  -  CEX1 (PCA),  Open-Drain, Digital 
    // P1.4  -  CEX2 (PCA),  Open-Drain, Digital 
    // P1.5  -  CEX3 (PCA),  Open-Drain, Digital 
    // P1.6  -  CEX4 (PCA),  Open-Drain, Digital 
    // P1.7  -  CP0 (Cmpr0), Open-Drain, Digital 
 
    // P2.0  -  CP1 (Cmpr1), Open-Drain, Digital 
    // P2.1  -  INT0 (Tmr0), Open-Drain, Digital 
    // P2.2  -  Unassigned,  Push-Pull,  Digital 
    // P2.3  -  Unassigned,  Push-Pull,  Digital 
    // P2.4  -  Unassigned,  Push-Pull,  Digital 
    // P2.5  -  Unassigned,  Push-Pull,  Digital 
    // P2.6  -  Unassigned,  Push-Pull,  Digital 
    // P2.7  -  Unassigned,  Push-Pull,  Digital 
 
    // P3.0  -  Unassigned,  Push-Pull,  Digital 
    // P3.1  -  Unassigned,  Push-Pull,  Digital 
    // P3.2  -  Unassigned,  Push-Pull,  Digital 
    // P3.3  -  Unassigned,  Push-Pull,  Digital 
    // P3.4  -  Unassigned,  Push-Pull,  Digital 
    // P3.5  -  Unassigned,  Push-Pull,  Digital 
    // P3.6  -  Unassigned,  Push-Pull,  Digital 
    // P3.7  -  Unassigned,  Push-Pull,  Digital 
 
    P2MDOUT   = 0xFC; 
    P3MDOUT   = 0xFF; 
    P74OUT    = 0xFF; 
    XBR0      = 0xAF; 
    XBR1      = 0x05; 
    XBR2      = 0x44; 
} 
 
void Oscillator_Init() 
{ 
    int i = 0; 
    OSCXCN    = 0x67; 
    for (i = 0; i < 3000; i++);  // Wait 1ms for initialization 
    while ((OSCXCN & 0x80) == 0); 
    OSCICN    = 0x0C; 
} 
 
void Interrupts_Init() 
{ 
    IE        = 0x82; 
	    TCON      = 0x10; 
    TMOD      = 0x01; 
 
} 
 
// Initialization function for device, 
// Call Init_Device() from your main program 
void Init_Device(void) 
{ 
    Reset_Sources_Init(); 
    SMBus_Init(); 
    Port_IO_Init(); 
    Oscillator_Init(); 
    Interrupts_Init(); 
}