📄 config.#3
字号:
/////////////////////////////////////
// MCU初始化配置程序 //
/////////////////////////////////////
//#include "C8051F330.h"
#include "inc.h"
// Peripheral specific initialization functions,
// Called from the Init_Device() function
#define SYSCLK 24500000 / 8 //系统工作频率
sbit LED = P0^1;
sfr16 TMR2RL = 0xca;
sfr16 TMR2 = 0xcc;
void PCA_Init()
{
PCA0MD &= ~0x40;
PCA0MD = 0x00;
}
void SPI_Init()
{
SPI0CFG = 0x70;
SPI0CN = 0x01;
SPI0CKR = 0x04; //SPI0LCK为 300KHZ
}
void Port_IO_Init()
{
// P0.0 - Skipped, Open-Drain, Digital
// P0.1 - Skipped, Open-Drain, Digital
// P0.2 - Skipped, Open-Drain, Digital
// P0.3 - Skipped, Open-Drain, Digital
// P0.4 - SCK (SPI0), Open-Drain, Digital
// P0.5 - MISO (SPI0), Open-Drain, Digital
// P0.6 - MOSI (SPI0), Open-Drain, Digital
// P0.7 - Unassigned, Open-Drain, Digital
// P1.0 - Unassigned, Open-Drain, Digital
// P1.1 - Unassigned, Open-Drain, Digital
// P1.2 - Unassigned, Open-Drain, Digital
// P1.3 - Unassigned, Open-Drain, Digital
// P1.4 - Unassigned, Open-Drain, Digital
// P1.5 - Unassigned, Open-Drain, Digital
// P1.6 - Unassigned, Open-Drain, Digital
// P1.7 - Unassigned, Open-Drain, Digital
P0SKIP = 0x0F;
XBR0 = 0x02;
XBR1 = 0x40;
P0MDOUT |= 0xF2;
}
void Oscillator_Init()
{
OSCICN = 0x80; // 系统时钟初始化为片内的 24.5MHz / 8
RSTSRC = 0x04; // 使能时钟丢失检测器
}
// Initialization function for device,
// Call Init_Device() from your main program
void Timer2_Init (int counts)
{
TMR2CN = 0x00; // 禁止定时器2; 并清TF2标志位;
CKCON &= ~0x60;
TMR2RL = -counts;
TMR2 = 0xffff;
ET2 = 1; // 使能定时器2中断
TR2 = 1; // 启动定时器2
}
//-----------------------------------------------------------------------------
// 定时器2中断处理
//-----------------------------------------------------------------------------
void Timer2_ISR (void) interrupt 5
{
TF2H = 0; // 清定时器2中断标志位
LED = ~LED; // LED状态取反
}
void delay(uint8 v)
{
uint8 i,j;
for(i=0;i<v;i++)
for(j=0;j<200;j++);
}
void Init_Device(void)
{
PCA_Init();
SPI_Init();
Port_IO_Init();
Oscillator_Init();
Timer2_Init(SYSCLK / 12 / 10);
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -