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

📄 timer.h

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 H
字号:
//////////////////////////////////
//	timer.h						//
//  design by: 刘俐训           //
//////////////////////////////////

#ifndef TIMER_H
#define TIMER_H

#ifndef CLK
#define CLK
#define CLK11M0592 0
#define CLK12M0000 1
#define CLK24M0000 2
#define CLK14M7456 3
#define CLK22M1184 4
#define CLK29M4912 5
#endif

#ifndef BZFRQ
#define BZFRQ
#define BZFRQ2K		0
#define BZFRQ4K		1
#endif

#define BUZZER		P3_4
//#define FRQBUZZER	//for frq ctrl buzzer

#ifndef enable
#define enable()     EA=1
#define disable()    EA=0
#endif

#ifndef NULL
#define NULL    (void *)0
#endif

#define UserTimer() TF0=1;

extern unsigned int data MS;			//整型,提高定时时间长度
extern unsigned char data MSbyte;	    //字节型,外部调用时提高速度

#define DiUserTimer();  ET0 = 0;

bit InitTimer( unsigned char clk );
//初始化1毫秒系统时钟,并开始运行
//成功返回1,失败返回0。

void InitUserTimer( unsigned int cycles, bit flag);
//初始化用户定义时钟,定时时间由用户给出,并开始运行
//cycles: 机器周期数,每个机器周期的时间为:
//	 		12/晶振频率
//如果flag = 0, user timer 将开始运行,但是不开中断。
//此时,只有cycles的低半字节有效。
//如果 cycles >= 60, 而且flag = 1, 将按照 cycles 产生中断。
//调用用户程序timer_event()。
//为方便用户的实时性要求,UserTimer中断级别高于系统时钟

void TimerEvent( void );
//用户程序,在t_event.c文件中定义
//由用户添加其内容,在产生UserTimer中断时调用

void SysTimerEvent( void );
//在t_event.c文件里面定义
//用户添加内容,1MS调用一次

void delay( unsigned int time );
//延时程序,time: 毫秒

void SoftDelayCyl( unsigned char double_cycles );
//在softdly.a51里面定义

void dummy(void);
// 空操作 相当于延时4指令周期

#ifdef FRQBUZZER
void buzzer(unsigned char bzfrq, unsigned int time);
#else
void buzzer(unsigned int time);
#endif
// 蜂鸣 bzfrq: 频率,time: 毫秒

void buzzerstop(void);
// 无条件停止蜂鸣

#endif

⌨️ 快捷键说明

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