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

📄 zhu1126.h

📁 动力环境监控系统 动力环境监控系统
💻 H
字号:
#include"ctype.h"
#include"at89x55.h"
#include"intrins.h"
#include"absacc.h"
#include"string.h"
#define	OpenEn
//#define 	TestClock

//#define TestDO
//#define TestSendEn

#define uchar unsigned char
#define uint  unsigned int
bit KuaiShFlag=0;	//快闪标志位
bit ManShFlag=0;	//慢闪标志位
uchar data led3Kuai=0;	//快闪计数器
uchar data led3Man=0;	//慢闪计数器


sbit	TBUS_EN		=P1^3;	//底层485发送使能位
sbit	TX1_EN		=P1^4;	//Modem发送使能位
sbit	TX2_EN		=P1^5;	//上层485发送使能位
sbit	RamIO_Convert	=P1^6;	//端口与EEPROM互换标志位
sbit	RamRom_Convert	=P1^7;	//RAM与ROM切换
sbit	FeedDogFlag	=P3^5;	//喂狗标志位

uchar	bdata	SendEn;	//扩展串口1,2发送使能
sbit	SendEn0Flag=SendEn^1;	//扩展串口1中断使能
sbit	SendEn1Flag=SendEn^2;	//扩展串口1关闭模拟开关(物理上给高阻)
sbit	SendEn2Flag=SendEn^3;	//扩展串口2关闭继电器(环路通)
sbit	SendEn3Flag=SendEn^5;	//扩展串口2中断使能

#define MaxSend		800
#define MaxRece		500
#define MaxSend0	60
#define MaxRece0	500
#define MaxSend1	800
#define MaxRece1	60
#define MaxSend2	800
#define MaxRece2	60

xdata 	uchar	ledled	_at_	0xC000;
uchar bdata  AddLed;		//高四位地址,三盏灯,一峰鸣器
sbit led1Flag=AddLed^7;			//第一盏灯(运行灯)
sbit led2Flag=AddLed^5;			//第二盏灯(通信灯)
sbit led3Flag=AddLed^4;			//第三盏灯(控制灯)
xdata	uchar	RealTimeData[AIDIsum]	_at_	0x1CB0;	//实时数据缓冲区
xdata	uchar	SendSbuf0[MaxSend0]	_at_	0x1C00;
xdata	uchar	ReceSbuf0[MaxRece0]	_at_	0x1A00;
data	uchar	SendCount0;		//发送指针0
data	uint	ReceCount0;		//接收指针0
bit	ReceEndFlag0;

xdata	uchar	SendSbuf1[MaxSend1]	_at_	0x1680;
xdata	uchar	ReceSbuf1[MaxRece1]	_at_	0x1600;	//接收缓冲区1
data	uint	SendCount1;		//发送指针1
data	uchar	ReceCount1;
bit	SendingFlag1;
bit	ReceEndFlag1;
bit	bNeedSend1;			//需要发送标志位1

xdata	uchar	SendSbuf2[MaxSend2]	_at_	0x1280;	//发送缓冲区2
xdata	uchar	ReceSbuf2[MaxRece2]	_at_	0x1200;//接收缓冲区2
data	uint	SendCount2;		//发送指针2
data	uchar	ReceCount2;		//接收指针2
bit	SendingFlag2;
bit	ReceEndFlag2;
bit	bNeedSend2;			//需要发送标志位2

extern uint CrcCheck(uchar * pData,uint nDataLength);//Crc校验
//DS1302时钟操作函数
extern void clock_write(uchar * pp);
extern void setup_write();
extern void clock_read(uchar * pp);

#define DelayNms 	20	//延时n个50ms,1秒为超时
#define DuanKaiRongL	256	//断开历史记录容量为256条S
#define ZhengChRongL	768	//正常历史记录容量为768条
#define	ZhengChJianGe 	6	//正常历史记录时间间隔6分钟,3天记录
#define DuanKaiJianGe	18	//断开历史记录时间间隔18分钟,3天记录
bit	lockFlagDn;		//向下上锁标志位
bit	controlFlag;		//要发控制标志位
bit	ReceConFlag;		//收到控制标志位(闪灯用)
uchar	data DelayCount;	//延时计数器

bit	ResetAnsFlag;		//复位响应标志位
bit	BaudAnsFlag;		//波特率设置响应标志位
bit	NoReceFlag;		//收到字符标志位(1:收到)
bit	ReBaudFlag;		//重新设置波特率标志位
uint	data ReBaudCount=0;	//重新设置波特率计数器
uint	data ZhengChCount=0;	//正常历史记录定时计数器

uchar	data FalseTime0;	//向从模块0要实时数据错误次数
uchar	data FalseTime1;	//向从模块1要实时数据错误次数
uchar	data FalseTime2;	//向从模块2要实时数据错误次数
uchar	data FalseTime3;	//向从模块3要实时数据错误次数


xdata	uint	DuanKaiTiao	_at_	0x1FF8;	//断开历史记录条数
xdata	uint	DuanKaiZhi	_at_	0x1FFA;	//断开历史记录当前地址
xdata	uint	ZhengChTiao	_at_	0x1FFC;	//正常历史记录条数
xdata	uint	ZhengChZhi	_at_	0x1FFE;	//正常历史记录当前地址
xdata	uchar	KaiJiRZh[8]	_at_	0x1FF0;	//开机认证

bit	ZhengChFlag;		//保存曲线历史记录定时时间到标志位
bit	DuanKaiFlag;		//保存断开历史记录定时时间到标志位
bit	JiaoTiFlag = 0;		//实时历史记录交替发送标志位(断开后连接上先发实时)
bit	KaiJiShZhFlag=1;	//开机时钟校正标志位
uchar	DuanKaiCount=0;		//断开计数器

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -