timer.c

来自「一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPR」· C语言 代码 · 共 67 行

C
67
字号
#include <intrins.h>
#include <stdio.h>
#include <reg51.h>

void Time_counter();
bit getOsdClearFlag();
void clearTimer();
void DelayXms(unsigned char count);

//使用的数据定义
unsigned int osd_timer    = 0;        // osd 计时器

bit exit_flag     = 0;

//OSD Timer interrupt Function
void Time_counter() interrupt 1 using 1
{
	osd_timer++;
	//if (topMenu_flag || volShow_flag) 
	//{
		if ( osd_timer >= 15000)
		{  	
			/*osd_timer=0;
			topmenu_flag = 0;
			sel_brit  = 0;
			sel_cont  = 0;
			sel_satr  = 0;
			sel_hue   = 0;
			sel_reset  = 0;
			sel_save   = 0;
			osdSwitch(0x00);*/
			exit_flag = 1;
		}
	//}
	TF0=0;
}

bit getOsdClearFlag()
{
	return exit_flag;	

}

void clearTimer()
{
	osd_timer      = 0;
	exit_flag      = 0;
}


//********************************************
//函数:void DelayXms(unsigned char count)
//作用:延时count ms 
//remarks:
//Crystal Frequency = 20 MHz
//Delay Time: count x 1ms
//********************************************
void DelayXms(unsigned char count)
{
	unsigned char i,j;
	for (i = count;i > 0;i--)
		for (j = 0xC8;j > 0;j--)	
			_nop_();
}


⌨️ 快捷键说明

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