📄 timespend.c
字号:
/*========================================*/
/*系统名称:DDSF-CECG-JiangSu */
/*函数名称:时间费率 */
/*程序编写:步爱军 */
/*开始日期:2005-01-01 */
/*完成日期: */
/*修改记录: */
/*软件版本:DDSF-CECG-002 */
/*版本说明:用户数据保存在外部 */
/*外部器件:LM75、AT24C02、HT1621、LPC932 */
/* R8025、ADE7755 */
/*========================================*/
#include <REG932.H>
#include <define.h>
#include <Stdio.h>
#include <Intrins.h>
void TimeSpend(void)
{
unsigned char data i,k=0x80;
TimeBuf[0]=IicByteRead(0x64,0x00) & 0x7f;//提取秒信号到数据缓冲区
TimeBuf[1]=IicByteRead(0x64,0x10) & 0x7f;//提取分号到数据缓冲区
TimeBuf[2]=IicByteRead(0x64,0x20) & 0x3f;//提取时号到数据缓冲区
DaysBuf[0]=IicByteRead(0x64,0x30) & 0x07;//提取期信号到数据缓冲区
DaysBuf[1]=IicByteRead(0x64,0x40) & 0x3f;//提取日信号到数据缓冲区
DaysBuf[2]=IicByteRead(0x64,0x50) & 0x1f;//提取月信号到数据缓冲区
DaysBuf[3]=IicByteRead(0x64,0x60) ;//提取年信号到数据缓冲
for(i=0;i<12;i++)
{
IicMuchByteRead(0xa0,k,0x03);
//小时比较
if(TimeBuf[2]==IIcBuf[1])
{
//分钟比较
if(TimeBuf[1]>=IIcBuf[2])
{
switch(IIcBuf[0])
{
case 0x01 : //时段---尖
MataStData=MataStData|0x01;
//IicByteWrite(0xa0,0xc9,MataSt);
break;
case 0x02 : //时段---峰
FengLed=0;//打开峰指示灯
PingLed=1;
GuLed=1;
MataStData=MataStData|0x02;
//IicByteWrite(0xa0,0xc9,MataSt);
FengFg=1;
PingFg=0;
GuFg=0;
break;
case 0x03 : //时段---平
FengLed=1;
PingLed=0;//打开平指示灯
GuLed=1;
MataStData=MataStData|0x03;
//IicByteWrite(0xa0,0xc9,MataSt);
FengFg=0;
PingFg=1;
GuFg=0;
break;
case 0x04 : //时段---谷
FengLed=1;
PingLed=1;
GuLed=0;//打开谷指示灯
MataStData=MataStData|0x04;
//IicByteWrite(0xa0,0xc9,MataSt);
FengFg=0;
PingFg=0;
GuFg=1;
break;
}
}
}
k=k+3;
}
if(DaysBuf[2]==1)
{
IIcByteStar=0xc0;
}
else
{
IIcByteStar=DaysBuf[3]*16-16;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -