⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.h

📁 可以对北京汽车所产生的故障进行诊断的电脑解码器
💻 H
字号:
/******************************************************************************************
 *  目的:定时器驱动
 *  功能:提供基本的定时器操作接口
 *  模块依赖:MCS51 定时器 硬件端口 及 操作方式
 ******************************************************************************************/

//定时器初始化函数宏定义
#define TIMER0 0
#define TIMER1 1
#define TIMER2 2
typedef void (*pFnTime)( ) ;  //定义串口回调函数类型

/*
**-------------------------------------------------------------------------------------
**  初始化定时器中断处理模块 C51timer
**-------------------------------------------------------------------------------------
*/
void  Init_Timer();
/*
**-------------------------------------------------------------------------------------
** 初始化定时器使用定时方式1,最小可定时1毫秒
** ims: 硬件中断发生时间间隔 (ms)
** tag_id: 定时器ID (TIMER0~TIMER1)
** 当输入参数tag_id=0xff时定时器0被用做记数,当为记数器时需要用Timestart()开始记数
** 返回值1成功 0则失败
**-------------------------------------------------------------------------------------
*/
unsigned int TimeInit(unsigned char tag_id,unsigned int ims);
/*
**-------------------------------------------------------------------------------------
** 定时器计时开始
** tag_id: 定时器ID (TIMER0~TIMER1)
**-------------------------------------------------------------------------------------
*/
void  TimeStart(unsigned char tag_id);
/*
**-------------------------------------------------------------------------------------
** 定时器停止计时
** tag_id: 定时器ID (TIMER0~TIMER1)
**-------------------------------------------------------------------------------------
*/
void  TimeStop(unsigned char tag_id);
/*
**-------------------------------------------------------------------------------------
** 判断当前定时记数是否溢出
** tag_id: 定时器ID (0~1)
**-------------------------------------------------------------------------------------
*/
char  TimeFout(unsigned char tag_id);
/*
**-------------------------------------------------------------------------------------
** 返回硬件记数状态(TH,TL)
** tag_id: 定时器ID (TIMER0~TIMER1)
**-------------------------------------------------------------------------------------
*/
unsigned int  Timecount(unsigned char tag_id);
/*
**-------------------------------------------------------------------------------------
** 系统延时,占用定时器T1
** uiTime_ms: 延时时间 (ms)
**-------------------------------------------------------------------------------------
*/
void  delay(unsigned int uiTime_ms);
/*
**-------------------------------------------------------------------------------------
** 改写定时器当前计数值
** tag_id: 定时器ID (TIMER0~TIMER1)
** setms: 将改变的计数值 (ms)
**-------------------------------------------------------------------------------------
*/
void  TimeSet(unsigned char tag_id,unsigned long setms);
/*
**-------------------------------------------------------------------------------------
** 比较当前定时器记数值与输入值,当大于等于输入值输出1
** tag_id: 定时器ID (TIMER0~TIMER1)
** breakms: 输入值 (ms)
**-------------------------------------------------------------------------------------
*/
int TimeBreak(unsigned char tag_id,unsigned long breakms);
/*
**-------------------------------------------------------------------------------------
** 创建定时中断
** tag_id: 定时器ID (TIMER0~TIMER1)
** pFn: 回调时间函数指针pFn (中断函数名)
**-------------------------------------------------------------------------------------
*/
unsigned int  TimeLoad(unsigned char tag_id,pFnTime pFn);
/*
**-------------------------------------------------------------------------------------
** 消毁第uiTimer个定时中断
** tag_id: 定时器ID (TIMER0~TIMER1)
**-------------------------------------------------------------------------------------
*/
unsigned int  TimeDestroy(unsigned char tag_id);
/*
**-------------------------------------------------------------------------------------
** 释放定时器资源
**-------------------------------------------------------------------------------------
*/
void  TimeRelease();

//----------------------------------------------------------------- End Of File --------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -