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

📄 main.lst

📁 HT1621液晶控制测试
💻 LST
📖 第 1 页 / 共 2 页
字号:
   3      =1  #endif
   4      =1  #ifndef uint
   5      =1  #define uint unsigned int
   6      =1  #endif
   7      =1  #ifndef ulong
   8      =1  #define ulong unsigned long
   9      =1  #endif
  10      =1  #include <INTRINS.H>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  INTRINS.H
   3      =2  
   4      =2  Intrinsic functions for C51.
   5      =2  Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  extern void          _nop_     (void);
  10      =2  extern bit           _testbit_ (bit);
  11      =2  extern unsigned char _cror_    (unsigned char, unsigned char);
  12      =2  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  13      =2  extern unsigned long _lror_    (unsigned long, unsigned char);
  14      =2  extern unsigned char _crol_    (unsigned char, unsigned char);
  15      =2  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  16      =2  extern unsigned long _lrol_    (unsigned long, unsigned char);
  17      =2  extern unsigned char _chkfloat_(float);
  11      =1  #define GUNJLMODE  1  //1--单油品双枪双计量  2--双油品双枪双计量  3--单计量[1键2枪2阀] 4--单计量2键2枪2阀]
  12      =1  /************************************************************/
  13      =1  #define PCB  1  //0--不带打印机  1--带打印机
  14      =1  #if PCB==0
           =1         #define  KEY_ADD      0xf700//    //读按銉地址
           =1         #define  TQJLADD      0xef00//    //读提枪计量数据地址
           =1         #define  READRPRINT   0xff00                  //读打印机状态地址
           =1         #define  LCDAADD      0xdf00//    //显示板LCDA地址
           =1         #define  LCDBADD      0xbf00//    //显示板LCDB地址
           =1         #define  PRINTER1ADD  0xf800              //打印机1数据输出地址
           =1         #define  PRINTER2ADD   0xf900             //打印机,液晶
           =1         #define  DXD1ADD      0xfe00    //气缸1及蜂鸣器1输出地址
           =1         #define  DXD2ADD      0xfd00    //气缸2及蜂鸣器1输出地址
           =1         #define  KEY_DISPADD  0xfB00//    //显示按銉屏地址1,2   
           =1 #else   //---打印机型
  26      =1          #define  KEY_ADD      0xf800//    //读按銉地址
  27      =1          #define  TQJLADD      0xf900//    //读提枪计量数据地址
  28      =1          #define  READPRINT    0xfa00  //读打印机状态地址
  29      =1          #define  LCDAADD      0xfb00//    //显示板LCDA地址
  30      =1          #define  LCDBADD      0xfc00//    //显示板LCDB地址
C51 COMPILER V7.00  MAIN                                                                   07/18/2006 09:59:21 PAGE 5   

  31      =1          #define  PRINTER1ADD  0xef00  //打印机1数据输出地址
  32      =1          #define  PRINTER2ADD  0xfd00  //打印机2数据输出地址
  33      =1          #define  DXD1ADD      0xf700    //气缸1及蜂鸣器1输出地址
  34      =1          #define  DXD2ADD      0xdf00    //气缸2及蜂鸣器1输出地址
  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  MAIN                                                                   07/18/2006 09:59:21 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  MAIN                                                                   07/18/2006 09:59:21 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 "variable.h"
   1      =1  /**********************************************************
   2      =1  *    文件名: variable.h
   3      =1  ***********************************************************/
   4      =1  
   5      =1  uchar  code  ver_num[2]={0x01,0x02};   //软件版本号U1.0.0  --只能用BCD码
   6      =1  uchar  code  keynumdata[]={0x7E,0x48,0x3D,0x6D,0x4B,0x67,0x77,0x4C,0x7F,0x6F,0x5F,   // 0--10
   7      =1                                                                          0x73,0x36,0x31,0x79,0x37,0x17,0x5B,0x53,0x32,0x51,0x5E,   //11--21
   8      =1                                                                  0x71,0x1F,0x11,0x33,0x7A,0x01,0x00,0x01,0x02,0x04,0x08,0x00,0x00};   //22--32
   9      =1                            //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','fun
             -ction','Volume','Money'
  10      =1  uchar code  dotmem[8]= {0x0f,0x01,0x0A,0x00,0x0C,0x04,0x02,0x08};   //小数点查表--小数显示函数用
  11      =1  uchar code  dotmode[9]={0x10,0x0e,0x38,0x31,0x02,0x00,0x04,0x20,0x00};   //5种小数工作模式,只能修改,不能

⌨️ 快捷键说明

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