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

📄 fm24c04.lst

📁 HT1621液晶控制测试
💻 LST
📖 第 1 页 / 共 2 页
字号:
  35      =1          #define  KEY_DISPADD  0xfe00//    //按銉屏地址1,2
  36      =1  #endif
  37      =1  //-------------------------------------
  38      =1  #define  PASSSTARTADD     79    //锁机密码首地址
  39      =1  #if  GUNJLMODE==1
  40      =1          #define mc2 mc1
  41      =1          sbit  dely1=P1^4;  //临时时间继电器
  42      =1  #else
           =1         sbit  mc2=P1^4;   //电机2
           =1 #endif
  45      =1  /****************************************************************************
  46      =1  *              端口定义
  47      =1  *****************************************************************************/
  48      =1  sbit  jsq1=P4^0;  //计数器1
  49      =1  sbit  jsq2=P4^1;  //计数器2
  50      =1  
  51      =1  sbit  wdt=P1^0;   //WDT
  52      =1  sbit  sr1=P1^1;   //传感器1检测--有无检测
  53      =1  sbit  sr2=P1^2;   //传感器2检测--有无检测
  54      =1  sbit  mc1=P1^3;   //电机1
  55      =1  
  56      =1  
  57      =1  #if PCB==0
           =1         sbit SCL=P1^6;   //EEPROM
           =1         sbit SDA=P1^7;   //EEPROM
           =1 #else
  61      =1          sbit SCL=P4^3;   //EEPROM
  62      =1          sbit SDA=P4^2;   //EEPROM
  63      =1          sbit T_CLK=P1^6;   /*实时时钟时钟线引脚 ---DSCLK*/
  64      =1          sbit T_IO=P1^7;   /*实时时钟数据线引脚 ---DSDA*/
  65      =1          sbit T_RST=P1^5;   /*实时时钟复位线引脚---DSCE */
  66      =1          sbit  P1STB=P3^4;
  67      =1          sbit  P2STB=P3^5;
  68      =1  #endif
  69      =1  /***************************************************************************
  70      =1  *
  71      =1  ***************************************************************************/
  72      =1  
  73      =1  /*****************************************************************************
  74      =1  *函数原型
  75      =1  *****************************************************************************/
  76      =1  void InitializeSystem(void);                                   //系统初始化
  77      =1  
  78      =1  void  disp_lcd1(ulong lcddata,uchar lcdadd);  //LCDA_DISP
  79      =1  void  disp_lcd2(ulong lcddata,uchar lcdadd);   //LCDB_DISP
  80      =1  
  81      =1  void dcespk_out(void);  //气缸及蜂鸣器输出
  82      =1  void  disp_dot1(uchar dotdata);   //;LCD1小数点
  83      =1  void  disp_dot2(uchar dotdata);   //;LCD2小数点
  84      =1  void read_key(void);    //读按键
  85      =1  void keya_solve(void);   //按键处理
  86      =1  void keyb_solve(void);   //按键处理
  87      =1  void readbyteseq(uint add,uchar *ptr,uint readlen);   //连续读EEPROM
  88      =1  void writebyteseq(uint add,uchar *ptr,uint writelen); //连续写EEPROM
  89      =1  uchar readbyte (uint add);
  90      =1  void writebyte(uint add,uchar wbyte);
  91      =1  void  maths_a(void);
  92      =1  void  maths_b(void);
