timer.c

来自「浙大《C语言设计基础课程设计》中的例程 有些比较好的代码!」· C语言 代码 · 共 47 行

C
47
字号
#include "Russia.h"

unsigned int TimerCounter=0; /* 计时变量,每秒钟增加18 */
/********************************************************** 
 *  函数原型:void interrupt (*oldtimer)(void)											*
 *  传入参数:无                      															*
 *  返 回 值:无                           													*
 *  函数功能:指向原来时钟中断处理过程入口的中断处理函数指针(句柄)	*
 **********************************************************/
void interrupt (*oldtimer)(void);
/********************************************************** 
 *  函数原型:void interrupt newtimer(void)								*
 *  传入参数:无                       										*
 *  返 回 值:无                            							*
 *  函数功能:新的时钟中断处理函数												*
 **********************************************************/
void interrupt newtimer(void)
{
	(*oldtimer)();
	TimerCounter++;
}
/********************************************************** 
 *  函数原型:void SetTimer(void interrupt(*)(void))			*
 *  传入参数:无                       										*
 *  返 回 值:无                            							*
 *  函数功能:设置新的时钟中断处理函数										*
 **********************************************************/
void SetTimer(void interrupt(*IntProc)(void))
{
	oldtimer=getvect(TIMER);
	disable();
	setvect(TIMER,IntProc);
	enable();
}
/********************************************************** 
 *  函数原型:void KillTimer()														*
 *  传入参数:无                       										*
 *  返 回 值:无                            							*
 *  函数功能:恢复原先的时钟中断处理函数									*
 **********************************************************/
void KillTimer()
{
	disable();
	setvect(TIMER,oldtimer);
	enable();
}

⌨️ 快捷键说明

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