📄 variable.h
字号:
/**********************************************************
* 文件名: variable.h
***********************************************************/
uchar code ver_num[2]={0x01,0x02}; //软件版本号U1.0.0 --只能用BCD码
uchar code keynumdata[]={0x7E,0x48,0x3D,0x6D,0x4B,0x67,0x77,0x4C,0x7F,0x6F,0x5F, // 0--10
0x73,0x36,0x31,0x79,0x37,0x17,0x5B,0x53,0x32,0x51,0x5E, //11--21
0x71,0x1F,0x11,0x33,0x7A,0x01,0x00,0x01,0x02,0x04,0x08,0x00,0x00}; //22--32
//0,1,2,3,4,5,6,7,8,9,A, b,C,c,d,E,F,H,h,L,n,N, o,P,r,t,U,-,'全灭','Lock','function','Volume','Money'
uchar code dotmem[8]= {0x0f,0x01,0x0A,0x00,0x0C,0x04,0x02,0x08}; //小数点查表--小数显示函数用
uchar code dotmode[9]={0x10,0x0e,0x38,0x31,0x02,0x00,0x04,0x20,0x00}; //5种小数工作模式,只能修改,不能添加。
//**************************************************************
bdata uchar bbyte; //位数组定义,可提髙速度
sbit a0=bbyte^0;
sbit a1=bbyte^1;
sbit a2=bbyte^2;
sbit a3=bbyte^3;
sbit a4=bbyte^4;
sbit a5=bbyte^5;
sbit a6=bbyte^6;
sbit a7=bbyte^7; //位数组定义
/*******************************************************/
bdata uchar printstate; //打印机状态
sbit p1busy=printstate^0;
sbit p1pe=printstate^1;
sbit p1sel=printstate^2;
sbit p1err=printstate^3;
sbit p2busy=printstate^4;
sbit p2pe=printstate^5;
sbit p2sel=printstate^6;
sbit p2err=printstate^7;
//**********************************************************
bdata uchar alarm; //K1SPK,DCFD1,DCFX1,K2SPK,DCFD2,DCFX2,
sbit k1spk=alarm^7; //0--鸣;1--不鸣
sbit DCFD1=alarm^6;
sbit DCFX1=alarm^5;
sbit k2spk=alarm^4;
sbit DCFD2=alarm^3;
sbit DCFX2=alarm^2;
sbit jsq1out=alarm^1; //计数器1输出
sbit jsq2out=alarm^0; //计数器2输出
//***********************************************************
bdata uchar cmdmem; //提枪及计量数据
sbit tq1 = cmdmem^0; // ;提枪1
sbit tq2 = cmdmem^1; // ;提枪2
sbit k1key = cmdmem^2; // ;锁 0--设置
sbit k2key = cmdmem^3; // ;锁
sbit cgq1s1 = cmdmem^4; // ;传感器11
sbit cgq1s2 = cmdmem^5; // ;传感器12
sbit cgq2s1 = cmdmem^6; // ;传感器21
sbit cgq2s2 = cmdmem^7; // ;传感器22
//////////////////////////////////////////
bit cgq1s1old; //传感器11前次检测状态
bit cgq1s2old; //传感器12前次检测状态
bit cgq2s1old; //传感器21前次检测状态
bit cgq2s2old; //传感器22前次检测状态
bit updatea; //更新显示A工作面计量数据
bit updateb; //更新显示B工作面计量数据
bit update_worka; //通知更新a显示,由定时器控制
bit update_workb; //通知更新b显示,由定时器控制
bit scanfkey; //通知扫描銉盘
bit dispkeyok; //通知显示更新key屏
bit spear1_state; //枪1的状态
bit spear2_state; //枪2的状态
bit dispprn_a; //每秒通知显示打印机状态a
bit ration_a; //1--a枪为定量加油停机 因定额到通知取整
bit ration_b; //1--b枪为定量加油停机 因定额到通知取整
bit save_oka,save_okb; //通知保存计量数据
bit ration_mode_a; //1--a枪为定升加油 0--a枪为定元加油模式
bit ration_mode_b; //1--b枪为定升加油 0--b枪为定元加油模式
bit vip_mode_a,vip_mode_b; //历史定量模式
//bit rece_ok; //正确接收到上位机指令标志
//bit rece_add; //接收到上位机发送的ADD字节标志 收完戓时间超过1秒清该标志
bit isp_err; //1--ISP编程错误标志
bit IFACK; //record the SDA state to confirn if ACK has happened
bit NO_ACK; //1==no ack flag
bit BUS_FAULT; //bus fault flag
bit keyok_a,keyok_b; //按銉有效
bit setdotok,setdotok_b; //设置定额数据时有无按下小数标记
//bit saledot; //1--金额小数点为叁位 0--金额小数点为两位
bit locknooil_a,locknooil_b; //1--锁机状态
bit save_ok; //1--有数据须保存(备份)
bit cease_power; //停电
bit dropt_a,dropt_b; //1-挂枪标志 用于上电时就则不能开电机
bit messagesave_ok; //1--上位机已设置参数标志
bit printformat_saveok; //通知保存打印格式
bit setpas_a,setpas_b; //设置--高级特殊菜单
/***************************************/
data uchar time_seccnt; //计数--秒
data ulong ration_pulse_a,ration_pulse_b; //定量脉冲数--修改密码时暂时新密码
data uchar jl1s; //计量读数传感器1
data uchar jl2s; //计量读数传感器2
data uchar timer_time; //计时器计数
data uchar hang_time1; //挂枪延时
data uchar hang_time2; //挂枪延时
//*************************
data uchar state1; //状态 00-正常等待状态 01-加油状态 02--设置参数 03--查询状态 04-系数出错
data uchar state2; //状态 00-正常等待状态 01-加油状态 02--设置参数 03--查询状态 04-系数出错
data uchar k1spk_time; //蜂鸣器1鸣时长及类型
data uchar k2spk_time; //蜂鸣器2鸣时长及类型
data uchar timesec; //用于产生1秒信号
data uchar prn1time,prn2time; //打印机状态显示延时--3分钟不进行任何操作进入该状态
//*************************
idata uchar keynumold_a,keynumold_b; //历史键值
idata uchar keyinput_a,keyinput_b; //记数銉扫次数
idata uchar keysolve_a,keysolve_b; //待处理的键值
idata uchar idle_numa,idle_numb; //空闲记数a
idata uchar temp_mema,temp_memb; //临时--小心使用 修改密码的工作序列号
idata uchar keya_num[5]; //键盘小屏b显示缓存
idata uchar keyb_num[5]; //键盘小屏a显示缓存
idata uint mcstoptime_a,mcstoptime_b; //电机重新启动延时
idata uchar disp_floor_level_a,disp_floor_level_b; //显示下限
//*********************************************************
idata uchar time_temp_delay; //临时时间继电器
// ****以下保存的系统参数
idata uchar residue_a,residue_b; //提前量,提前关大流量
idata uchar close_num_a,close_num_b; //提前关机量
idata uchar increment_a,increment_b; //每秒增量
idata uchar printermode_a,printermode_b; //打印机工作方式 00--自动 01--手动
idata uchar pirnt_select_a,pirnt_select_b; //被选择的打印机[00/01]
idata uchar oil_types_a,oil_types_b; //油品类别
idata uchar gunadd_a,gunadd_b; //--中控地址
idata uchar decimal_a; //LCD1小数点控制 1--显点 髙-->低: n,m,6,4,2,5,3,1 [m=1表示A使用2#打印机;0使用1#打印机]
idata uchar decimal_b; //LCD2小数点控制 1--显点 髙-->低: n,m,6,4,2,5,3,1 [m=1表示A使用2#打印机;0使用1#打印机]
idata uint price_a,price_b; //单价
//---------------------------------------------------------------
//------------------------------------------------------
xdata uchar menu1; //1枪菜单项 0--无 1--v/p
xdata uchar menu2; //2枪菜单项 0--无 1--v/p
xdata uint hang_cnt1; //挂枪检测记数
xdata uint hang_cnt2; //挂枪检测记数
xdata ulong ration_num_a,ration_num_b; //定额设定值--密码等
xdata uint multiple_a,multiple_b; //设定时的倍数
xdata uchar ucCurtime[7]; //日期--时间
xdata ulong invoice_number; //发票编号
xdata uchar rece_num; //接收字节数
xdata uchar rece_buf[160]; //缓冲区
xdata uchar print_format[150]; //打印格式,首及尾
xdata uchar table_buf[106]; //表格
xdata uchar send_buf[23]; //发送缓冲区
xdata uchar send_unm; //发送数据计数
xdata uchar command_a,command_b; //通讯待执行命令
xdata struct gun{
ulong liter; //体积
ulong sale; //金额
ulong ppu; //临时发票编号
ulong pulse; //单次计量脉冲
ulong ration; //卡余额
ulong sum_liter; //总累升
ulong sum_sale; //总累金额
ulong work_liter; //班累升
ulong work_sale; //班累金额
uchar pulse_jsq; //每120个向总累进1
}gun1,gun2;
/***************************END************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -