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

📄 init.c

📁 王绍伟先生的单片机入门资料
💻 C
字号:
/*************************************************/

/********************初始化********************/

/*************2002年12月13日*******************/

/************WROTE BY WANGSW********************/
/*************************************************/


#include "reg52x2.h"  
#include <stdlib.h>

#include "define.h"


#include "init.h"
#include "uart.h"
#include "rtc.h"
#include "timer.h"
#include "interrupt.h"


static void PortInit(void);

static void InterruptInit(void);
/**********************************************************************/

/******************************************************************************************
*函数名:		PortInit
*参数:			无
*返回值:		无
*描述:			初始化各端口P0~P3的输出为高电平
*编写:			王绍伟
*版本信息:		V1.0			2003年8月15日
******************************************************************************************/
static void PortInit(void)
{
	P0 = 0xFF;
	P1 = 0xFF;
	P2 = 0xFF;
	P3 = 0xFF;
}


/*******************************************************

********************************************************/
/******************************************************************************************
*函数名:		InterruptInit
*参数:			无
*返回值:		无
*描述:			初始化中断允许寄存器IE
*编写:			王绍伟
*版本信息:		V1.0			2003年8月15日
******************************************************************************************/
static void InterruptInit(void)
{
	EX0 = 0;		/*外部中断0*/

	ET0 = 0;		/*定时器中断0*/

	EX1 = 0;		/*外部中断1*/

	ET1 = 0;		/*定时器中断1*/

	ES = 0;		/*串行口中断*/

	ET2 = 0;		/*定时器中断2*/

	EA = 0;		/*全部定时器关闭*/
}


/******************************************************************************************
*函数名:		init_process
*参数:			无
*返回值:		无
*描述:			进行初始化进程
*编写:			王绍伟
*版本信息:		V1.0			2003年8月15日
******************************************************************************************/
extern void init_process(void)
{

	PortInit();		/*r初始化端口*/
	InterruptInit();		/*r初始化中断允许寄存器*/

	interrupt_priority();	/*r中断优先级设定*/

	rtc_soft_init(1, 1, 1);		/*初始化时间,在数码管上显示*/

	uart_init(UART_RATE576);	/*r串口初始化设置,主要初始化了串口的通信波特率*/

	timer2(TRUE, Timer2Interval5H);		/*定时器2开启,并设定其经过5ms产生一次中断
										等效于RTOS的节拍,这个非常重要*/

	EA=1;									/*开中断让系统运行*/
}




⌨️ 快捷键说明

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