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

📄 charger.h

📁 一个充电控制器的完整单片机程序
💻 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 + -