C51 COMPILER V7.00  FM24C04                                                                07/18/2006 09:59:25 PAGE 6   

  93      =1  void  calculate_ration(uchar gunidid);  //计算定量脉冲数
  94      =1  
  95      =1  
  96      =1  void printer(uchar n,uchar sdata[],uchar  prnidid);  //打印机输出命令及数据 
  97      =1  void print_ipl(void);   //打印机初始化
  98      =1  void printer_time(uchar  prnidid);  //打印加油日期、时间
  99      =1  void print_proof(uchar  prnidid);  //打印加油票据A/b
 100      =1  
 101      =1  
 102      =1  void  disp_key(void);  //显示键盘屏1
 103      =1  void disp_vip_a(void);  //显示定量加油数据a
 104      =1  void  clr_exitdata_a(void);  //功能:取消加油时,按退出键后清原来加油数据
 105      =1  //void  disp_printer_state1(void);  //显示打印机1状态
 106      =1  void disp_menu_a(void);  //显示菜单a
 107      =1  void disp_menu_b(void);  //显示菜单b
 108      =1  void  disp_ration_ending(void);   //计算、显示定量加油结局
 109      =1  void disp_total_a(void);  //显示TOTAL数据a
 110      =1  void  disp_return_a(void);  //查询及菜单返回的显示界面
 111      =1  void  disp_updata_lcd(uint addab,uchar *ptr);  //显示更新显示数据LCD1/LCD2
 112      =1  void disp_memu1_oil(void);  //显示加油菜单项--1#
 113      =1  void disp_eeprom_history(uchar gunid,uchar dypass);  //显示枪1/2历史加油记录
 114      =1  void disp_lock_a(void);   //显示锁机a
 115      =1  void disp_time(uchar  gunidid);  //显示时钟a/b
 116      =1  void disp_memu1_set(void);  //显示设置菜单项--1#
 117      =1  void  disp_velocity_control(uchar  gunidid);  //显示提前量---流量控制
 118      =1  void  disp_close_num(uchar  gunidid);  //显示提前关机量---关机控制
 119      =1  void  disp_lcd_clear(uchar  gunidid);   //LCD清屏
 120      =1  /*****************************************************************************/
 121      =1  void eeprom_ipl(void);   //EEPROM初始化程序
 122      =1  void renew_sysdata(void);  //恢复系统参数
 123      =1  void backup_sysdata(void);  //系统参数备份
 124      =1  void iap_sys_read(uint add,uchar *pi,uchar amount);  //读IAP系统参数
 125      =1  uchar byte_verify(uint add);//IAP字节读
 126      =1  void byte_program(uint add,uchar *ptr);//字节编程
 127      =1  void sector_erase(uint add);  //扇区擦除
 128      =1  void trigger_isp(void);  //触发ISP
 129      =1  void set_isp_add(uint add);  //送地址
 130      =1  void iap_disable(void);   //关闭IAP功能
 131      =1  void clear_worka(void);  //清除工作面A加油数据
 132      =1  void disp_key_clear_a(void);  //键盘小屏清屏a
 133      =1  void disp_key_clear_b(void);  //键盘小屏清屏b
 134      =1  
 135      =1  void iap_sys_save(uint add,uchar *pi,uchar amount);  //功能:保存IAP系统参数
 136      =1  void oil_intmoney(uchar gunidid);   //金额取整加油
 137      =1  
 138      =1  bit pass_check(uchar gunidid);   //检查锁机密码a/b
 139      =1  
 140      =1  void   RTInputByte(uchar);      //* 输入 1Byte */
 141      =1  uchar  RTOutputByte(void);      //* 输出 1Byte */
 142      =1  void   W1302(uchar, uchar);
 143      =1  uchar  R1302(uchar);
 144      =1  void   Set1302(void);         /* 设置时间 */
 145      =1  void   Bcd2asc(uchar,uchar *);
 146      =1  void   Get1302(void); /* 读取1302当前时间 */
 147      =1  void  set_time(uchar number);   //调时间日期
 148      =1  
 149      =1  ///////////////////////////////////////////////////////
 150      =1  void disp_total_b(void); //显示TOTAL数据b
 151      =1  void disp_lock_b(void);  //显示锁机b
 152      =1  void disp_memu2_set(void);   //显示设置菜单项--2#
 153      =1  void disp_memu2_oil(void);  //显示加油菜单项--2#
 154      =1  void  disp_return_b(void);   //查询及菜单返回的显示界面b
