📄 time2exit.h
字号:
#include "reg52stc.h"
unsigned int TimerCount[2]={0,0}; //超时计数器
#define T0H 0x29
#define T0L 0x28
void ResetTimer(unsigned char a);
unsigned int ReadTimer(unsigned char a);
void InitTimer0(void);
//*****************************************************//
//函数名: void Timer0ISR(void) interrupt 1
//输入参数:无
//输出参数: 无
//功能描述: 定时器中断响应子程序,每产生一次定时中断,
// 两个计数器TimerCount加1
//*****************************************************//
void InitTimer0(void)
{
TR0=0; //停止计数
TMOD=0x1; //选择计数方式1,16位
TH0=T0H; //11.0592时钟,定时1ms
TL0=T0L;
//ET0=1;
//TR0=1;//开始计数
EA=1;
}
//*****************************************************//
//函数名: void Timer0ISR(void) interrupt 1
//输入参数:无
//输出参数: 无
//功能描述: 定时器中断响应子程序,每产生一次定时中断,
// 两个计数器TimerCount加1
//*****************************************************//
void Timer0ISR(void) interrupt 1
{
//EA=0;
TF0=0;
TH0=T0H;
TL0=T0L;
TimerCount[0]++;
TimerCount[1]++;
//EA=1;
}
//*****************************************************//
//函数名: ResetTimer(unsigned char a)
//输入参数:a
//输出参数:无
//功能描述:清零计数器TimerCount[a]
//*****************************************************//
void ResetTimer(unsigned char a)
{
ET0=0;
TimerCount[a&0x01]=0; //清零超时计数器
ET0=1;
}
//*****************************************************//
//函数名:ReadTimer(unsigned char a)
//输入参数:a
//输出参数:当前超时计数值
//功能描述:读取定时计数器TimerCount[a]的值
//*****************************************************//
unsigned int ReadTimer(unsigned char a)
{
unsigned int temp;
ET0=0;
temp=TimerCount[a]; //读取超时计数器的值,以确定是否超时退出
ET0=1;
return temp;
}//*****************************************************//
void tbcWaitRandom()
{
byte xdata time;
byte xdata n;
time = rand();
for(n=0;n<waitMultipliter;n++)
{halWait(time,CLKFREQ);}
}
//*****************************************************//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -