?? kw_timer.c
字號:
/**************************************************************************************
Copyright (C), 1988-1999, Xi'an Keyway Control & Measurement Technology Co., Ltd
FileName: kw_timer.c
Description :nandflash 接口模塊。
Version :1.0
Function List :
History: // 歷史修改記錄
<author> <time> <version > <desc>
LigangWang 07/08/08 1.0 build this moudle
*************************************************************************************/
#include "globals.h"
#define TIMER0_COUNT 0x63c0 // 10ms at 24MHz
WORD xdata timer0_tick; // 嘀噠數,10ms一周期
/*************************************************************************************
Function: TM_Timer0_Init
Description: 初始化 Timer 0,啟動中斷,每10ms中斷一次
Called By: fw.c / main()
Input: N/A
Output: N/A
Return: void
Others:
*************************************************************************************/
void TM_Timer0_Init (void)
{
EA = 0; // 關閉中斷
TR0 = 0; // 進制timer0
CKCON = 0x03; // Timer 0 使用 CLK24/12
TMOD &= ~0x0F; // 清除 timer0 mod位
TMOD |= 0x01; // 設置T imer 0 為16位模式
TL0 = (TIMER0_COUNT & 0x00FF); // 裝載計數值
TH0 = (TIMER0_COUNT >> 8);
PT0 = 0; // 設置中斷觸發方式
ET0 = 1; // 允許 Timer 0 中斷
TR0 = 1; // 啟動 Timer 0
EA = 1; // 開中斷
timer0_tick = 0;
}
/*************************************************************************************
Function: TM_Timer0
Description: Timer 0中斷服務程序,嘀噠數 timer0_tick 加1,并重新裝載計數初值
Called By: ...
Input: N/A
Output: N/A
Return: void
Others:
*************************************************************************************/
void TM_Timer0 (void) interrupt 1 using 1
{
TR0 = 0; // 停止計數
timer0_tick++; // 嘀噠加1
TL0 = TL0 + (TIMER0_COUNT & 0x00FF); // 重新裝載初值
TH0 = TH0 + (TIMER0_COUNT >> 8);
TR0 = 1; // 啟動計數
}
/*************************************************************************************
Function: TM_ClearWTD
Description: 清除看門狗信號,該函數必須在1.5s周期內運行
Called By: ...
Input: N/A
Output: N/A
Return: void
Others:
*************************************************************************************/
void TM_ClearWTD()
{
if((IOE & (1 << 1)) == 0)
IOE |= (1 << 1); //置IOE.1為高電平
else
IOE &= (~(1 << 1)); //清除,設為0
}
/*************************************************************************************
Function: TM_InitWTD
Description: 初始化看門狗
Called By: ...
Input: N/A
Output: N/A
Return: void
Others:
*************************************************************************************/
void TM_InitWTD()
{
return ;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -