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

📄 time.c

📁 用Freescale的8位单片机做的RS232-CAN的通讯转换板.包含固件程序,原理图,PCB图和一个说明文件.
💻 C
字号:
#include "Time.h"
#include <MC68HC908GZ32.h> /* include peripheral declarations */
#include "main.h"


#define DisableTimer
#define EnableTimer

void(* TimerFun[4])();

//fBUS = 8MHz
//10ms
void InitTimer(void)
{
	__RESET_WATCHDOG(); /* kicks the dog */

	TimerFun[0] = (void(*)())0;
	TimerFun[1] = (void(*)())0;
	TimerFun[2] = (void(*)())0;
	TimerFun[3] = (void(*)())0;
	
	//10 * 8 * 1000= 
					//PS = 8
	T2SC = 0x063;	// TOF TOIE TSTOP TRST -  PS2 PS1 PS0
	                //  0    1    1     1      0   1   1
					// 1000
	T2MODH = 0x027;
	T2MODL = 0x010;
	
	T2SC_TSTOP = 0;	//开始
		
}

void SetTimer(void(*p)(),unsigned char n)
{
	if(n >= 4)
		return;
	DisableTimer;
	TimerFun[n] = p;
	EnableTimer;
}

void KillTimer(unsigned char n)
{
	if(n >= 4)
		return;
	DisableTimer;
	TimerFun[n] = (void(*)())0;
	EnableTimer;
}

__interrupt TIM2Overisr(void)
{

	T2SC_TOF = T2SC_TRST;
	
	if((unsigned int)TimerFun[0])
		(*TimerFun[0])();
	if((unsigned int)TimerFun[1])
		(*TimerFun[1])();
	if((unsigned int)TimerFun[2])
		(*TimerFun[2])();
	if((unsigned int)TimerFun[3])
		(*TimerFun[3])(); 

}

⌨️ 快捷键说明

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