C51 COMPILER V7.00  FM24C04                                                                07/18/2006 09:59:25 PAGE 7   

 155      =1  void  clr_exitdata_b(void);  //取消加油时,按退出键后清原来加油数据
 156      =1  void print2_proof(void);  //打印加油票据B
 157      =1  void disp_vip_b(void);  //显示定量加油数据b
 158      =1  void clear_workb(void);  //清除工作面B加油数据
 159      =1  void printer_time_b(void);  //打印加油日期、时间b
 160      =1  void  disp_ration_ending_b(void);  //计算、显示定量加油结局b
 161      =1  void  disp_product(uchar  gunidid);  //显示选择的油品
 162      =1  void disp_memu2_important(void);  //显示特殊菜单项--2#
 163      =1  void disp_memu1_important(void);  //显示特殊菜单项--1#
 164      =1  void disp_pass_vital(uchar gunidid);  //进入特殊菜单的密码显示
 165      =1  void  rece_command(void); //通讯处理
 166      =1  void accumulative_total_list_a(void);  //累计转换至列表a
 167      =1  void accumulative_total_list_b(void);  //累计转换至列表b
 168      =1  void backup_printer_format(void);
 169      =1  void renew_printer_format(void);
 170      =1  /**************END**************************************/
 171      =1  
 172      =1  
 173      =1  
 174      =1  
 175      =1  
 176      =1  
 177      =1  
   4          #include<intrins.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  INTRINS.H
   3      =1  
   4      =1  Intrinsic functions for C51.
   5      =1  Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  extern void          _nop_     (void);
  10      =1  extern bit           _testbit_ (bit);
  11      =1  extern unsigned char _cror_    (unsigned char, unsigned char);
  12      =1  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  13      =1  extern unsigned long _lror_    (unsigned long, unsigned char);
  14      =1  extern unsigned char _crol_    (unsigned char, unsigned char);
  15      =1  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  16      =1  extern unsigned long _lrol_    (unsigned long, unsigned char);
  17      =1  extern unsigned char _chkfloat_(float);
   5          #include "externxy.h"
   1      =1  /**********************************************************
   2      =1  *    文件名: variable.h
   3      =1  ***********************************************************/
   4      =1  
   5      =1  extern uchar  code     ver_num[2];   //软件版本号1.0.0.0
   6      =1  extern uchar  code  keynumdata[];
   7      =1  extern uchar code  dotmem[8];   //小数点查表
   8      =1  extern uchar code  dotmode[9];   //5种小数工作模式,只能修改,不能添加。
   9      =1  //**************************************************************
  10      =1  extern bdata uchar bbyte;    //位数组定义,可提髙速度
  11      =1  extern bit a0;
  12      =1  extern bit a1;
  13      =1  extern bit a2;
  14      =1  extern bit a3;
  15      =1  extern bit a4;
  16      =1  extern bit a5;
  17      =1  extern bit a6;
  18      =1  extern bit a7;  //位数组定义,可提髙速度
  19      =1  /*******************************************************/
  20      =1  extern bdata  uchar printstate;   //打印机状态
