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

📄 data.h

📁 一个分选系统的软件:用SmallRtos操作系统
💻 H
字号:
/*********************************************************************************************************
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: data.h
**创   建   人: 刘宝贵
**最后修改日期: 2004年4月16日
**描        述: 本项目所有全司变量
**
*********************************************************************************************************/

#define PARAMETER_MAX    15000
#define PARAMETER_MIN    5000
#define STOP             0 //停止
#define HALT             1 //静置
#define CHARGE           2 //充电
#define DISCHARGE        3 //放电
#define CELLERROR        4 //本点异常
#define CURRENTOVER      5 //当前工步完成
//本系统有两片FM24C16,本片只读(校参数时可写,通过跳线器使能)用来存参数。
#define CellParaIICBase           0x0400     //0x0400~~0x05FF
//本片可读写,用来存放程序运行时的各种需要掉电保存的参数
#define CurrentWorkStepIICBase    0x0010     //
#define CurrentWorkStepMaxIICBase 0x0011     //
#define SecondIICBase             0x0012     //0x0012~~0x0013
#define Cell_CIICBase             0x0020     //0x0020~~0x007F  96字节
#define Cell_TIICBase             0x0080     //0x0080~~0x00AF  48字节
#define Cell_SIICBase             0x00B0     //0x00B0~~0x00CF  24字节

#define WorkStepIICBase           0x0100     //0x0100~~0x017F  128字节
#define SumWorkStepIICBase        0x0180     //0x0180~~0x0181  2
#define ReferenceUTimeIICBase     0x0182     //0x0182~~0x03F2  624
#define ReferenceUIICBase         0x0400     //0x0400~~0x042F  48字节

#define IICSem            0
#define StartWorkStepSem  1
#define StopWorkStepSem   2
//#define StartCellCheckSem 3
//#define StopCellCheckSem  4

sbit POWER    = P3^3;
sbit ALARMLED = P3^4;//1:on 0:0ff
sbit FMQ      = P3^5;//0:on 1:0ff
sbit RUNLED   = P3^6;                        // green LED: '1' = ON; '0' = OFF
sbit JDQ      = P3^7;
sbit EN_485   = P2^0;
sbit AD_AS    = P2^1;
sbit AD_BS    = P2^2;
sbit AD_CS    = P2^3;
struct celltype
{
    uint16 u;//电压
    uint16 i;//电流
    uint32 c;//容量
    uint16 t;//当前状态所持续时间
    uint8  s;//当前状态
};
extern struct celltype xdata Cell[24];
extern uint8  xdata Address;   //本机地址
struct step
{
    uint8  type; //操作类型
    uint16 i;    //电流限值
    uint16 limit;//截止限值
    uint16 t;    //时间限值
    uint16 u;    //充电时的电压设定值
};
extern struct step xdata WorkStep[13];
extern uint8 data SumWorkStep;                           //工步总数
extern uint8  data CurrentWorkStep;                      //当前正在执行的工步
extern uint8  xdata CurrentWorkStepMax;                   //当前正在执行的工步.用于通信中
extern uint16 xdata DAUBuf[24];
extern uint16 xdata DAIBuf[24];
extern uint16 data  Second;
extern bit    CellCheckFlag;

//extern bit SecondFlag;
extern bit    Reset;   
extern bit    AdParaChanged;//如果AD参数被上位机通信报文修改置1,在TaskAD中查询为1时重取参数,取后置0.
extern bit    DaParaChanged;//如果DA参数被上位机通信报文修改置1,在TaskWorkStep中查询为1时重取参数,取后置0.
extern uint16 xdata CommCounter;//通信计数器,正确收到一个报文时由void TaskReceive(void)清0,
                               //每秒种由void TaskCalcCapa(void)加1,当值大于240(4分钟)时报通信中断
                               //通信中断时由TaskCalcCapa(void)给void TaskWorkStep(void)发送'急停'信号量
extern uint16 xdata CellCheckUHigh;//对点电压高,上位机发对点命令修改值,执行对点过程读取之
extern uint16 xdata CellCheckULow ;//对点电压高,上位机发对点命令修改值,执行对点过程读取之
extern uint16 xdata CellCheckU[24];//用于电池对点的电压,是当前对应通道的AD采样值,没有滤波,这样可以高速反应
extern uint16 xdata ReferenceU[24];//平台电压,放电时电压每下降100mV,记录一次。


⌨️ 快捷键说明

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