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

📄 bianliang.h

📁 记录仪
💻 H
📖 第 1 页 / 共 2 页
字号:
#define uchar unsigned char

#define TMIAO XBYTE[0X8000]     //秒
#define TFEN XBYTE[0X8002]      //分
#define TSHI XBYTE[0X8004]      //时
#define TRI XBYTE[0X8007]       //日
#define TYUE XBYTE[0X8008]      //月
#define TNIAN XBYTE[0X8009]     //年
#define TCLKA XBYTE[0X800A]        //写时钟命令字用
#define TCLKB XBYTE[0X800B]        //写时钟命令字用



#define  KEY XBYTE[0x8300]   //键盘地址

#define KAIGUANLIANG XBYTE[0X8200]     //开关量地址

#define IO_ZIJIAN XBYTE[0X8300]     //自检端口时,向P1.7写'0',从该地址的第2位读,判断是否为'1'



sbit P10=P1^0;
sbit P11=P1^1;
sbit P14=P1^4;
sbit P15=P1^5;
sbit P16=P1^6;
sbit P17=P1^7;

sfr WDTRST=0XA6;       //看门狗计数器
//sbit WDI = P1^2 ;      //看门狗
sbit stxd=0x93;
bit FL_TEMP_P11;                      //临时保存P11的值
bit FL_TEMP_P10;                      //临时保存P10的值
bit FL_P11;        //在使用0、1、2页面时,存储当前指针的P11,初值为1
bit FL_P10;        //在使用0、1、2页面时,存储当前指针的P10,初值为0
bit FL_RECORDER;   //进入通信程序后,如果已经通过232上传过流水记录,该值为1,否则为0
bit FL_RUN;         //为汽车行驶标志,=1表示行驶,=0表示停止,初值为0
bit FL_OLDRUN;      //寄存上一次的行驶标志,=1表示行驶,=0表示停车,初值为0

bit FL_1M;    //满1分钟的标志,=1表示满,=0表示未满,初值为0

bit FL_ZJRAM;      //为自检RAM的标志,=1表示成功,=0表示失败
bit FL_ZJCLK;      //自检时钟的标志,=1表示成功,=0表示失败
bit FL_ZJIO;       //自检端口的标志,=1表示成功,=0表示失败
bit FL_RDSEC;      //允许读时间的标志

bit FL_OVERTIME;   //驾驶超时的标志,=1表示超时,=0表示没有
bit FL1_OVERSPEED; //驾驶超速的标志,=1表示超时,=0表示没有
bit FLAG_LEGAL;    //非法驾驶的标志

/*
bit FLAG_KGL0;     //开关量0
bit FLAG_KGL1;     //开关量1
bit FLAG_KGL2;     //开关量2
bit FLAG_KGL3;     //开关量3
bit FLAG_KGL4;     //开关量4
bit FLAG_KGL5;     //开关量5
*/


//*********************************************************************************************************//
//////////////////////////////////////////   定义全局变量    ////////////////////////////////////////////////
//*********************************************************************************************************//


unsigned int xdata index_KGL _at_ 0x0000;            //开关量数组下标
uchar xdata KGL[4000][7] _at_ 0x0002;          //开关量数组

/*************************  以上为在 01 页定义开关量数组   ********************/


uchar xdata old_kgl _at_ 0x6E35;          //存放上一个开关量状态
uchar xdata pljssj _at_ 0x6E36;           //疲劳驾驶时间
uchar xdata tcxxsj _at_ 0x6E37;           //停车休息时间


/*
uchar xdata KGL0[400][12] _at_ 0x0000;         //开关量0数组,地址为:0X0000-0X12BF
unsigned int xdata index_KGL0 _at_ 0x12c0;     //开关量0数组的行下标

uchar xdata KGL1[400][12] _at_ 0x12C2;         //开关量1数组,地址为:0X12C2-0X2581
unsigned int xdata index_KGL1 _at_ 0x2582;     //开关量1数组的行下标

uchar xdata KGL2[400][12] _at_ 0x2584;         //开关量2数组,地址为:0X2584-0X3843
unsigned int xdata index_KGL2 _at_ 0x3844;     //开关量2数组的行下标

uchar xdata KGL3[400][12] _at_ 0x3846;         //开关量3数组,地址为:0X3846-0X4B05
unsigned int xdata index_KGL3 _at_ 0x4B06;     //开关量3数组的行下标

uchar xdata KGL4[400][12] _at_ 0x4B08;         //开关量4数组,地址为:0X4B08-0X5DC7
unsigned int xdata index_KGL4 _at_ 0x5DC8;     //开关量4数组的行下标

uchar xdata KGL5[400][12] _at_ 0x5DCA;         //开关量5数组,地址为:0X5DCA-0X7089
unsigned int xdata index_KGL5 _at_ 0x708A;     //开关量5数组的行下标
*/







uchar xdata drvr_drv_time[300][28] _at_ 0x2000;//流水记录所有驾驶员的驾驶情况
unsigned int xdata index_drv_time _at_ 0x40D0; //上一数组的行下标
uchar xdata time_speed[65] _at_ 0x4200;     //前5字节存放时间,后60字节存放该1小时的速度数据,中断程序中写,1次/分
unsigned long xdata pulse_spd_buf[360] _at_ 0x4241;//存放每小时的脉冲数
unsigned int xdata index_pls_spdbuf _at_ 0x47E1;//上一数组的下标
unsigned int xdata index_stp_pls _at_ 0x47E3;   //上一数组,停车后的下标
unsigned long xdata pulse_cur_time _at_ 0x47E5;      //长整型数,存放当前时刻脉冲数
uchar xdata speed_1min _at_ 0x47E9;//1分钟的平均速度


//对中断程序所用变量单独指定地址存放
//uchar xdata t1_8pls[16] _at_ 0x47EA;        //循环存放8次当前脉冲
//uchar xdata index_t1_8pls _at_ 0x47FA;      //上一数组的下标
//uchar xdata save_index_t1_8pls _at_ 0x47FB;      //index_t1_8pls的备份
uchar xdata t1_hp_cur _at_ 0x4800;           //从TH0读出的当前脉冲数的高字节
uchar xdata t1_hp_cur2 _at_ 0x4801;          //第2次从TH0读出的当前脉冲数的高字节

uchar xdata t1_lp_cur _at_ 0x4802;           //从TL0读出的当前脉冲数的低字节
uchar xdata t1_temp _at_ 0x4803;             //中断中使用的临时变量
uchar xdata t1_hp_1s _at_ 0x4805;          //1秒钟前脉冲数的高字节
uchar xdata t1_lp_1s _at_ 0x4806;          //1秒钟前脉冲数的低字节
unsigned int xdata index_26s _at_ 0x480B;     //20秒数据区数组临时列下标
uchar xdata t1_start_add _at_ 0X4A0E;               //判断是否连续5秒每秒都大于1个脉冲时用,判断开车
uchar xdata t1_end_add _at_ 0X4A10;                //判断是否连续5秒每秒都大于1个脉冲时用,判断停车
unsigned long xdata t1_long_temp _at_ 0X49EE;             //长整型,仅在中断程序使用
unsigned long xdata t1_pls_cur _at_ 0X5200;    //整型的当前脉冲数,中断程序中用
unsigned long xdata t1_pls_1sb _at_ 0X5204;    //整型的1秒钟前脉冲数,中断程序中用
unsigned long xdata t1_pls_1mb _at_ 0X5208;    //整型的1分钟前脉冲数,中断程序中用

⌨️ 快捷键说明

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