?? zhu1126.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 + -