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

📄 init.c

📁 用C8051F020实现的基于TCP/IP协议的虚功率源。C8051F020外接LCD,键盘,USB接口
💻 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 + -