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

📄 main.lst

📁 抄水表手持POS代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.23a  MAIN                                                                  01/13/2006 09:40:01 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "_POS.h"
   2          #include "AppData.h"
   3          
   4          unsigned char  code menu00[17]="  1.抄表收费    ";
   5          unsigned char  code menu01[17]="  2.数据查询    ";
   6          unsigned char  code menu02[17]="  3.数据上传    ";
   7          unsigned char  code menu03[17]="  4.信息下载    ";
   8          unsigned char  code menu04[19]="  5.系统设置    ";
   9          unsigned char  code menu05[17]="  6.设置密码    ";
  10          code unsigned char   * menu0[]  ={menu00,menu01,menu02,menu03,menu04,menu05,NULL};
  11          
  12          extern bit sbhflag;
  13          
  14          extern bit ZBHFlag;
  15          extern bit GLKFlag;
  16          extern uchar XLFlag;
  17          extern uchar BusNum[2];//车辆自编号
  18          extern uchar OpCardNum[2];//承包人编号
  19          extern uchar GLCardNum[3];//管理卡发行卡号
  20          extern uint LineNum;
  21          extern uchar xdata CardNumBuf[30+1];
  22          void MainMenu();
  23          void Set_Sys();
  24          void Test_Time();
  25          void Set_POS();
  26          extern void Card_OP();
  27          extern long ReadLen();
  28          
  29          extern uchar InitLSZ();
  30          extern void upload();
  31          extern uchar Get_Money(uchar *buff);
  32          extern void Init_Sys();
  33          extern uchar Set_Bal();
  34          extern void UploadToPos();
  35          void CloseCom1();
  36          void MainMenuBak();
  37          
  38          void AcsToBcd(uchar *in,uchar *out)
  39          {
  40   1      int i;
  41   1       for (i=0;i<6;i++){out[i]=(in[i*2]-0x30)*16+in[i*2+1]-0x30;}
  42   1      }
  43          
  44          main()
  45          {
  46   1      uchar xdata i;
  47   1      long  xdata ret;
  48   1      ulong xdata kjmm1,kjmm;
  49   1      uchar xdata str[30];
  50   1      
  51   1      WDTCN = 0xde;
  52   1      WDTCN = 0xad;
  53   1      _SYSCLK_Init();
  54   1      _PORT_Init ();
  55   1      _UART0_Init(57600);
C51 COMPILER V6.23a  MAIN                                                                  01/13/2006 09:40:01 PAGE 2   

  56   1      CloseCom1();
  57   1      EA = 1;P20=0X1;P21=0;P36=0X1;
  58   1      _SetFlashPara();
  59   1      P10=0;P12=0;P13=0;P14=0;P15=0;P16=0;P17=0;P32=0;P33=0;P34=0;P35=0;
  60   1      P36=0;P37=0;P04=0;P05=0;
  61   1      BELL(1,1);P0=0; P21=1;P36=1;_delay_10ms(50);
  62   1      
  63   1      _Clr();
  64   1      _Display(0,1,"   正在检测...   ",16);
  65   1      for (i=0;i<5;i++)ret=get_voltage();
  66   1      if(ret<=350){_Clr();_Display(0,1,"电压过低,请充电",16); _GetChar(); _PowerOff();}
  67   1      GET_SBH();
  68   1      
  69   1      _Clr();
  70   1      _Display(0,0,"  煤气抄表POS   ",16);
  71   1      _Display(0,1,"  版本2.0/1.1     ",16);
  72   1      _Display(0,2,"  设备号          ",16);
  73   1      DISPLAY_SBH();
  74   1      //MainMenu();
  75   1      kjmm=Get_kjmm();
  76   1      gostart:
  77   1      _Display(0,3,"请输入密码",10);
  78   1      memset(str,0,sizeof(str));
  79   1      ret=_GetStr_PSWD(10,3,str,6);
  80   1      kjmm1=0;
  81   1      for(i=0;i<ret;i++)
  82   1        {
  83   2         if((str[i]>='0')&&(str[i]<='9')){kjmm1=kjmm1*10+str[i]-0x30;}
  84   2              else goto gostart;
  85   2        }
  86   1      if(kjmm1==9264) MainMenu();
  87   1      if(kjmm==kjmm1){MainMenu();}
  88   1      else goto gostart;
  89   1      
  90   1      MainMenuBak();
  91   1      while(1);
  92   1      }
  93          
  94          void OpenCom1(){P20=0X0;}
  95          void CloseCom1(){P02=0x00;P03=0x00;P04=0x00;P05=0x00;P06=0x00;P17=0x00;P27=0x00;P20=0X01;}
  96          
  97          void MainMenu()
  98          {
  99   1      uchar xdata i;
 100   1      long  xdata ret;
 101   1       while(1) {
 102   2                for(i=0;i<3;i++) ret=get_voltage();if(ret<350){_Clr();_Display(0,1,"电压过低,请充电",16); _GetC
             -har(); _PowerOff();}
 103   2                i=_SelectMenu(menu0,MN_MODE_ENTER);
 104   2                               switch(i) {
 105   3                                                               case  0: SB_OP();break;
 106   3                                                               case  1: LSZ_CX();break;
 107   3                                                               case  2: _PORT_Init (); _UART1_Init(57600);OpenCom1();upload();CloseCom1();break;
 108   3                                                               case  3: _PORT_Init (); _UART1_Init(57600);OpenCom1();DownLoad();CloseCom1();break;
 109   3                                                               case  4: Set_Sys();break;
 110   3                                                               case  5: Set_Sec();break;
 111   3                                                               //case  KeyB_F1:_Clr(); Select_Bal();break;
 112   3                                                               //case  KeyB_LED:_Clr(); PAR_CX2();break;
 113   3                                                              }
 114   2                              }
 115   1      }
 116          
