?? 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 + -