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

📄 cmd16887.h

📁 用于测试步进电机
💻 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 + -