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

📄 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 "lcd.h"
#include "iic.h"
#include "timer.h"
#include "interrupt.h"
#include "rtc.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)
{
#ifdef SPEEDUP
	SETBIT(CKCON, 0);					/*快速模式*/
#else
	RESETBIT(CKCON, 0);
#endif
	PortInit();		/*r初始化端口*/
	InterruptInit();		/*r初始化中断允许寄存器*/

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

	lcd_init();		/*r lcd液晶显示屏初始化*/

#ifdef SOFT_RTC
	rtc_soft_init(0, 30, 25);		/*r若定义了软实时时钟,则对之进行初始化*/
#else
	rtc_pcf8563_init();		/*r否则初始化外部硬件时钟源*/
	interrupt_init(1, TRUE, TRUE);
#endif	

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

	timer2(TRUE, Timer2Interval5H);		/*定时器2开启,并设定其经过5ms产生一次中断*/

	EA=1;									/*开中断*/
}




⌨️ 快捷键说明

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