📄 main.h
字号:
#ifndef _MAIN_H_
#define _MAIN_H_ 1
#include "config.h"
#include "sound.h"
#include "display.h"
#define INT_DEC 1024 // integrate and decimate ratio
#define LEVEL 128
#define OFFSET 20
//#define WAIT_TIME
#define VREFH 822
#define VREFMH 807
#define VREFML 776
#define VREFL 745
#define VREFC 714
/************
VREF=3.3V
电池电量状态(5种)的5个门限电压:
VREFH=1024*2.8/3.3=869
=1024*2.7/3.3=838
=1024*2.65/3.3=822
VREFMH=1024*2.6/3.3=807
VREFML=1024*2.5/3.3=776
VREFL=1024*2.4/3.3=745
VREFC=1024*2.3/3.3=714
**********/
#define VREFH_CHARGE 500 //充满时的门限电压
#define VREFL_CHARGE 250 //充电时的标志电压
/*********
#define WORK bit_is_clear(PORTC,PINC4)
#define ADJUST bit_is_clear(PORTC,PINC5)
#define RESET bit_is_clear(PORTC,PINC6)
#define POWER bit_is_clear(PORTB,PINB6)
***********/
/*********
#define POWER PINB&0x40
#define WORK PINC&0x10
#define ADJUST PINC&0x20
#define RESET PINC&0x40
**************/
/**********
#define POWER bit_is_set(PORTB,PINB6)
#define WORK bit_is_set(PORTC,PINC4)
#define ADJUST bit_is_set(PORTC,PINC5)
#define RESET bit_is_set(PORTC,PINC6)
***********/
/*********
#define POWER (PINB&(1<<PB6))
#define WORK (PINB&(1<<PC4))
#define ADJUST (PINB&(1<<PC5))
#define RESET (PINB&(1<<PC6))
*********/
#define POWER PB6
#define WORK PC4
#define ADJUST PC5
#define RESET PB1
volatile uchar Can_read,AllState,LevelState,OutState,ChargeState,LedSec,Time_minu,mh,ml,SwitchTimes,AdjustTimes,Time_sec;
volatile uchar times,ChargeTimes,KeyState,ChargeFlag,LedFlag,ChargeFlagTimes,VoltageTimes,WorkFlag,Flag,FlagTimes,DelayFlag,AdjustTimesFlag,KeyOld,Adj,AlarmFlag,AbandonFlag,FirstFlag;
volatile uint mid,ADTimes,VoltageResult_AD,ChargeResult_AD;
volatile uchar Seg[];
//times0~times5为动态依次递增显示的控制变量
//SwitchTimes为计数器,用于开关机判断
//AdjustTimes为功率状态(第几格)
//LevelState---电池电量状态(5种):000~100
//OutState---激光功率状态(5种):000~100
//ChargeState---充电中... 0-未充电,1-正在充电,2-已充满
// Time_minu当前系统时间:分钟
//AllState系统总状态各位含义:
/**************
AllState系统总状态各位含义:
7 6 5 4 3 2 1 0
1 工作状态 充电状态 激光功率状态(5种) 电池电量状态(5种)
0 待机状态 非充电状态
激光功率状态(5种):
000-停止;001-最低;010-中低;011-中高;100-最高;
电池电量状态(5种):
000-0格;001-1格;010-2格;011-3格;100-4格电量;
***************/
void Reset_Source(void);
void Init_Flag(void);
void Save_Flag(void);
void AD_Shift(void);
void Voltage_Check(void);
void Charge_Check(void);
void Close(void);
void Open(void);
uchar KeyScan (uchar ret);
void TaskTurn (void);
void putc(uchar c);
uchar getc(void);
void puts(char *ptr);
void AD_init(void);
unsigned int read_adc (uchar r,uchar m);
unsigned int BT_V(void);
unsigned int BT_C(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -