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

📄 main.c

📁 一个电表的程序
💻 C
字号:
#include "Includes.h"



#pragma vector=0x13
__interrupt void INT1_ISR(void)
{
}

#pragma vector=0x1b
__interrupt void TIMER1_ISR(void)
{
}


#pragma vector=0x2b
__interrupt void TIMER2_ISR(void)
{
}


#pragma vector=0x3b
__interrupt void SPI_I2C_ISR(void)
{
}



#pragma vector=0x5b
__interrupt void WATCHDOG_ISR(void)
{
}
void delay(unsigned int t)
{
    while(t--);
}

//---------------------------------------------------------------------------

//        喂狗

void ClearWatchDog(void)
{
   //if (WatchDog_Flg)
      {
        WatchDog_Flg=0;
  //      IE_bit.EA = 0;
        WDCON_bit.WDWR = 1;
        WDCON     = 0x70;//0x72;
  //      IE_bit.EA = 1;
      }
}


void DelyeMs(unsigned char dey )
{
  while (dey--);
}




//-------------------------------------------------------------------------
//    一秒钟时需要处理的工作任务有:

//    1、显示模块
//    2、实时数据测量模块(电池电压、系统工作电压、时钟采样、温度采样)
//    3、电流、电压、功率测量模块
//    4、能量计算模块
//-------------------------------------------------------------------------

void SecModule(void)
{
  if (!RTC_Sec_Flg)
    return;

  TimeUpdate();          //读时分秒,即时钟采样
  MeasurementModule();   //实时数据测量模块
  LcdDispModule();       //显示模块

  EnergyModule();
  P_LED ^= 1;
  if (sysErrFlg)
     G_LED = 0;

  RTC_Sec_Flg =0 ;
}

//-------------------------------------------------------------------------
//    一分钟时需要处理的工作任务

void MinModule(void)
{

 // unsigned char i,j,k;

  if (!RTC_Min_Flg)
    return;

  /*   刷新费率    */

//  MoveData_Api(3*i + eFlTbl_Dtr+e2RAM_Adr,(unsigned int)(&TempChar[0])+iRAM_Adr ,6);



}




  void main( void )
  {
    DQ_Fl=3;
   // StatFlg=0;
    I2C_Stop();
    ClearWatchDog();
    StatFlg &= RTC_Date_Flg_Val;     //24小时不可屏蔽中断标志保留

    TaskFlg = 0;
    sysErrFlg = 0;
    while(1)
    {
      RTC_Init();                    //RTC初始化
      LcdInit();                     //LCD初始化
      ClearWatchDog();               //喂狗

      if(PERIPH_bit.VSWSOURCE)       //供电方式检测
      {
         RunPSM0();                 //Run_Mode=1, 电池供电模式。
      }
      else
      {
         RunPSM1();                 //Run_Mode=0,外电源供电模式(正常工作模式)。
      }
    }
  }
//===========================================================================================

⌨️ 快捷键说明

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