📄 init.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 + -