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

📄 app.lst

📁 抄水表手持POS代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 176          
 177          bit ReadYPKInc()
 178          {
 179   1      uchar i,j;
C51 COMPILER V6.23a  APP                                                                   01/13/2006 09:40:01 PAGE 4   

 180   1      for(i=0;i<5;i++) {
 181   2         _S232Buf0[CC_ADDRINF]=CC_RYPK;_ComS2320(1);
 182   2         for(j=0;j<5;j++) {
 183   3                  _delay_10ms(11);
 184   3             if(_ComR2320()==CC_RYPK) return OK; 
 185   3                  }
 186   2         }
 187   1      return NOK;
 188   1      }
 189          
 190          bit WriteUCInc(uchar ucsnr[4],uchar opsnr[4],uchar optime[4],uchar opno[4],uint bal)
 191          {
 192   1      uchar i,j;
 193   1      //uchar xdata str[32];
 194   1      for(i=0;i<5;i++) {
 195   2         _S232Buf0[CC_ADDRINF]=CC_WUSERVAL;
 196   2              memcpy(_S232Buf0+CC_ADDRINF+5 ,opsnr  ,4 );
 197   2              memcpy(_S232Buf0+CC_ADDRINF+9 ,optime ,4 );
 198   2              memcpy(_S232Buf0+CC_ADDRINF+13,ucsnr  ,4 );
 199   2              memcpy(_S232Buf0+CC_ADDRINF+17,opno ,4 );
 200   2      //      _S232Buf0[CC_ADDRINF+20]=bal/0x100;
 201   2         _S232Buf0[CC_ADDRINF+5]=(uchar)bal;
 202   2              _S232Buf0[CC_ADDRINF+6]=bal/0x100;
 203   2              _S232Buf0[CC_ADDRINF+7]=0xff-(uchar)bal;
 204   2              _S232Buf0[CC_ADDRINF+8]=0xff-bal/0x100;
 205   2              _S232Buf0[CC_ADDRINF+21]=(uchar)bal;
 206   2              _S232Buf0[CC_ADDRINF+22]=bal/0x100;
 207   2      //      _pRecBuf0=0;
 208   2              _ComS2320(23);
 209   2         for(j=0;j<5;j++) {
 210   3                  _delay_10ms(33);
 211   3      /*               if (_pRecBuf0>0) {sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[0],(uint)_R232Buf0[1
             -],(uint)_R232Buf0[2],(uint)_R232Buf0[3],(uint)_R232Buf0[4],(uint)_R232Buf0[5],(uint)_R232Buf0[6],(uint)_R232Buf0[7]);
 212   3                       _Display(0,0,str,16); 
 213   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[8],(uint)_R232Buf0[9],(uint)_R232Buf0[10
             -],(uint)_R232Buf0[11],(uint)_R232Buf0[12],(uint)_R232Buf0[13],(uint)_R232Buf0[14],(uint)_R232Buf0[5]);
 214   3                       _Display(0,1,str,16);
 215   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[16],(uint)_R232Buf0[17],(uint)_R232Buf0[
             -18],(uint)_R232Buf0[19],(uint)_R232Buf0[20],(uint)_R232Buf0[21],(uint)_R232Buf0[22],(uint)_R232Buf0[23]);
 216   3                       _Display(0,2,str,16);
 217   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[24],(uint)_R232Buf0[25],(uint)_R232Buf0[
             -26],(uint)_R232Buf0[27],(uint)_R232Buf0[28],(uint)_R232Buf0[29],(uint)_R232Buf0[30],(uint)_R232Buf0[31]);
 218   3                       _Display(0,3,str,16);_GetChar();}*/
 219   3             if(_ComR2320()==CC_WUSERVAL)  return OK; 
 220   3                  }
 221   2         }
 222   1      return NOK;
 223   1      }
 224          
 225          bit WriteYPKInc(uchar ucsnr[4],uchar opsnr[4],uchar opno[4],uchar optime[2],uint times)
 226          {
 227   1      uchar i,j;
 228   1      //uchar xdata str[32];
 229   1      for(i=0;i<5;i++) {
 230   2         _S232Buf0[CC_ADDRINF]=CC_WYPKInc;
 231   2              memcpy(_S232Buf0+CC_ADDRINF+1 ,ucsnr  ,4 );
 232   2              memcpy(_S232Buf0+CC_ADDRINF+5 ,opsnr ,4 );
 233   2              memcpy(_S232Buf0+CC_ADDRINF+9,opno  ,4 );
 234   2              memcpy(_S232Buf0+CC_ADDRINF+13,optime ,2 );
 235   2              _S232Buf0[CC_ADDRINF+5]=(uchar)times;
 236   2              _S232Buf0[CC_ADDRINF+6]=times/0x100;
 237   2              _S232Buf0[CC_ADDRINF+7]=0xff-(uchar)times;
C51 COMPILER V6.23a  APP                                                                   01/13/2006 09:40:01 PAGE 5   

 238   2              _S232Buf0[CC_ADDRINF+8]=0xff-times/0x100;
 239   2              _S232Buf0[CC_ADDRINF+15]=(uchar)times;
 240   2              _S232Buf0[CC_ADDRINF+16]=times/0x100;
 241   2      //      _pRecBuf0=0;//memset(_R232Buf0,0,80);
 242   2              _ComS2320(17);
 243   2         for(j=0;j<5;j++) {
 244   3                  _delay_10ms(33);
 245   3                       /*if (_pRecBuf0>0) {sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[0],(uint)_R232Buf0[1
             -],(uint)_R232Buf0[2],(uint)_R232Buf0[3],(uint)_R232Buf0[4],(uint)_R232Buf0[5],(uint)_R232Buf0[6],(uint)_R232Buf0[7]);
 246   3                       _Display(0,0,str,16); 
 247   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[8],(uint)_R232Buf0[9],(uint)_R232Buf0[10
             -],(uint)_R232Buf0[11],(uint)_R232Buf0[12],(uint)_R232Buf0[13],(uint)_R232Buf0[14],(uint)_R232Buf0[5]);
 248   3                       _Display(0,1,str,16);
 249   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[16],(uint)_R232Buf0[17],(uint)_R232Buf0[
             -18],(uint)_R232Buf0[19],(uint)_R232Buf0[20],(uint)_R232Buf0[21],(uint)_R232Buf0[22],(uint)_R232Buf0[23]);
 250   3                       _Display(0,2,str,16);
 251   3                       sprintf(str,"%02x%02x%02x%02x%02x%02x%02x%02x",(uint)_R232Buf0[24],(uint)_R232Buf0[25],(uint)_R232Buf0[
             -26],(uint)_R232Buf0[27],(uint)_R232Buf0[28],(uint)_R232Buf0[29],(uint)_R232Buf0[30],(uint)_R232Buf0[31]);
 252   3                       _Display(0,3,str,16);_GetChar();}*/
 253   3             if(_ComR2320()==CC_WYPKInc)  return OK; 
 254   3                  }
 255   2         }
 256   1      return NOK;
 257   1      }
 258          
 259          bit WriteIncAddIn(uchar snr[4],uchar buf[16])
 260          {
 261   1      uchar i,j;
 262   1      
 263   1      for(i=0;i<5;i++) {
 264   2         _S232Buf0[CC_ADDRINF]=CC_WUserAddin;
 265   2              memcpy(_S232Buf0+CC_ADDRINF+1 ,snr  ,4 );
 266   2              memcpy(_S232Buf0+CC_ADDRINF+5 ,buf ,16 );
 267   2              _ComS2320(21);
 268   2         for(j=0;j<5;j++) {
 269   3                  _delay_10ms(33);
 270   3             if(_ComR2320()==CC_WUserAddin)  return OK; 
 271   3                  }
 272   2         }
 273   1      return NOK;
 274   1      }
 275          
 276          void jrjdms()
 277          {
 278   1      uchar key;
 279   1       _Clr(); _Display(0,1,"节电模式,按任意",16);_Display(0,2,"键进入刷卡状态。",16);
 280   1       while(1){key=_GetKey(111); if(key!=0) break;}
 281   1       return;
 282   1      }
 283          
 284          bit CheckCardNum(uchar *khbuf,uchar *xztime)
 285          {
 286   1       uint i;
 287   1       uint tm1,tm2;
 288   1       for (i=0;i<5;i++)
 289   1       {
 290   2        if(memcmp(khbuf,CardNumBuf+(4-i)*6,4)==0)
 291   2        {
 292   3         tm1=(uint)CardNumBuf[(4-i)*6+4]*60+(uint)CardNumBuf[(4-i)*6+5];
 293   3              tm2=(uint)xztime[0]*60+(uint)xztime[1];
 294   3              if(tm2>tm1+5)return OK;
 295   3              else return NOK;
C51 COMPILER V6.23a  APP                                                                   01/13/2006 09:40:01 PAGE 6   

 296   3        }
 297   2       }
 298   1       return OK;
 299   1      }
 300          
 301          void SaveCardNum(uchar *khbuf,uchar *xztime)
 302          {
 303   1       uint i;
 304   1      
 305   1       for (i=0;i<4;i++) { memcpy(CardNumBuf+i*6,CardNumBuf+i*6+6,6); }
 306   1       memcpy(CardNumBuf+24,khbuf,4);
 307   1       CardNumBuf[28]=xztime[0];
 308   1       CardNumBuf[29]=xztime[1];
 309   1       return ;
 310   1      }
 311          
 312          uchar ValidJH(uchar *tm)//检测CRC
 313          {
 314   1      //uchar xdata crc[2]; //check CRC
 315   1      uchar xdata allff[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
 316   1      //_Calc_crc(CRC16,36,tm,crc);
 317   1      //if((crc[0]!=tm[36])||(crc[1]!=tm[37])) return NOK;
 318   1      if(memcmp(tm,allff,8)==0)return NOK;
 319   1      return OK;
 320   1      }
 321          
 322          void SB_OP()
 323          {
 324   1      uchar xdata buffer[16],buff[JHLENGTH+1],lsz_buf[17],str[32];
 325   1      uchar xdata i,key,ret,page;
 326   1      ulong xdata bh,zs,syzs,syds,beginaddr,j,yhid;
 327   1      int xdata len;
 328   1      uint xdata ts;
 329   1      uchar xdata allff[12]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
 330   1      
 331   1      _Clr();
 332   1      ts=0;
 333   1      while(1)
 334   1      {
 335   2      gos:
 336   2      beginaddr=(uint)ts*JHLENGTH%PAGELENGTH;
 337   2      page=JHPAGE+(uint)ts*JHLENGTH/PAGELENGTH; 
 338   2      for(j=0;j<JHLENGTH;j++) buff[j]=_FlashByteRead(page,beginaddr+j);
 339   2      if(ValidJH(buff)==OK)
 340   2      {
 341   3       bh=(ulong)buff[0]+(ulong)buff[1]*0x100+(ulong)buff[2]*0x10000+(ulong)buff[3]*0x1000000;sprintf(str,"表号:
             -%lu            ",bh);_Display(0,0,str,16);
 342   3       //_Display(0,0,"表号",4);_Display(4,1,buff,12);
 343   3       _Display(0,1,"姓名:           ",16);_Display(4,1,buff+4,8);
 344   3       _Display(0,2,buff+12,16);
 345   3       syzs=(ulong)buff[28]+(ulong)buff[29]*0x100+(ulong)buff[30]*0x10000+(ulong)buff[31]*0x1000000;
 346   3       syds=(ulong)buff[32]+(ulong)buff[33]*0x100+(ulong)buff[34]*0x10000+(ulong)buff[35]*0x1000000;
 347   3       sprintf(str,"%lu/%lu          ",syzs,syds);_Display(0,3,str,16);
 348   3       //bh=(ulong)buff[0]+(ulong)buff[1]*0x100+(ulong)buff[2]*0x10000+(ulong)buff[3]*0x1000000;sprintf(str,"表

⌨️ 快捷键说明

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