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

📄 initial.c

📁 电能表源码
💻 C
字号:
/*************************************************************************************

	文件类型:应用层调用函数
	文件作用:
	修改权限:
	文件相关:
	
	创 建 人:GeminiKQ
	创建日期:2006.12.19
	当前版本:Ver0.1
	
	版本信息:Ver0.1					GeminiKQ

**************************************************************************************/
#include "Tiger.h"

void Init_Port(void)
{
//	P1IE = PowerupP1IE;
//	P1OE = PowerupP1OE;
//	P2IE = BIT2;
//	P2OE &= ~BIT0+BIT1;
    P2OE = 0x00;//~BIT0;				///////////////////////////////////
//	P2OE &= ~BIT2;
//	P2IE &= ~0x3c;
//	P10FS = PowerupP10FS;
//	P11FS = PowerupP11FS;

//	P20FS = 0x01;
//	P21FS = 0x01;
//	P22FS = 0x01;
//	P23FS = 0x01;
//	P24FS = 0x01;
//	P25FS = 0x01;
/*	P11FS = 0x04;
	P12FS = 0x04;
	P13FS = 0x03;
	P14FS = 0x03;
//	IE |= 0x01;
//	IE |= 0x04;
	IT0 = 1;
	IT1 = 1;
//	CARRH = 0x1a;
//	CARRL = 0x3c;	*/
}

//=======================================================
//函数名:Init_Interrupt
//函数作用:中断系统初始化(powerup=1)
//入口参数:无
//出口参数:无
//
//======================================================= 
void Init_Interrupt(void)
{
    
}



void SetPM(void)
{
	// write code
	PmPwd = 0xcd;	
	// IA比差校正值
	W_Byte(0x28a1,0x01);
	W_Buff(0);
	W_Byte(0x1000,0);
	W_Byte(0x1001,0);
	W_Byte(0x1002,0);
	W_Byte(0x1003,0);
	W_Byte(0x1004,0);
	W_Byte(0x1005,0);
	W_Byte(0x1006,0);
	W_Byte(0x1007,0);
	W_Byte(0x1008,0);

	W_Byte(0x1065,0);
	W_Byte(0x1066,0);
	W_Byte(0x1068,0);
	W_Byte(0x1072,0);
	W_Byte(0x1073,0);
	W_Byte(0x1075,0);
	W_Byte(0x1076,0);
	W_Byte(0x1078,0);
	W_Byte(0x1079,0);

	W_Byte(0x28a1,0);
	W_Byte(0x28a2,0x1f);	// 
	W_Byte(0x28a3,0x01);

	W_Buff(0x0);
	W_Byte(0x1080,0);
	W_Byte(0x1081,0);
	W_Byte(0x1082,0);
	W_Byte(0x1083,0);
	W_Byte(0x1084,0);
	W_Byte(0x1085,0);
	W_Byte(0x1086,0);
	W_Byte(0x1087,0);
	W_Buff(0x1a000000);
	W_Byte(0x1088,0);
	W_Buff(0x0);
	W_Byte(0x1089,0);
	// 有功功率gate
	W_Buff(0x00000000);
	W_Byte(0x107b,0);	
	W_Buff(0x00000009);
	W_Byte(0x107a,0);	
	// 有效值脉冲gate
	W_Buff(0x000c9900);
	W_Byte(0x107d,0);	
	W_Buff(0x00000000);
	W_Byte(0x107c,0);	

	// calibration
	W_Buff(0x41C23F44);
	W_Byte(0x1087,0);

	PmPwd = 0xcc;
}

//初始模拟电路
void setanlog(void)
{//	CrtlLDO |= DGEN;
	CrtlGA = 0x33;		// 0x2888
	CrtlGB = 0x33;		// 0x2889
	CrtlGU = 0x01; 		// 0x288a
	CrtlADC = 0x37;		// 0x2894
//	CrtlIAT = 0x00;
//	CrtlCLK = 0x85;

//	CrtlIAT	= 0x7f;		// 0x288c
//	CrtlIAD = 0x12;		// 0x288d
//	CrtlIBT = 0x01;		// 0x288e
//	CrtlIBD = 0x12;		// 0x288f
//	CrtlUT  = 0x7f;		// 0x2890
//	CrtlBGP = 0x00;		// 0x2892
//	CrtlPow	= 0x80;		// 0x2893
	CrtlCry = 0x03;		// 0x2895
	CrtlLDO = 0x11;		// 0x2896
}

void RTC_Reset(void)
{
//	Ref_LCD();
	Init_Port();
//	P1OE = 0;
//	P1OD &= ~BIT2;
	if(Cyc_Count == 0)
	{
		Disp_Clear();
//		P2OD &= ~BIT3;				/////////////////////////////////
//		ALTER_32K_RTC();
		DEEP_SLEEP();   
	}
	else
	{
		Cyc_Count--;
//		P1OE = 0;					/////////////////////////////////
//		P1OD &= ~BIT2;				/////////////////////////////////
	}
}

void IO_Reset(void)
{

}

void WDT_Reset(void)
{
	Init_RTC();
	Init_LCD();
//	Init_Port();
//	P1OE = 0;
//	P1OD &= ~BIT4;
	Init_Interrupt();
}

void Init_Var(void)
{unsigned char idata i;
 for(i=0;i<50;i++)
    wr_buff[i]=0;
}

⌨️ 快捷键说明

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