📄 timer.c
字号:
/****************************************Copyright (c)**************************************************
**
** 成都和勤科技发展有限公司
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: timer.c
**创 建 人: 杨承凯
**创 建 日 期 : 2007年1月23日
**最后修改日期: 2007年4月3日
**描 述: 以定时器2为系统定时器,产生1ms的时基
********************************************************************************************************/
#define _TIMER_C_
#include "std\Config.h"
#include "Timer.h"
//定时器中断次数
uint16 xdata g_CurCount;
bit g_Overflow=0;
uint16 tmp = -(unsigned int)(SYSCLK / (12000 /* 12*1000 */ )); //1ms中断一次
/****************************************************************************
* 名 称:TimerInit()
* 功 能:spi初始化函数
* 入口参数:无
* 出口参数:无
* 说 明:无
****************************************************************************/
void TimerInit(void)
{
CKCON &= ~0x10;
TMR2CN = 0x00;
TMR2RLH = HIBYTE(tmp);
TMR2RLL = LOBYTE(tmp);
TMR2H = HIBYTE(tmp);
TMR2L = LOBYTE(tmp);
TR2 = 1; //定时器2允许
IE |= 0xA0;
}
/****************************************************************************
* 名 称:TimerInt()
* 功 能:Timer2中断程序
* 入口参数:无
* 出口参数:无
* 说 明:无
****************************************************************************/
void TimerInt(void) interrupt 5
{
TF2H = 0;
g_CurCount++;
if(g_CurCount >= 300)
{
g_Overflow=1;
}
}
/****************************************************************************
* 名 称:RunTimer()
* 功 能:运行一个定时事件
* 入口参数:nTimerID 定时事件的ID号
* 出口参数:0 运行定时事件不成功
非0 运行定时事件成功
* 说 明:无
****************************************************************************/
void RunTimer()
{
TMR2RLH = HIBYTE(tmp);
TMR2RLL = LOBYTE(tmp);
g_CurCount=0;
g_Overflow=0;
TR2 = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -