📄 timint.c
字号:
/****************************************************************************
【文 件 名 称】TIMINT.C
【功 能 描 述】定时器中断服务程序
【程 序 版 本】1.0
****************************************************************************/
//***************************************************************************
#include "INC\REG516.H"
#include "INC\DECLARE.H"
#include "INC\EXTERN.H"
//***************************************************************************
//***************************************************************************
//#define TIMER_RELOAD_HI 0xfc
//#define TIMER_RELOAD_LO 0x65
//unsigned char xdata Gp_Timer_Min[5];
//unsigned int xdata Gp_Timer_Msec[5];
//unsigned int data Main_Timer,Wait_Timer;
//bit Second_Mask;
//unsigned char data Count11,Count22,Temp11,Temp22;
//***************************************************************************
/****************************************************************************
名称: Timer_0_Init
参数: 无
返回值: 无
描述: 定时器0初始化子程序
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Timer_0_Init(void)
{
unsigned char level_count;
TMOD = (TMOD & 0xF0) | 0x01;
TCON = (TCON & 0xB0) | 0x10;
//TR0 = 1;
TH0 = TIMER_RELOAD_HI;
TL0 = TIMER_RELOAD_LO;
Wait_Timer = 0;
Main_Timer = 0;
Count11 = 0xFF;
Count22 = 0xFF;
Temp11 = 0;
Temp22 = 0;
Second_Mask = 0;
for (level_count = 0;level_count < 5;level_count++)
{
Gp_Timer_Min[level_count] = 0xff;
Gp_Timer_Msec[level_count] = 1000;
}
ET0 = 1;
} */
/****************************************************************************
函数名 :
函数参数 :
返回值 :
功能描述 :
创建日期 :
修改日期 :
****************************************************************************/
/****************************************************************************
名称: Update_High_Level_Timers
参数: Timer_Increment
返回值: 无
描述: 刷新用户定时器
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Update_High_Level_Timers(unsigned char Timer_Increment)
{
unsigned char level_count;
for (level_count = 0;level_count < 5;level_count++)
{
if (Gp_Timer_Min[level_count] != 0xff)
{
if (Gp_Timer_Msec[level_count] > Timer_Increment)
{
Gp_Timer_Msec[level_count] = Gp_Timer_Msec[level_count] - Timer_Increment;
}
else
{
if (Gp_Timer_Min[level_count] != 0)
{
Gp_Timer_Min[level_count]--;
Gp_Timer_Msec[level_count] = Gp_Timer_Msec[level_count] + 56000;
}
else Gp_Timer_Msec[level_count] = 0;
}
}
}
}*/
/****************************************************************************
名称: Timer_0_Interrupt
参数: 无
返回值: 无
描述: 定时器0中断服务子程序
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Timer_0_Interrupt() interrupt 1 using 2
{
if (TL0 > 0xd8) TH0++;
TH0 = TH0 + TIMER_RELOAD_HI;
TL0 = TL0 + TIMER_RELOAD_LO;
if (TH0 <TIMER_RELOAD_HI)
{
TL0 = 0;
TH0 = 0xff;
}
if (Wait_Timer > 0) Wait_Timer--;
Main_Timer++;
if (Main_Timer % 4 ==0)
{
Update_High_Level_Timers(4); // 每4ms刷新一次用户定时器
if (Main_Timer == 1000)
{
Main_Timer = 0;
Second_Mask = 1;
}
}
} */
/****************************************************************************
名称: Watchdog_Init
参数: 无
返回值: 无
描述: 初始化看门狗
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Watchdog_Init()
{
WDTKEY =0x1E;
WDTKEY =0xE1;
WDTC =0xA7;
} */
/****************************************************************************
名称: Watchdog_Reset
参数: 无
返回值: 无
描述: 复位看门狗
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Watchdog_Reset()
{
WDTC |= 0x20;
} */
/****************************************************************************
名称: Wait
参数: msec: 毫秒值
返回值: 无
描述:
创建日期:2004-2-18
修改日期:
****************************************************************************/
/*void Wait(unsigned int msec)
{
Wait_Timer = msec;
while (Wait_Timer > 0) Watchdog_Reset();
} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -