📄 cmd16887.h
字号:
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
#ifndef ulong
#define ulong unsigned long
#endif
#include <INTRINS.H>
#define GUNJLMODE 1 //1--单油品双枪双计量 2--双油品双枪双计量 3--单计量[1键2枪2阀] 4--单计量2键2枪2阀]
/************************************************************/
#define PCB 1 //0--不带打印机 1--带打印机
#if PCB==0
#define KEY_ADD 0xf700// //读按銉地址
#define TQJLADD 0xef00// //读提枪计量数据地址
#define READRPRINT 0xff00 //读打印机状态地址
#define LCDAADD 0xdf00// //显示板LCDA地址
#define LCDBADD 0xbf00// //显示板LCDB地址
#define PRINTER1ADD 0xf800 //打印机1数据输出地址
#define PRINTER2ADD 0xf900 //打印机,液晶
#define DXD1ADD 0xfe00 //气缸1及蜂鸣器1输出地址
#define DXD2ADD 0xfd00 //气缸2及蜂鸣器1输出地址
#define KEY_DISPADD 0xfB00// //显示按銉屏地址1,2
#else //---打印机型
#define KEY_ADD 0xf800// //读按銉地址
#define TQJLADD 0xf900// //读提枪计量数据地址
#define READPRINT 0xfa00 //读打印机状态地址
#define LCDAADD 0xfb00// //显示板LCDA地址
#define LCDBADD 0xfc00// //显示板LCDB地址
#define PRINTER1ADD 0xef00 //打印机1数据输出地址
#define PRINTER2ADD 0xfd00 //打印机2数据输出地址
#define DXD1ADD 0xf700 //气缸1及蜂鸣器1输出地址
#define DXD2ADD 0xdf00 //气缸2及蜂鸣器1输出地址
#define KEY_DISPADD 0xfe00// //按銉屏地址1,2
#endif
//-------------------------------------
#define PASSSTARTADD 79 //锁机密码首地址
#if GUNJLMODE==1
#define mc2 mc1
sbit dely1=P1^4; //临时时间继电器
#else
sbit mc2=P1^4; //电机2
#endif
/****************************************************************************
* 端口定义
*****************************************************************************/
sbit jsq1=P4^0; //计数器1
sbit jsq2=P4^1; //计数器2
sbit wdt=P1^0; //WDT
sbit sr1=P1^1; //传感器1检测--有无检测
sbit sr2=P1^2; //传感器2检测--有无检测
sbit mc1=P1^3; //电机1
#if PCB==0
sbit SCL=P1^6; //EEPROM
sbit SDA=P1^7; //EEPROM
#else
sbit SCL=P4^3; //EEPROM
sbit SDA=P4^2; //EEPROM
sbit T_CLK=P1^6; /*实时时钟时钟线引脚 ---DSCLK*/
sbit T_IO=P1^7; /*实时时钟数据线引脚 ---DSDA*/
sbit T_RST=P1^5; /*实时时钟复位线引脚---DSCE */
sbit P1STB=P3^4;
sbit P2STB=P3^5;
#endif
/***************************************************************************
*
***************************************************************************/
/*****************************************************************************
*函数原型
*****************************************************************************/
void InitializeSystem(void); //系统初始化
void disp_lcd1(ulong lcddata,uchar lcdadd); //LCDA_DISP
void disp_lcd2(ulong lcddata,uchar lcdadd); //LCDB_DISP
void dcespk_out(void); //气缸及蜂鸣器输出
void disp_dot1(uchar dotdata); //;LCD1小数点
void disp_dot2(uchar dotdata); //;LCD2小数点
void read_key(void); //读按键
void keya_solve(void); //按键处理
void keyb_solve(void); //按键处理
void readbyteseq(uint add,uchar *ptr,uint readlen); //连续读EEPROM
void writebyteseq(uint add,uchar *ptr,uint writelen); //连续写EEPROM
uchar readbyte (uint add);
void writebyte(uint add,uchar wbyte);
void maths_a(void);
void maths_b(void);
void calculate_ration(uchar gunidid); //计算定量脉冲数
void printer(uchar n,uchar sdata[],uchar prnidid); //打印机输出命令及数据
//void print_ipl(void); //打印机初始化
void printer_time(uchar prnidid); //打印加油日期、时间
void print_proof(uchar prnidid); //打印加油票据A/b
void disp_key(void); //显示键盘屏1
void disp_vip_a(void); //显示定量加油数据a
void clr_exitdata_a(void); //功能:取消加油时,按退出键后清原来加油数据
//void disp_printer_state1(void); //显示打印机1状态
void disp_menu_a(void); //显示菜单a
void disp_menu_b(void); //显示菜单b
void disp_ration_ending(void); //计算、显示定量加油结局
void disp_total_a(void); //显示TOTAL数据a
void disp_return_a(void); //查询及菜单返回的显示界面
void disp_updata_lcd(uint addab,uchar *ptr); //显示更新显示数据LCD1/LCD2
void disp_memu1_oil(void); //显示加油菜单项--1#
void disp_eeprom_history(uchar gunid,uchar dypass); //显示枪1/2历史加油记录
void disp_lock_a(void); //显示锁机a
void disp_time(uchar gunidid); //显示时钟a/b
void disp_memu1_set(void); //显示设置菜单项--1#
void disp_velocity_control(uchar gunidid); //显示提前量---流量控制
void disp_close_num(uchar gunidid); //显示提前关机量---关机控制
void disp_lcd_clear(uchar gunidid); //LCD清屏
/*****************************************************************************/
void eeprom_ipl(void); //EEPROM初始化程序
void renew_sysdata(void); //恢复系统参数
void backup_sysdata(void); //系统参数备份
void iap_sys_read(uint add,uchar *pi,uchar amount); //读IAP系统参数
uchar byte_verify(uint add);//IAP字节读
void byte_program(uint add,uchar *ptr);//字节编程
void sector_erase(uint add); //扇区擦除
void trigger_isp(void); //触发ISP
void set_isp_add(uint add); //送地址
void iap_disable(void); //关闭IAP功能
void clear_worka(void); //清除工作面A加油数据
void disp_key_clear_a(void); //键盘小屏清屏a
void disp_key_clear_b(void); //键盘小屏清屏b
void iap_sys_save(uint add,uchar *pi,uchar amount); //功能:保存IAP系统参数
void oil_intmoney(uchar gunidid); //金额取整加油
bit pass_check(uchar gunidid); //检查锁机密码a/b
void RTInputByte(uchar); //* 输入 1Byte */
uchar RTOutputByte(void); //* 输出 1Byte */
void W1302(uchar, uchar);
uchar R1302(uchar);
void Set1302(void); /* 设置时间 */
void Bcd2asc(uchar,uchar *);
void Get1302(void); /* 读取1302当前时间 */
void set_time(uchar number); //调时间日期
///////////////////////////////////////////////////////
void disp_total_b(void); //显示TOTAL数据b
void disp_lock_b(void); //显示锁机b
void disp_memu2_set(void); //显示设置菜单项--2#
void disp_memu2_oil(void); //显示加油菜单项--2#
void disp_return_b(void); //查询及菜单返回的显示界面b
void clr_exitdata_b(void); //取消加油时,按退出键后清原来加油数据
void print2_proof(void); //打印加油票据B
void disp_vip_b(void); //显示定量加油数据b
void clear_workb(void); //清除工作面B加油数据
void printer_time_b(void); //打印加油日期、时间b
void disp_ration_ending_b(void); //计算、显示定量加油结局b
void disp_product(uchar gunidid); //显示选择的油品
void disp_memu2_important(void); //显示特殊菜单项--2#
void disp_memu1_important(void); //显示特殊菜单项--1#
void disp_pass_vital(uchar gunidid); //进入特殊菜单的密码显示
void rece_command(void); //通讯处理
void backup_printer_format(void);
void renew_printer_format(void);
void startup(uint number); //启动步进电机
void setb_rev(uchar number);
void calrev(void);
void disp_rev(void);
/**************END**************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -