rxd.lst
来自「指纹识别源代码,用于智能门紧,还有配合MF800卡使用」· LST 代码 · 共 915 行 · 第 1/3 页
LST
915 行
288 2 rxd0len+=5; //package length is 5 bytes longer than packagelen
289 2 }
290 2 uart0buff[rxd0counter]=SBUF;
291 2 rxd0counter++;
292 2 if(rxd0counter>=rxd0len)
293 2 {
294 2 rxd0packflag=1;
295 2 rxd0flag=0;
296 2 }
297 2 }
298 2 }*/
299 2 }
300 1 else if(TI) //transmit interrupt
301 1 {
302 2 //TI=0;
C51 COMPILER V7.01 RXD 03/08/2007 12:10:01 PAGE 6
303 2 }
304 1 }
305 /////////////////////////////////////////////////////////////////////////////////
306 void init_rxd()
307 {
308 1 SCON=0X70; //10BIT ASYNCHRONOUS VARIABLE
309 1 SCON1=0X70; //10BIT ASYNCHRONOUS VARIABLE
310 1 //SBUF=0X55;
311 1 }
312 /////////////////////////////////////////////////////////////////////////////////
313 /*void deal_rxd0()
314 {
315
316 if(!rxd0flag)return ;
317 deal_pccomm();
318
319 }*/
320 /////////////////////////////////////////////////////////////////////////////////
321 /*void deal_rxd1()
322 {
323
324 if(!rxd1flag)return;
325 //if(SELFK)deal_key();
326 deal_finger();
327
328 }*/
329 /////////////////////////////////////////////////////////////////////////////////
330 /*void send_byte(unsigned char senddata,unsigned char ch)
331 {
332 if(!ch)
333 {
334 //if(SPTA0)return FALSE;
335 SBUF=senddata;
336 delayTimerl(T38400DELAY);
337 //while(SPTA0);
338 //return TRUE;
339 }
340 else
341 {
342 //if(SPTA1)return FALSE;
343 SBUF1=senddata;
344 while(SPTA1);
345 //return TRUE;
346 }
347 }*/
348 /////////////////////////////////////////////////////////////////////////////////
349 void sendstring1(unsigned short sendcount)
350 {
351 1 unsigned short i;
352 1 set_373(RS485PORT); //070307
353 1 delay50us(); //070307
354 1 for(i=0;i<sendcount;i++)
355 1 {
356 2 SBUF1=uart0buff[i];
357 2 while(!TI_1);
358 2 TI_1=0;
359 2 }
360 1 clr_373(RS485PORT); //070307
361 1
362 1 }
363 /////////////////////////////////////////////////////////////////////////////////
364 void sendstring(unsigned short sendcount)
C51 COMPILER V7.01 RXD 03/08/2007 12:10:01 PAGE 7
365 {
366 1 //unsigned char i,tempchar;
367 1 //for(i=0;i<sendcount;i++)
368 1 //{
369 1 // tempchar=*(pchar+i);
370 1 // send_byte(tempchar,ch);
371 1 //}
372 1
373 1 unsigned short i;//,tempchar;
374 1
375 1 for(i=0;i<sendcount;i++)
376 1 {
377 2 //tempchar=*(pchar+i);
378 2
379 2 SBUF=uart0buff[i];
380 2 while(!TI);
381 2 TI=0;
382 2 //delayTimerl(T38400DELAY);
383 2 //send_byte(tempchar,ch);
384 2 }
385 1 //return TRUE;
386 1 //if(!ch)
387 1 //{
388 1 // if(txdcounter0)return FALSE;
389 1 // txdcounter0=sendcount-1;
390 1 // SBUF=*pchar;
391 1 // return TRUE;
392 1 //}
393 1 //else
394 1 //{
395 1 // if(txdcounter1)return FALSE;
396 1 // txdcounter1=sendcount-1;
397 1 // SBUF1=*pchar;
398 1 // return TRUE;
399 1 //}
400 1 }
401 /////////////////////////////////////////////////////////////////////////////////
402
C51 COMPILER V7.01 RXD 03/08/2007 12:10:01 PAGE 8
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION rxd1 (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
0006 C0D0 PUSH PSW
0008 75D008 MOV PSW,#08H
; SOURCE LINE # 26
; SOURCE LINE # 28
000B 20C003 JB RI_1,$ + 6H
000E 020000 R LJMP ?C0012
; SOURCE LINE # 29
; SOURCE LINE # 30
0011 C2C0 CLR RI_1
; SOURCE LINE # 32
0013 20007A R JB rxd0packflag,?C0012
; SOURCE LINE # 33
; SOURCE LINE # 34
0016 200077 R JB rxd0flag,?C0012
; SOURCE LINE # 35
; SOURCE LINE # 36
0019 200019 R JB rxd1flag,?C0004
; SOURCE LINE # 37
; SOURCE LINE # 38
001C E5C1 MOV A,SBUF1
001E 6468 XRL A,#068H
0020 706E JNZ ?C0012
; SOURCE LINE # 39
; SOURCE LINE # 40
0022 900000 E MOV DPTR,#uart0buff
0025 7468 MOV A,#068H
0027 F0 MOVX @DPTR,A
; SOURCE LINE # 41
0028 D200 R SETB rxd1flag
; SOURCE LINE # 42
002A 750000 R MOV rxd0counter,#00H
002D 750001 R MOV rxd0counter+01H,#01H
; SOURCE LINE # 43
0030 850000 R MOV rxd0timer,timerh
; SOURCE LINE # 44
; SOURCE LINE # 45
0033 805B SJMP ?C0012
0035 ?C0004:
; SOURCE LINE # 47
; SOURCE LINE # 48
0035 E500 R MOV A,rxd0counter+01H
0037 6401 XRL A,#01H
0039 4500 R ORL A,rxd0counter
003B 700C JNZ ?C0007
; SOURCE LINE # 49
; SOURCE LINE # 50
003D AFC1 MOV R7,SBUF1
003F 2F ADD A,R7
0040 F500 R MOV rxd0len+01H,A
0042 E4 CLR A
0043 3401 ADDC A,#01H
0045 F500 R MOV rxd0len,A
; SOURCE LINE # 51
0047 8023 SJMP ?C0008
0049 ?C0007:
C51 COMPILER V7.01 RXD 03/08/2007 12:10:01 PAGE 9
; SOURCE LINE # 52
0049 E500 R MOV A,rxd0counter+01H
004B 6402 XRL A,#02H
004D 4500 R ORL A,rxd0counter
004F 701B JNZ ?C0008
; SOURCE LINE # 53
; SOURCE LINE # 54
0051 F500 R MOV rxd0len,A
; SOURCE LINE # 55
0053 AFC1 MOV R7,SBUF1
0055 EF MOV A,R7
0056 FE MOV R6,A
0057 E4 CLR A
0058 2500 R ADD A,rxd0len+01H
005A F500 R MOV rxd0len+01H,A
005C EE MOV A,R6
005D 3500 R ADDC A,rxd0len
005F F500 R MOV rxd0len,A
; SOURCE LINE # 56
0061 7403 MOV A,#03H
0063 2500 R ADD A,rxd0len+01H
0065 F500 R MOV rxd0len+01H,A
0067 E4 CLR A
0068 3500 R ADDC A,rxd0len
006A F500 R MOV rxd0len,A
; SOURCE LINE # 57
006C ?C0008:
; SOURCE LINE # 58
006C 7400 E MOV A,#LOW uart0buff
006E 2500 R ADD A,rxd0counter+01H
0070 F582 MOV DPL,A
0072 7400 E MOV A,#HIGH uart0buff
0074 3500 R ADDC A,rxd0counter
0076 F583 MOV DPH,A
0078 E5C1 MOV A,SBUF1
007A F0 MOVX @DPTR,A
; SOURCE LINE # 59
007B 0500 R INC rxd0counter+01H
007D E500 R MOV A,rxd0counter+01H
007F 7002 JNZ ?C0049
0081 0500 R INC rxd0counter
0083 ?C0049:
; SOURCE LINE # 60
0083 C3 CLR C
0084 9500 R SUBB A,rxd0len+01H
0086 E500 R MOV A,rxd0counter
0088 9500 R SUBB A,rxd0len
008A 4004 JC ?C0012
; SOURCE LINE # 61
; SOURCE LINE # 62
008C D200 R SETB rxd0packflag
; SOURCE LINE # 63
008E C200 R CLR rxd1flag
; SOURCE LINE # 64
; SOURCE LINE # 65
; SOURCE LINE # 66
; SOURCE LINE # 67
; SOURCE LINE # 68
; SOURCE LINE # 70
; SOURCE LINE # 72
; SOURCE LINE # 73
0090 ?C0012:
C51 COMPILER V7.01 RXD 03/08/2007 12:10:01 PAGE 10
0090 D0D0 POP PSW
0092 D082 POP DPL
0094 D083 POP DPH
0096 D0E0 POP ACC
0098 32 RETI
; FUNCTION rxd1 (END)
; FUNCTION rxd0 (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
0006 C0D0 PUSH PSW
0008 75D008 MOV PSW,#08H
; SOURCE LINE # 75
; SOURCE LINE # 78
000B 209803 JB RI,$ + 6H
000E 020000 R LJMP ?C0013
; SOURCE LINE # 79
; SOURCE LINE # 80
0011 C298 CLR RI
; SOURCE LINE # 82
0013 200038 R JB rxd0flag,?C0014
; SOURCE LINE # 83
; SOURCE LINE # 84
0016 E599 MOV A,SBUF
0018 B48118 CJNE A,#081H,?C0015
; SOURCE LINE # 85
; SOURCE LINE # 86
001B C200 R CLR keypackflag
; SOURCE LINE # 87
001D 900000 E MOV DPTR,#uart0buff
0020 7481 MOV A,#081H
0022 F0 MOVX @DPTR,A
; SOURCE LINE # 88
0023 D200 R SETB rxd0flag
; SOURCE LINE # 89
0025 750000 R MOV rxd0counter,#00H
0028 750001 R MOV rxd0counter+01H,#01H
; SOURCE LINE # 90
002B 850000 R MOV rxd0timer,timerh
; SOURCE LINE # 91
002E C200 R CLR rxd1flag
; SOURCE LINE # 92
0030 020000 R LJMP ?C0035
0033 ?C0015:
; SOURCE LINE # 93
0033 E599 MOV A,SBUF
0035 6486 XRL A,#086H
0037 6003 JZ $ + 5H
0039 020000 R LJMP ?C0035
; SOURCE LINE # 94
; SOURCE LINE # 95
003C D200 R SETB keypackflag
; SOURCE LINE # 96
003E 859900 R MOV rxd0chksum,SBUF
; SOURCE LINE # 97
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?