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

📄 timespend.c

📁 个人学习参考!禁止使用到产品上! 任何人不得公开发布!
💻 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 + -