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

📄 int.c

📁 NEC单片机0537demo开发板的程序
💻 C
字号:
/*********************** (C) COPYRIGHT 2008 GETSOON************************
* File Name					: int.c
* Author						: Tsinming
* Date First Issued	: 08/08/2008
* Description				: interrupt program body
***************************************************************************
* History:
* 09/18/2008: V1.0
* 08/08/2008: V0.1
**************************************************************************/
#pragma	interrupt  INTTM000 	timer16int
#pragma	interrupt  INTTM010 	timer16int1
#pragma	interrupt  INTAD    	adconvert
#pragma	interrupt  INTKR    	keyint
#pragma	interrupt  INTWT 			timerWT

/* Includes -------------------------------------------------------------*/
#include "ke2demo.h"

/* Variable defintion----------------------------------------------------*/
bit Flg2048hz, time1sflg, Keyflg, Key1flg;
u16 TimeBase, ADValue, timecount;
u8	ADCount, ADValueArray[8];

/*-----------------------------------------------------------------------*/
void timer16int(void)
{
	Flg2048hz = 1;
	TimeBase++;
	if(TimeBase > 0x07FF)
	{TimeBase = 0x0;}
}

/*-----------------------------------------------------------------------*/
void timer16int1(void)
{
	timecount++;
}

/*-----------------------------------------------------------------------*/
void adconvert(void)
{
	u8 i;
	ADValueArray[ADCount] = ADCRH;
	ADCount++;
	if(ADCount >= 8)
	{
		ADCount = 0x0;
		ADValue = 0x0;
		for(i = 0x0; i < 8; i++)
		{
			ADValue += ADValueArray[i];
		}
		ADValue >>= 3;
	}
}

/*-----------------------------------------------------------------------*/
void keyint(void)
{
	NOP();
	NOP();
	NOP();
	Keyflg = 1;
	
	if(configflg == 0)
	{
		if(P7.0 == 0)
		{Key1flg = 1;}
		if(P7.3 == 0)
		{
			MenuNum++;
			if(MenuNum >= 3)
			{MenuNum = 0;}
		}
	}
	else							//if(configflg)
	{
		if(P7.0 == 0)
		{
			ConfPara++;
			switch(ConfMenu)
			{
			case 0:
				RestrictArea(&ConfPara, 0, 19);
				break;
			case 1:
				RestrictArea(&ConfPara, 1, 12);
				break;
			case 2:
				RestrictArea(&ConfPara, 1, 31);
				break;
			case 3:
				RestrictArea(&ConfPara, 1, 7);
				break;
			case 4:
				RestrictArea(&ConfPara, 0, 23);
				break;
			case 5:
				RestrictArea(&ConfPara, 0, 59);
				break;
			case 6:
				RestrictArea(&ConfPara, 0, 59);
				break;
			default:
				break;
			}
		}
		if(P7.1 == 0)
		{
			ConfPara--;
			switch(ConfMenu)
			{
			case 0:
				RestrictArea(&ConfPara, 0, 19);
				break;
			case 1:
				RestrictArea(&ConfPara, 1, 12);
				break;
			case 2:
				RestrictArea(&ConfPara, 1, 31);
				break;
			case 3:
				RestrictArea(&ConfPara, 1, 7);
				break;
			case 4:
				RestrictArea(&ConfPara, 0, 23);
				break;
			case 5:
				RestrictArea(&ConfPara, 0, 59);
				break;
			case 6:
				RestrictArea(&ConfPara, 0, 59);
				break;
			default:
				break;
			}
		}
		if(P7.2 == 0)
		{
			ConfMenu++;
			if(ConfMenu >= 7)
			ConfMenu = 0;
			switch(ConfMenu)
			{
			case 0:
				ConfPara = CalYear;
				break;
			case 1:
				ConfPara = CalMonth;
				break;
			case 2:
				ConfPara = CalData;
				break;
			case 3:
				ConfPara = CalWeek;
				break;
			case 4:
				ConfPara = TimeHour;
				break;
			case 5:
				ConfPara = TimeMin;
				break;
			case 6:
				ConfPara = TimeSenc;
				break;
			default:
				break;
			}
		}
		if(P7.3 == 0)
		{
			ConfMenu = 0;
			MenuNum = 0;
			configflg = 0;
			eepwrite();
			iic_sendpage(0xA0, 0x0, IICData, 8);
		}
	}
}

/*-----------------------------------------------------------------------*/
void timerWT(void)
{
	time1sflg = ~time1sflg;
	if(time1sflg)
	{
		TimeSenc++;
		timenum();
		datanum();
	}
}
/********************** (C) COPYRIGHT 2008 GETSOON************************/

⌨️ 快捷键说明

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