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

📄 control.h

📁 公司实习的时候做的路灯控制程序
💻 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 + -