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

📄 initial.c

📁 M37546产品群智能水表的解决方案,请需要的朋友下载
💻 C
字号:
/************************************************************************/
/* Renesas System Solutions (Beijing) Co., LTD.							*/
/* All rights reserved.													*/
/*																		*/
/* File Name		: Initial.c											*/
/* Description		: 													*/
/*																		*/
/* Current Version	: 1.0												*/
/* Designer			: Feng Jun											*/
/* Start Date		: 2006-11-3											*/
/* Complete Date	: 2006-11-22										*/
/*																		*/
/* Lastest Version	:													*/
/* Designer			:													*/
/* Start Date		: 													*/
/* Complete Date	: 													*/
/************************************************************************/
#include "Initial.h"
#include "main.h"

extern void DisableLCD(void);
/*************************************************************************
Name: 			SFRInit
Parameters: 	None
Returns: 		None
Description: 	SFR initial
*************************************************************************/
void SFRInit(void)				/* Initial setting of SFR registers */
{
	P0D = 0xe3;					/* Direction of P0 */
	P1D = 0xff;					/* Direction of P1 */
	P2D = 0xd3;					/* Direction of P2 */
	P3D = 0xff;					/* Direction of P3 */
	
	io_powercontrol = 1;		/* Power supply */
	io_EEPWP = 1;
	
	TABM = 0x0F;				/* TimerA mode */
	TCSS = 0;					/* Select TimerA count source: f(xin)/16 */
	TAL = 0x4F;					/* Set TimerA */
	TAH = 0xC3;					/* 200ms = 1/4MHz X 16 X (C34F+1) */
	g_timerA3s = 10;			/* 3s  = 200ms X 15 */
	g_timerA10s = 40;			/* 10s = 200ms X 50 */
	IR_TA = 0;					/* TimerA interrupt request clear */
	IE_TA = 0;					/* TimerA interrupt disable */

/* test */
//	DisableLCD();
/* test end */
}


/*************************************************************************
Name: 			SystemInit
Parameters: 	None
Returns: 		None
Description: 	System initial
*************************************************************************/
void SystemInit(void)			/* Initial system */
{
	int i;
	disable_interrupt();		/* interrupt disable */
	cld_instruction();			/* binary Arithmetic Executed */     
	
	
//	CPUM = 0;					/* double Mode */ 
	for (i=0; i<500; i++)
	{
		ioD_powercontrol = 1;		/* Power supply */
		io_powercontrol = 1;

		nop_instruction();
		nop_instruction();			/* Waiting For Stable Of Oscillation */
		nop_instruction(); 
	}
}



/*************************************************************************
Name: 			TimerAStart
Parameters: 	None
Returns: 		None
Description: 	TimerA start
*************************************************************************/
void TimerAStart(void)
{
	IR_TA = 0;					/* TimerA interrupt request clear */
	IE_TA = 1;					/* TimerA interrupt enable */
	TASTP = 0;					/* TImerA start */
	enable_interrupt(); 		/* Interrupt enable; enable 3s timer */
}

/*************************************************************************
Name: 			TimerAStop
Parameters: 	None
Returns: 		None
Description: 	TimerA Stop
*************************************************************************/
void TimerAStop(void)
{
	IR_TA = 0;					/* TimerA interrupt request clear */
	IE_TA = 0;					/* TimerA interrupt disable */
	TASTP = 1;					/* TImerA Stop */
	disable_interrupt(); 		/* Interrupt disable; disable 3s timer */
}

/*************************************************************************
Name: 			TimerAInterrupt
Parameters: 	None
Returns: 		None
Description: 	TimerA interrupt
*************************************************************************/
interrupt void TimerAInterrupt(void)
{
	IR_TA = 0;
	if (B_timerA3s == 1)
	{
		g_timerA3s--;
		if (g_timerA3s == 0)
		{
//			io_powercontrol = 0;	/* Power down */
			g_statusA = 5;
			g_timerA3s = 10;
//			B_timerAstart = 0;
		}
	}
	
	if (B_timerA10s == 1)
	{
		g_timerA10s--;
		if (g_timerA10s == 0)
		{
			g_timerA10s = 40;

			B_closevalve  = 0;	/* Finish operation of valve */
			B_openvalve   = 0;
			io_closevalve = 0;
			io_openvalve  = 0;
			
			g_statusA = 5;
		}
	}
	
}

⌨️ 快捷键说明

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