osdtimer.c

来自「采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序」· C语言 代码 · 共 92 行

C
92
字号
/************************************************
*                                               *
* OSDETIMER.C:  Timer control routines.         *
*                                               *
*************************************************/
#include <reg51.h>
#include "mascot.h"
#include "OSD.h"
#include "global.h"


#if USE_TIMER0
/**************************************************************
* Timer interrupt service routine                             *
* it should be executed automatically when TIMER 0 overflows. *
***************************************************************/

static void timer0_isr(void) interrupt 1
{
	TL0 = (TIMER0_COUNT & 0x00FF);
	TH0 = (TIMER0_COUNT >> 8); 

	TimerCnt++;
 
	if(TimerCnt == 10)
	{
		TimerCnt = 0;
		if(CurrentTimerSet > 0)
		{	
			CurrentTimerSet--;
			if(CurrentTimerSet == 0)
				TimerOver = 1;
		}
		if(MoveCnt > 0)
			MoveCnt--;
			
		if(PanelOnFlag)// by seven 030717    PotTimerFlag)
		{
			CurrentTimerSet2--;
			if(CurrentTimerSet2 == 0)
			{
				TimerOver2 = 1;
				CurrentTimerSet2 = 10 * 60 * 30;
			}
			
		}
	}
}


/****************************************
* Timer interrupt initialization        *
*****************************************/
void timer0_init(void)
{

	/* set timer 0 mode as software control interrupt and run on 16-bit mode */
	TMOD &= 0xF0; TMOD |= 0x01;

	TL0 = (TIMER0_COUNT & 0x00FF);
	TH0 = (TIMER0_COUNT >> 8);

	/* enable timer 0 interrupt globly and stop timer running */
	ET0 = 1;
	TR0 = 0;

	/* Clean timer flag */
	TimerOver = 0;
	TimerCnt = 0;
	CurrentTimerSet = 0;
}

/****************************************
* Start Timer                           *
*****************************************/
void timer0_start (void)
{
	TR0 = 1;
}

/****************************************
* Stop Timer                            *
*****************************************/
/*
void timer0_stop (void)
{
	TR0 = 0;
	TimerCnt = 0;
}
*/

#endif

⌨️ 快捷键说明

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