📄 control.h
字号:
/*
*********************************************************************************************************
* Copyright (c) 2005, 新通电气
* All rights reserved.
*
* 文件名称:control.h
* 文件标识:无
* 摘 要:
*
* 当前版本:1.0
* 作 者:樊忠
* 完成日期:2006年6月10日
*********************************************************************************************************
*/
#include <pic16f716.h>
#ifndef __CONTROL_H // 防止头文件被重复引用
#define __CONTROL_H
#define __PIC16F716_H
/*
*********************************************************************************************************
*
* 数据类型定义
*
*********************************************************************************************************
*/
typedef unsigned char BOOLEAN; // 注意:不要使用bit定义,因为在结构体里无法使用
typedef unsigned char INT8U; // 无符号8位数
typedef signed char INT8S; // 有符号8位数
typedef unsigned int INT16U; // 无符号16位数
typedef signed int INT16S; // 有符号16位数
typedef unsigned long INT32U; // 无符号32位数
typedef signed long INT32S; // 有符号32位数
typedef float FP32; // 单精度浮点数
typedef double FP64; // 双精度浮点数
#define BYTE INT8S // 兼容以前版本的数据类型
#define UBYTE INT8U
#define WORD INT16S
#define UWORD INT16U
#define LONG INT32S
#define ULONG INT32U
#define BOOL BOOLEAN
#define ONEHOUR 0x01 //定时1小时
#define TWOHOUR 0x02 //定时2小时
#define THREEHOUR 0x03 //定时3小时
#define FOURHOUR 0x04 //定时4小时
#define FIVEHOUR 0x05 //定时5小时
#define SIXHOUR 0x06 //定时6小时
#define SEVENHOUR 0x07 //定时7小时
#define EGIHTHOUR 0x08 //定时8小时
#define NINEHOUR 0x09 //定时9小时
#define TENHOUR 0x0A //定时10小时
#define ELEVENHOUR 0x0B //定时11小时
#define TWELVEHOUR 0x0C //定时12小时
#define THIRTHHOUR 0x0D //定时13小时
#define FOURTHHOUR 0x0E //定时14小时
#define FIFTHHOUR 0x0F //定时15小时
#define BACKONEHOUR 1//60 //定时1小时
#define BACKTWOHOUR 2//120 //定时2小时
#define BACKTHREEHOUR 3//180 //定时3小时
#define BACKFOURHOUR 4//240 //定时4小时
#define BACKFIVEHOUR 5//300 //定时5小时
#define BACKSIXHOUR 6//360 //定时6小时
#define BACKSEVENHOUR 7//420 //定时7小时
#define BACKEGIHTHOUR 8//480 //定时8小时
#define BACKNINEHOUR 9//540 //定时9小时
#define BACKTENHOUR 10//600 //定时10小时
#define BACKELEVENHOUR 11//660 //定时11小时
#define BACKTWELVEHOUR 12//720 //定时12小时
#define BACKTHIRTHHOUR 13//780 //定时13小时
#define BACKFOURTHHOUR 14//840 //定时14小时
#define BACKFIFTHHOUR 15//900 //定时15小时
#define BATTCHARGELOW 0x50 //--5v //0x7b--3.3v--10k-130 //0x6e //24伏欠压保护点
#define BATTCHARGEHIGH 0x66 //--5v //0x99--3.3v--10k-130 //0x8c //24伏过压保护点
#define OVERCURRENTHIGH 0x4D //过流保护点
#define OVERCURRENTCHANNEL 0x00 //过流检查通道为0通道
#define BATTCHECKCHANNEL 0x01 //充电电压检查通道为1通道
/*
*********************************************************************************************************
*
* 端口定义
*
*********************************************************************************************************
*/
#define OUTPUTDIRECT 0 //端口寄存器置“0”为输出
#define INPUTDIRECT 1 //端口寄存器置“1”为输入
#define OVERCURRENT TRISA0 //负载过流输入模拟量端口
#define BATTCHECK TRISA1 //电池充电电压输入模拟量端口
/**********************************************************************************************************/
#define CLKPRE0 TRISB0 //时钟预定义第0位
#define CLKPRE1 TRISB1 //时钟预定义第1位
#define CLKPRE2 TRISB2 //时钟预定义第2位
#define CLKPRE3 TRISB3 //时钟预定义第3位
#define LOADCONTROL TRISB4 //负载控制
#define SUNCHECK TRISB5 //阳光检测
#define CHARGECONTROL TRISB6 //充电控制
#define LOADOUT RB4 //负载控制
#define CHARGEOUT RB6 //充电控制
///////////////////////////////////////////////////////////////////////////////////////////////////////////
struct TIME {
UBYTE sec; //秒
UWORD min; //分
UBYTE hour; //时
};
struct TIME regTimer; //时间记录
UBYTE AdResult[0x10]; //采样数据
///////////////////////////////////////////////////////////////
//variable declare
const UBYTE ONESECOND = 0x02; //hardware time = 1 second 0x08
UWORD Timer1Counter; //interrupt times
BOOL activeFlag; //
/*
*********************************************************************************************************
*
* 常量宏定义
*
*********************************************************************************************************
*/
#define FALSE 0
#define TRUE !FALSE
#define true TRUE
#define false FALSE
/*
*********************************************************************************************************
*
* 外部寄存器定义
*
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*
* 功能函数声明
*
*********************************************************************************************************
*/
void InitVariable(void);
void DelayTime(UWORD wTimer, UWORD ucTimes);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -