单相智能电表程序源码,可实现电能计算,485通讯,总线通讯,液晶显示等功能,程序源码注释详细,非常适合单片机开发的人员,感兴趣可以看下,需要直接拍就可以。虚拟商品不退不换
0x10000000,
0x00000000,
0x05,
0x00000000,
0xB4ABA24A,
0x00000001,
0x47C60EC0
//12比差
//补偿1
//补偿2
//A通道误差校正
//B通道误差校正
//有功启动门限高位
//有功启动门限低位
//无功启动门限高位
//无功启动门限低位
//根据所引的ID号从外部存储器中恢复数据项,恢复的数据会放在wr_buff中
@param chk_id 数据项ID
@return 1 成功 0 失败
//limin 修改 返回值恒定义
//初始化TIMER0,10ms中断一次
@param void
@return void
void Init_Timer0(void)
{
TMOD = 0x01; // 工作在模式1
CKCON =0x01; // clk
TL0 = 0xff; //10ms
TH0 = 0x7f; //
TR0 = 1; //开定时器0
SetInterrupt(1); //打开中断
}
//初始化ADC,设定当前的测量量程
@param void
@return void
void Inti_anlmode(void)
{
InitAnalog(); //
//SetADC(SETADC_IR,SETADC_CLOSE); //
SetADC(SETADC_IB,SETADC_ITLE); //
SetMChannel(SETM_TEM,SETM_T1); //
//SetADC(SETADC_U,SETADC_T1); //
Alt_50Hz(); //
//PowerDown=1; //
函数功能:恢复除门限值之外的参数
void Recover_metprim(void)
{
uint8 i,value;
xdata char *point;
Word32 read_buff;
for(i=0;i<7;i++)
{
value=0;
ReadMeterPara(0x10dd+i*3+1); //
if(recover_item(0x8505+i)==1)
{
read_buff.lword=Longdate_from_xbcd(&wr_buff[0],4); //恢复参数正校
u32PMdatal= read_buff.lword;
if(u32PMdatal!=meterprm_table[3-i]) //
//恢复参数反校
u32PMdatal=meterprm_table[3-i]; //
value=1;
}
if(value==1)
SetMeterCfg(0x10f5+i*6); //
}
point=&PHCAL11; //
for(i=0;i<3;i++)
{
if(recover_item( //
(point-1)->wr_buff, //
(point-1)->wr_buff); //
}





