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

📄 timer0.c

📁 MST720-DEMO程序
💻 C
字号:
/******************************************************************************
 Copyright (c) 2005 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: Timer0.c
 [Date]:	13-Jan-2005
 [Comment]:
   Timer 0 ISR subroutines.
 [Reversion History]:
*******************************************************************************/
#define	_TIMER0_C_

/********************
* INCLUDE FILES     *
*********************/
#include "Project.h"
#include "Mcu_reg.h"
#include "Global.h"
#include "Mcu.h"
#include "Timer0.h"
#include "Debug.h" 
#include "Sync.h"
#include "IR.h"

/**********************
* FUNCTION PROTOTYPES *
***********************/
#if 0
void sysTimer0ISR (void) interrupt 1 using 1
{
	BYTE loop;

	TR0 = 0;
	TH0 = TH_RELOAD_VALUE;
	TL0 = TL_RELOAD_VALUE;
	TR0 = 1;
	
#if IR_ENABLE
	sysIRDetectTimer0();
#endif
	if((g_ucHTtuneTimer > 0) && (g_ucHTtuneCount < 11))	// 20050804 Antony
		g_ucHTtuneTimer--;				// 20050804 Antony

	if(g_ucVDGainTimer > 0)
		g_ucVDGainTimer--;

#if ENABLE_VD_COLOR_DETECT
	if( g_ucVDColorBurstHandlerTimer )
		g_ucVDColorBurstHandlerTimer --;
#endif	// ENABLE_VD_COLOR_DETECT


	for (loop=0; loop<NUM_OF_TIMERS; loop++)
	{
		if (timer_data[loop]>TIMER_ZERO_VALUE)
		{
			if (timer_data[loop]!=TIMER_INVALID_VALUE)
			{
				timer_data[loop]--;
			}
		}
	}
}
#endif

void sysTimer0Init (void)
{
	BYTE loop;

	// initial the default value of timers
	for (loop=0; loop<NUM_OF_TIMERS; loop++)
	{
		timer_data[loop]=TIMER_INVALID_VALUE;
	}

	TMOD &= 0xf0;
	TMOD |= 0x01;			// Set timer0 in 16bit timer
	TH0   = TH_RELOAD_VALUE;
	TL0   = TL_RELOAD_VALUE;
	TR0   = 1;			// Turn on timer0
	PT0   = 0;              		// Set to low priority interrupt
	ET0   = 1;			// enable timer interrupt
}


BYTE sysTimer0Register (void)
{
	BYTE loop;

	for (loop=0; loop<NUM_OF_TIMERS; loop++)
	{
		if (timer_data[loop]==TIMER_INVALID_VALUE)
		{
			timer_data[loop] = TIMER_ZERO_VALUE;
			return (loop);
		}
	}
	return (TIMER_REGISTER_FAIL);
}


void sysTimer0Set (BYTE handle_pointer, WORD time)
{
	timer_data[handle_pointer] = time;
}


BYTE sysTimer0Expired (BYTE handle_pointer)
{
	return ( timer_data[handle_pointer] ? TIMER_RUNNING : TIMER_EXPIRED );
}



⌨️ 快捷键说明

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