C51 COMPILER V7.00  FM24C04                                                                07/18/2006 09:59:25 PAGE 8   

  21      =1  extern bit  p1busy;
  22      =1  extern bit  p1pe;
  23      =1  extern bit  p1sel;
  24      =1  extern bit  p1err;
  25      =1  extern bit  p2busy;
  26      =1  extern bit  p2pe;
  27      =1  extern bit  p2sel;
  28      =1  extern bit  p2err;
  29      =1  //**********************************************************
  30      =1  extern bdata  uchar alarm;   //K1SPK,DCFD1,DCFX1,K2SPK,DCFD2,DCFX2,
  31      =1  extern bit k1spk;  //0--鸣;1--不鸣
  32      =1  extern bit DCFD1;
  33      =1  extern bit DCFX1;
  34      =1  extern bit k2spk;
  35      =1  extern bit DCFD2;
  36      =1  extern bit DCFX2;
  37      =1  extern bit  jsq1out;   //计数器1输出
  38      =1  extern bit  jsq2out;   //计数器2输出
  39      =1  //***********************************************************
  40      =1  
  41      =1  extern bdata uchar  cmdmem;   //提枪及计量数据
  42      =1  extern bit  tq1;  //  ;提枪1
  43      =1  extern bit  tq2;  //   ;提枪2
  44      =1  extern bit  k1key;  //   ;锁 0--设置
  45      =1  extern bit  k2key;  //   ;锁
  46      =1  extern bit  cgq1s1;  //   ;传感器11
  47      =1  extern bit  cgq1s2;  //   ;传感器12
  48      =1  extern bit  cgq2s1;  //  ;传感器21
  49      =1  extern bit  cgq2s2;  //   ;传感器22  
  50      =1  //////////////////////////////////////////
  51      =1  extern bit  cgq1s1old;   //传感器11前次检测状态
  52      =1  extern bit  cgq1s2old;   //传感器12前次检测状态
  53      =1  extern bit  cgq2s1old;   //传感器21前次检测状态
  54      =1  extern bit  cgq2s2old;   //传感器22前次检测状态
  55      =1  extern bit   updatea;    //更新显示A工作面计量数据
  56      =1  extern bit   updateb;    //更新显示B工作面计量数据
  57      =1  extern bit  update_worka;     //通知更新a显示,由定时器控制
  58      =1  extern bit  update_workb;     //通知更新b显示,由定时器控制
  59      =1  extern bit   scanfkey;   //通知扫描銉盘
  60      =1  extern bit   dispkeyok;  //通知显示更新key屏
  61      =1  extern bit   spear1_state;    //枪1的状态
  62      =1  extern bit   spear2_state;    //枪2的状态
  63      =1  extern bit   dispprn_a;     //每秒通知显示打印机状态a
  64      =1  
  65      =1  extern bit   ration_a;   //1--a枪为定量加油停机  因定额到通知取整
  66      =1  extern bit   ration_b;   //1--b枪为定量加油停机  因定额到通知取整
  67      =1  extern bit   save_oka;   //通知保存计量数据
  68      =1  
  69      =1  extern bit   ration_mode_a;   //1--a枪为定升加油  0--a枪为定元加油模式
  70      =1  extern bit   ration_mode_b;   //1--b枪为定升加油  0--b枪为定元加油模式
  71      =1  extern bit   vip_mode_a,vip_mode_b;  //历史定量模式
  72      =1  
  73      =1  //extern bit rece_ok;         //正确接收到上位机指令标志
  74      =1  //extern bit rece_add;          //接收到上位机发送的ADD字节标志
  75      =1  extern bit isp_err;    //1--ISP编程错误标志
  76      =1  extern bit IFACK; //record the SDA state to confirn if ACK has happened
  77      =1  extern bit NO_ACK; //1==no ack flag
  78      =1  extern bit BUS_FAULT; //bus fault flag
  79      =1  
  80      =1  extern bit  keyok_a,keyok_b;    //按銉有效
  81      =1  extern bit  setdotok,setdotok_b;   //设置定额数据时有无按下小数标记
  82      =1  //extern bit  saledot;   //1--金额小数点为叁位  0--金额小数点为两位
C51 COMPILER V7.00  FM24C04                                                                07/18/2006 09:59:25 PAGE 9   

  83      =1  extern bit  locknooil_a,locknooil_b;   //1--锁机状态
  84      =1  extern bit  save_ok;     //1--有数据须保存
  85      =1  extern bit  cease_power;  //停电
  86      =1  extern bit  dropt_a,dropt_b;  //1-挂枪标志 用于上电时就则不能开电机
  87      =1  extern bit  messagesave_ok;   //1--上位机已设置参数标志
  88      =1  extern bit  printformat_saveok;  //通知保存打印格式
  89      =1  extern bit  setpas_a,setpas_b;   //设置--高级特殊菜单
  90      =1  /***************************************/
  91      =1  extern idata  uchar  decimal_a;   //LCD1小数点控制  1--显点 髙-->低: n,m,6,4,2,5,3,1   [m=1表示A使用2#打

⌨️ 快捷键说明

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