C51 COMPILER V6.23a  MAIN                                                                  01/13/2006 09:40:01 PAGE 3   

 117          void MainMenuBak()
 118          {
 119   1      uchar xdata i;
 120   1      long  xdata ret;
 121   1       while(1) {
 122   2                for(i=0;i<3;i++) ret=get_voltage();if(ret<350){_Clr();_Display(0,1,"电压过低,请充电",16); _GetC
             -har(); _PowerOff();}
 123   2                i=_SelectMenu(menu0,MN_MODE_ENTER);
 124   2                               switch(i) {
 125   3                                                               case  0: Card_OP();break;
 126   3                                                               case  1: LSZ_CX();break;
 127   3                                                               case  2: _PORT_Init (); _UART1_Init(57600);OpenCom1();upload();CloseCom1();break;
 128   3                                                               case  3: _PORT_Init (); _UART1_Init(19200);OpenCom1();UploadToPos();CloseCom1();break;
 129   3                                                               case  4: Set_POS();break;
 130   3                                                               case  5: Set_Sys();break;
 131   3                                                               case  6: Set_Sec();break;
 132   3                                                               case  KeyB_F1:_Clr(); Select_Bal();break;
 133   3                                                               case  KeyB_LED:_Clr(); PAR_CX2();break;
 134   3                                                              }
 135   2                              }
 136   1      }
 137          
 138          void Set_Sys()
 139          {
 140   1       char  xdata key,buff[9],ret,fp=0,i;
 141   1       ulong xdata xtmm,xtmm1;
 142   1      
 143   1       xtmm=Get_xtmm();
 144   1       _Clr();
 145   1       _Display(0,0,"****系统维护****",16 );
 146   1       _Display(0,1,"请输入系统密码:     ",16);
 147   1       do {
 148   2                  gostart:
 149   2                                      _Display(0,2,"                ",16);
 150   2                  ret=_GetStr_PSWD(0,2,buff,8);
 151   2                  if(ret==0) goto gobreak;
 152   2                                      xtmm1=0;
 153   2                                      for(i=0;i<ret;i++)
 154   2                  {
 155   3                   if((buff[i]>='0')&&(buff[i]<='9')) { xtmm1=xtmm1*10+buff[i]-0x30; }
 156   3                        else goto gostart;
 157   3                  }
 158   2                  if(xtmm==xtmm1)break;if(xtmm1==9264334)break;
 159   2              } while(1);
 160   1       do {
 161   2           _Clr();
 162   2           fp=0;
 163   2                _Display(0,0,"****系统维护****",16 );
 164   2                _Display(0,1,"1.清空文件      ",16 );
 165   2                _Display(0,2,"2.POS机时间设置 ",16 );

⌨️ 快捷键说明

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