肆:放弃欧洲杯,面向过程的程序设计


#include  
#include 
#include "SysClock.h"
#include "EEPROM.h"
#include "Modbus.h"
#include "Timer_Init.h"
#include "Key_Board.h"
#include "Display.h"
#include "Sample_Value.h" 

void main()
{
    Read_EEPROM(0,sizeof(var),(unsigned char *)&var); //读取E2P中的数据   
    First_Init_VarStruct();                           //结构体赋初值
    SysClock_Set();                                   //设置系统时钟 29.4912MHZ
    Key_Init();                                       //按键初始化
    TM1622_Init();                                    //断码屏驱动芯片初始化
    Sample_Init();                                    //采样部分初始化
    Timer_Init(SYSCLK,bot_menu[var.bot]);             //系统所用定时器初始化
    Modbus_Init(SYSCLK,bot_menu[var.bot]);            //Modbus初始化  
    EA = 1;
    
    while(1)
    {
        /***20ms扫描一次按键状态***/
        if(Key_Scan_20ms >= 20)             
        {
            Key_Scan_20ms = 0;
            Key_Scan();                  //按键扫描  
        }
        
        /***100ms跟新一次屏幕***/
        if(Screen_Refresh_100ms >= 100)
        {
            Screen_Refresh_100ms = 0;
            Key_Handle_Func();           //按键处理函数
            Screen_Display_Func();       //屏幕显示函数  
        }
        
        /***设置菜单超时计时***/ 
        if(Set_Menu_Timeouy_5s >= 3000)
        {
            Set_Parameter = 0;           //恢复显示状态
            Set_Menu_Timeouy_5s = 0;     //超时计时清0
            PVMENU = RUN;                //进入工作模式
        }
        
        /***modbus接收一帧数据成功***/
        if(Modus_Receive_Ok == 1)
        {
            Modus_Receive_Ok = 0;
            Modus_Handle_Data_Func();    //处理接收到的一帧数据
        }
        
        /***读取到一次采样值 对采样值做线性修正***/ 
        if(Sample_Value_ok == 1)
        {
            Sample_Value_ok = 0;    
            Handle_Sample_Value_Func();  //处理采样数据           
        }
        
        /***用户设置数据保存***/
        if(User_Save_Flag == 1)
        {
            User_Save_Flag = 0;
            Write_Full_Struct(0);        //写数据地址0
        }
        
        /***工厂设置数据保存***/
        if(Factory_Save_Flag == 1)
        {
            Factory_Save_Flag = 0;
            Write_Full_Struct(256);      //写数据地址256
        }
    }
}


你可能感兴趣的:(肆:放弃欧洲杯,面向过程的程序设计)