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

📄 c8051f020init.c

📁 C8051的初始化函数C8051的初始化函数
💻 C
字号:

#include "C8051F020Init.h"

/******************SYSTEM FUNCTION FOR INITIALIZATION******************/

void ResetSourcesInit( void );
void PortIOInit( void );
void VoltageReferenceInit( void );
void OscillatorInit( void );
void DACInit( void );


//*******************************************
//function: void ResetSourcesInit( void )
//parameter: void
//explain: Reset Sources:
//            Disable Watchdog Timer
//return : void
//comment: void
//*******************************************
void ResetSourcesInit( void )
{
    WDTCN     = 0xDE;
    WDTCN     = 0xAD;
}

//*******************************************
//function: void PortIOInit( void )
//parameter: void
//explain: Port Init For C8051F020
//return : void
//comment: void
//*******************************************
void PortIOInit( void )
{
    P0MDOUT   = 0xFF;
    P1MDOUT   = 0xFF;
    P2MDOUT   = 0xFF;
    P3MDOUT   = 0xFF;
    P74OUT    = 0xFF;  
    XBR2      = 0xc0;
}

//*******************************************
//function: void VoltageReferenceInit( void )
//parameter: void
//explain: Voltage Reference Init For AD/DA
//return : void
//comment: void
//*******************************************
void VoltageReferenceInit( void )
{
    REF0CN    = 0x03;
}

//*******************************************
//function: void OscillatorInit( void )
//parameter: void
//explain: Oscillator Init For C8051F020
//return : void
//comment: void
//*******************************************
void OscillatorInit( void )
{
    int i = 0;
    OSCXCN    = 0x67;
    for (i = 0; i < 3000; i++);  // Wait 1ms for initialization
    while ((OSCXCN & 0x80) == 0);
    OSCICN    = 0x08;
}

//*******************************************
//function: void DACInit( void )
//parameter: void
//explain: DACInit
//return : void
//comment: void
//*******************************************
#ifdef DACENABLE
void DACInit( void )
{
    DAC0CN    = 0x80;
}
#endif

/******************SYSTEM FUNCTION FOR INITIALIZATION******************/




/************************API FUNCTION FOR USER*************************/

//*******************************************
//function: void InitDevice( void )
//parameter: void
//explain: Init Device 
//return : void
//comment: void
//*******************************************
void InitDevice( void )
{
    ResetSourcesInit();
    PortIOInit();
    VoltageReferenceInit();
    OscillatorInit();
    #ifdef DACENABLE
    DACInit();	
    #endif
}

//*******************************************
//function: void DAC0_out(uint uiVData)
//parameter: uint16 uiVData
//explain: DAC输出(通道0)
//return : void
//comment:输入字0~4095   输出电压0~2.27V  
//*******************************************
#ifdef DACENABLE
void DAC0Out( uint16 uiVData )
{
    DAC0L = (uint8)(0x00FF & uiVData);
    DAC0H = (uint8)((0x0f00 & uiVData) >> 8);
}
#endif

/************************API FUNCTION FOR USER*************************/

⌨️ 快捷键说明

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