📄 initial.c
字号:
#include<c8051f020.h>
#define uint unsigned int
#define sysclk 22118400
//*********************************
//系统时钟初始化:选用外部时钟源
//*********************************
sfr16 RCAP2 = 0xca;
uint counts;
void SYSCLK_Init (void)
{
int i; // 延时计数变量定义
WDTCN = 0xde; // 关闭看门狗
WDTCN = 0xad;
OSCXCN = 0x67; // OSCXCN是外部振荡控制寄存器,控制字表示使用外部时钟源
for (i=0; i < 256; i++); // 延时一段时间(>1ms)
while (!(OSCXCN & 0x80)); // 等待OSCXCN的位7置1,外部晶体振荡器状态标志
OSCICN = 0x88; // 开启(允许)时钟失效检测,选择外部时钟源作为系统时钟
}
//************************************
//端口初始化:配置个端口的工作方式
// 正确配置,才能更好的工作
//************************************
void PORT_Init (void)
{
//输入输出端口功能选择寄存器
XBR0 = 0x00; // 用于选择比较器0、串行口等功能模块的引脚至I/O口
XBR1 = 0x00; // 用于选择SYSCKE、定时器1、定时器2等功能模块的引脚至I/O口
XBR2 = 0x40; // 用于选择将定时器4、UART1等功能模块的引脚至I/O口,同时还
// 用于选择I/O端口是否为弱上拉,及其是否允许端口的功能选择
//输入输出端口输出方式寄存器
P0MDOUT = 0xf7;
P1MDOUT = 0xff;
P2MDOUT = 0xff;
P3MDOUT = 0xff;
P74OUT = 0x0f; // P4-P7配置为推挽方式
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -