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

📄 main.h

📁 使用Atmega8单片机开发的一个激光治疗仪的人机接口程序
💻 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 + -