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