📄 charger.h
字号:
//
//solar battery charge controller
//header file,data struct
//2003/3/23
//
#ifndef __CHARGER_H__
#define __CHARGER_H__
//------------------------------
//Default system volatage no
//{48,110,220,300}{0,1,2,3}
#define DEFSYSV 2
//---------------------------------------
//void dog(void);//Watch dog reset
#define RESET_DOG P1_6=!P1_6;
#define BUFFSIZE 0x80
//------------------------------
//
//8255 Contrl port 0x6003
//port A 0x6000
//port B 0x6001
//port C 0x6002
//A,B,C output Control char 0x80
//B,C output A input Control char 0x90
//
#define P8255A XBYTE[0x6000]
#define P8255B XBYTE[0x6001]
#define P8255C XBYTE[0x6002]
#define P8255D XBYTE[0x6003]
#define AiBCo 0x90
#define AoBCo 0x80
//------------------------------
//2byte = int
#ifndef _WORD_DEFINED_
#define _WORD_DEFINED_
typedef union {
unsigned char b[2];
unsigned int i;
}word;
#endif
//-----------------------------
//today working ,save to table of history
struct workdata
{
unsigned char date[3]; //year:month:day
unsigned int work[18];
struct workdata xdata *next;
struct workdata xdata *up;
};
typedef struct workdata daydata;
typedef daydata xdata *link ;
//
//-----------------------------
struct rate
{
unsigned int volatage;//predefine datachange to volatage rate
unsigned int temperature;//predefine tempurature rate
unsigned int discharge;//predefine current rate
unsigned int charge;
};
//
//save data format in ram
//-------------------------------------------
//ram manage and data process
//-------------------------------------------
extern void getadin(void);
extern void account(void);
extern void save(void);
extern void control(void);
extern void overloadctl(void);
extern void init_history_buffer(void);
extern void init_rate_workpoint(unsigned char n);
//---------------------------------------------
//general funtion Scom
//---------------------------------------------
extern void delay(unsigned int i);
extern void init_serial(void);
//---------------------------------------------
//key board funtion,lcd display
//---------------------------------------------
//
extern void firstscr(void);
extern void menu(void);
extern void keyrst(unsigned char m);
//
//-------------------------------------
//a/d funtion
//-------------------------------------
extern unsigned int tlc1543(unsigned char port);//data read from (port)channel of tlc1543
//-------------------------------------
//com funtion
extern void Wmodem(char *s);
extern void SetSys(void);
//-------------------------------------
//-------------------------------------
//12887 real_time,clock funtion
//-------------------------------------
//12887A real_time,clock funtion
extern void setup12887(unsigned char *p);
extern void read12887(unsigned char *p);
extern void start12887(void);
//
//-------------------------------------
/////base LCD command
//-------------------------------------
#define SCR_TFF 0xC //lcd display on, cursor_ off, _ invert off
#define SCR_TTF 0xE //lcd display on, cursor_ on, _ invert off
#define SCR_TTT 0xF //lcd display on, cursor_ on, _ invert on
#define SCR_ACL 0x10//ACC=ACC-1,move cursor left
#define SCR_ACR 0x14//ACC=ACC+1
#define SET8B 0x30//Set 8 bit mode,base command
//-------------------------------------------
//LCD funtion
//-------------------------------------------
void text(unsigned char sta,unsigned char *string);//display string
void WD_LCD(unsigned char ch);//lcd display char
void WC_LCD(unsigned char comand);//write lcd controll register
void clear(void);//clear display
//-----------------------------------------
//
//define global variable
//
//-----------------------------------------
//a/d data
extern unsigned int xdata adin[10];
extern daydata xdata today;
extern unsigned int xdata sys[13];
extern struct rate xdata crate;
extern int xdata just;
extern unsigned int xdata adtemp;
extern char idata controlstate;//
//----------------------------------------
//system timer flag
extern unsigned int idata tlong;
extern unsigned int idata t50ms;
//
//-------------------------------------------------------------------------------
//display chinese table
extern code unsigned char *adinhz[10];
extern code unsigned char *hishz[18];
extern code unsigned char *sethz[13];
//-----------------------------------
//default system data table
extern code unsigned int stab[5][4];
extern code unsigned int dtab[4][7];
extern code unsigned char *unit[4];
extern code unsigned char uadin[9];
extern code unsigned char uhis[18];
extern code unsigned char uset[12];
extern unsigned int xdata password;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -