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

📄 interrupt.c

📁 interrupt
💻 C
字号:
//2007.5.9
//14:31
//ifq
//
//interrupt module
/////////////////////////////////////////////////////////////////
#include "oaks_sfr.h"

/*intterrupt register*/
void interrupt0();
void interrupt1();
#pragma INTERRUPT interrupt0
#pragma INTERRUPT interrupt1

/*timer0 */
void timer0();
#pragma INTERRUPT timer0

#define TIMER0SET(x)	ta0=x
#define T0SIZE			5000-1	


/*globle define*/
static unsigned char g_Button0;
unsigned char g_Button1;

unsigned int g_TimerCount;

/*中断0的处理函数*/
void interrupt0()
{
	int i=50000;
	while(i)
		i--;
	g_Button0=1;
}

void Int0Init()
{
	int0ic=0x07;
}

void Int0Close()
{
	int0ic=0x00;

}

int WaitButton0()
{
	g_Button0=0;
	while(!g_Button0)
		;
	return g_Button0;
}

/*interrupt1 function*/
void interrupt1()
{

	int i=50000;
	while(i)
		i--;
	g_Button1=1;
	p7=0x00;
}

void Int1Init()
{
	int1ic=0x07;
}

void Int1Close()
{
	int1ic=0x00;

}

int WaitButton1()
{
	g_Button1=0;
	while(!g_Button1)
		;
	return g_Button1;
}

/*Timer0 function*/
void timer0()
{
	g_TimerCount++;

	TIMER0SET(T0SIZE);
}

void Timer0Init()
{
	g_TimerCount=0;
	udf = 0x01;						/* Setup down counter				*/
	ta0mr = 0x80;					/* Set Timer mode clock丗1/32		*/
	TIMER0SET(T0SIZE);					/* Initialize Timer value					*/
	ta0ic = 0x06;					/* Set Interruption level			*/
	tabsr = 0x01;				/* Set counter to start						*/
}

void Timer0Close()
{
	tabsr = 0x00;
}

⌨️ 快捷键说明

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