📄 app.lst
字号:
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 + -