📄 bianliang.h
字号:
#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 + -