📄 timer.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 + -