t0_isr.c

来自「使用台湾普诚pt6961驱动数码管和按键,显示ds1302的源码,详细的6961」· C语言 代码 · 共 68 行

C
68
字号
#include <intrins.h> 
#include <sm5964.h>
#include "UART.h"
#include "T0.h"
#include "my_type.h"

sbit	SPK = P4^0;

bit		key_flag;
uint8	key_count;

 uint8 T0_count;
/********************************************************************
函数功能:定时器T0初始化。
入口参数:无。
返    回:无。
备    注:无。
********************************************************************/
void InitT0(void)
{
//定时器0工作在模式1
	TMOD=0x21;
	TH0=0x00;
	TH0=0x70;		//20ms
	TR0=1;        //启动定时器0
	ET0=1;
	//EA=1;         //允许中断
}
////////////////////////End of function//////////////////////////////


/********************************************************************
函数功能:定时器T0中断处理。
入口参数:无。
返    回:无。
备    注:无。
********************************************************************/
void T0_ISR(void) interrupt 1
{
	uint8 temp,j;
	TR0=0;
	TH0=0x00;
	TH0=0x70;	 //20ms
	
	TR0=1;

	temp=Key_value();

	if(temp)
	{
		key_flag=1;
	}
	else 
	{
		key_flag=0;
	}


	T0_count++;
	if(T0_count>=30)
   {
 		T0_count=0;
		SPK=~SPK;
   }
}
////////////////////////End of function//////////////////////////////

⌨️ 快捷键说明

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