📄 init.c
字号:
#include<C8051F020.H>
#include"..\config\function_declaration.h"
void sysclk_init(void)
{
OSCXCN = 0x67; //使能外部振荡器 11.059MHz
delay(1);
while(!(OSCXCN^7)); //等待外部振荡器稳定
OSCICN = 0x88; //将系统时钟切换到外部振荡器
}
void port_init(void)
{
EMI0CF = 0x38; //P4-P7 非复用方式
XBR0 = 0x04; //交叉开关配置
XBR1 = 0x14; //交叉开关配置
XBR2 = 0x40; //使能交叉开关
P0MDOUT = 0x01; //P0.0(for TX0)设置为推挽方式
P3MDOUT = 0x30; //P3.4 P3.5(for LED)设置为推挽方式
P74OUT = 0xFF; //P4-P7设置为推挽方式
P1MDOUT = 0x06; //P1.1 P1.2设置为推挽方式,P1.0设置为开漏方式
P2MDOUT = 0xFF; //P2设置为推挽方式
}
void uart0_init(void)
{
SCON0 = 0x40; // SCON0: mode 1, 8-bit UART, enable RX
}
void timer1_init(uchar baudrate)// 参数 0xFA:115200; 0xF4:57600; 0xEE:38400; 0xDC:19200; 0xB8:9600; 0x70:4800
{
TMOD = 0x20; // TMOD: timer 1, mode 2, 8-bit reload
TH1 = baudrate; // set Timer1 reload value for baudrate 115200
TR1 = 1; // start Timer1
CKCON = 0x10; // Timer1 uses SYSCLK as time base
PCON = 0x80; // SMOD00 = 1
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -