📄 system.h
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: system.h
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: 本文件是MCU系统硬件驱动程序文件,包括时钟, 看门狗(复位),电源等;
*
* Others: none;
*
* Function List:
* 1. void Sysclk_Init(void)
* 2. void SysPort_Init(void)
* 3. void Wachdog_Enable(void)
* 4. void Wachdog_Disable(void)
* 5. void Wachdog_Clear(void)
* 6. void EWachdog_Clear(void);
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/*************************************************************************************
* MCU系统函数使用说明
*
* 1. 要使用外部时钟,在工程的主函数中必须先调用Sysclk_Init;
* 2. 再调用SysPort_Init初始化端口;
* 3. 当要应用MCU内部看门狗功能必须在main()函数一开始就调用Wachdog_Enable()函数,接下来
* 程序每隔47ms,就必须调用一次Wachdog_Clear()函数;
* 当不想应用MCU内部看门狗功能必须在main()函数一开始就调用Wachdog_Disable()函数,接
* 下来也不可在调用Wachdog_Clear()函数;
* 4. 如果外部看门狗使能(硬件已焊接), 则程序每隔1.6s,就必须调用一次EWachdog_Clear()函数;
* 5. 其它细节详见具体函数说明;
*
*************************************************************************************/
/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/
/*************************************************************************************/
//
// MCU系统函数外部引用声明
//
/*************************************************************************************/
/***********************************************************************************
* 函数名称:Sysclk_Init;
*
* 函数功能描述:系统时钟初始化,使用外部22.1184MHz晶振作为时钟源;
*
* 输入参数:none;
*
* 返回数据:none;
*
* 注意: none;
************************************************************************************/
void Sysclk_Init (void);
/***********************************************************************************
* Function: SysPort_Init;
*
* Description: 配置端口初始化,配置交叉开关和端口;
* 配置说明: P0.0->TXD0, P0.1->RXD0, P0.2->SDA, P0.3->SCL,
* P0.4->TXD1, P0.5->RXD1, P0.6->INT0, P0.7->INT1;
* P1,P2: 作为IO,未被分配特殊功能;
* P4P5P6P7: 配置成推挽输出;
*
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 客户可修改配置;
************************************************************************************/
void SysPort_Init (void);
/***********************************************************************************
* Function: Wachdog_Enable;
*
* Description: 使能MCU内部看门狗功能;
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 如想一直应用看门狗功能,该函数必须在main()中最开始就调用;
************************************************************************************/
void Wachdog_Enable(void);
/***********************************************************************************
* Function: Wachdog_Disable;
*
* Description: 关闭MCU内部看门狗功能;
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 如想不想应用看门狗功能,该函数必须在main()中最开始就调用;
************************************************************************************/
void Wachdog_Disable(void);
/***********************************************************************************
* Function: Wachdog_Clear;
*
* Description: MCU内部看门狗定时器清零功能;
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 看门狗定时间隔计算公式: 1024*1024/SYSCLK, 以22118400HZ系统时钟计算,
* 看门狗定时间隔47。4ms; 所以,每隔47ms必须调用该函数一次,否则系统复位;
************************************************************************************/
void Wachdog_Clear(void);
/***********************************************************************************
* Function: EWachdog_Clear;
*
* Description: 外部看门狗定时器清零功能;适用于MCP1316或MAX823器件,默认未安装;
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 外部看门狗定时间隔1.6s; 所以,每隔1.6s必须调用该函数一次,否则系统复位;
************************************************************************************/
void EWachdog_Clear(void);
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -