📄 cid.lst
字号:
308 1 uchar temp1;
309 1 uchar ByteCounter; //数组计数器
310 1 uchar ByteCounter1;
311 1 uchar *PData;
312 1 uchar *PData1;
313 1 ////////////////////初如化变量值
314 1 PData=Read_RF_Data;
315 1 PData1=ID_Data;
316 1 temp=0;
317 1 temp1=0;
318 1 ByteCounter=0;
319 1 ByteCounter1=0;
320 1 /////////////////////循环效验
321 1 WATCHDOG=~WATCHDOG;
322 1 /////////////////////行校验
323 1 for(ByteCounter1=0;ByteCounter1<5;ByteCounter1++)//有5个字节数据
324 1 {
325 2 temp=(((*(PData+ByteCounter))&0x10)>>4)+(((*(PData+ByteCounter))&0x08)>>3)+(((*(PData+ByteCounter))&0x
-04)>>2)+(((*(PData+ByteCounter))&0x02)>>1);
326 2 if((temp&0x01)==((*(PData+ByteCounter))&0x01))//效验高4位
327 2 {
328 3 temp1=(*(PData+ByteCounter)&0xfe)<<3;
329 3 ByteCounter++;
330 3 temp=(((*(PData+ByteCounter))&0x10)>>4)+(((*(PData+ByteCounter))&0x08)>>3)+(((*(PData+ByteCounter))&
-0x04)>>2)+(((*(PData+ByteCounter))&0x02)>>1);
331 3 if((temp&0x01)==((*(PData+ByteCounter))&0x01))//效验高4位
332 3 {
333 4 *(PData1+ByteCounter1)=temp1|((*(PData+ByteCounter)&0xfe)>>1);//高低位生成一个字节存入数组
334 4 ByteCounter++;
335 4 }
336 3 else
337 3 {
338 4 ByteCounter1=5;//只要有一组不对则退出效验
339 4 Clern_Number();//并清所有数据
340 4 }
341 3 }
342 2 else
343 2 {
344 3 ByteCounter1=5;//只要有一组不对则退出效验
345 3 Clern_Number();//并清所有数据
346 3 }
347 2 WATCHDOG=~WATCHDOG;
348 2 }
349 1 /////////////////////列校验
350 1 //......因没有必要所以先省略此处.........//
351 1 /////////////////////生成校验和,并发送出去
352 1 if(ByteCounter==10)
353 1 {
354 2 ID_Data[5]=ID_Data[0]+ID_Data[1]+ID_Data[2]+ID_Data[3]+ID_Data[4];//生成校验和
355 2 if(MSEL==0) //此脚如果为低电位,为异步通信方式发送数据
356 2 {
357 3 CP=0;
358 3 delay0_2ms(1);
359 3 Send_RS232net(ID_Data,6); //调用串口发送函数
360 3 delay0_2ms(1);
361 3 CP=1;
362 3 }
363 2 Clern_Number();
C51 COMPILER V6.10 CID 11/05/2008 12:38:04 PAGE 7
364 2 dida(1);
365 2 GREEN_LED=0x00;
366 2 delay0_2ms(1000);//*****(正确读取一张卡号后要等待约一秒后再重新扫描)*****
367 2 }
368 1 }
369 //************************************************************
370 /*清暂存器*/
371 //************************************************************
372 void Clern_Number(void)
373 {
374 1 WATCHDOG=~WATCHDOG;
375 1 Read_RF_Data[0]=0;
376 1 Read_RF_Data[1]=0;
377 1 Read_RF_Data[2]=0;
378 1 Read_RF_Data[3]=0;
379 1 Read_RF_Data[4]=0;
380 1 Read_RF_Data[5]=0;
381 1 Read_RF_Data[6]=0;
382 1 Read_RF_Data[7]=0;
383 1 Read_RF_Data[8]=0;
384 1 Read_RF_Data[9]=0;
385 1 Read_RF_Data[10]=0;
386 1 ID_Data[0]=0;
387 1 ID_Data[1]=0;
388 1 ID_Data[2]=0;
389 1 ID_Data[3]=0;
390 1 ID_Data[4]=0;
391 1 ID_Data[5]=0;
392 1 }
393 //**********************************************************
394 /*串行口发送,接收程序*/
395 //**********************************************************
396 void Send_RS232net(uchar Data[],uchar Num) //串行口数据发送
397 {
398 1 uchar i=0;
399 1 uchar *PData;
400 1 PData=Data;
401 1 WATCHDOG=~WATCHDOG;
402 1 TH1=0xf3; //串行口波特率2400b/s
403 1 TL1=0xf3;
404 1 TR1=1;
405 1 for(i=0;i<Num;i++)//有Num组号码要发送
406 1 {
407 2 SBUF=*(PData+i);
408 2 while(TI==0);TI=0;//等待数据发送出去
409 2 delay0_2ms(1);//等待后再发送
410 2 }
411 1 TR1=0;
412 1 }
413 //*****************************************************
414 /*延时0.2ms*count*/
415 //*****************************************************
416 void delay0_2ms(uint count)
417 {
418 1 uint k;
419 1 while(count--!=0)
420 1 {
421 2 for(k=0;k<50;k++)
422 2 {
423 3 WATCHDOG=~WATCHDOG;
424 3 }
425 2 }
C51 COMPILER V6.10 CID 11/05/2008 12:38:04 PAGE 8
426 1 }
427 void delay1ms(uint count)
428 {
429 1 uint k;
430 1 while(count--!=0)
431 1 {
432 2 for(k=0;k<250;k++)
433 2 {
434 3 WATCHDOG=~WATCHDOG;
435 3 }
436 2 }
437 1 }
438 //*****************************************************
439 /*鸣叫声*/
440 //*****************************************************
441 void dida(uchar j)
442 {
443 1 uchar i;
444 1 for(i=0;i<j;i++)
445 1 {
446 2 DD=~DD;
447 2 delay1ms(30);
448 2 DD=~DD;
449 2 delay1ms(30);
450 2 }
451 1 }
452 ///////////////////////////////////////////////////////
C51 COMPILER V6.10 CID 11/05/2008 12:38:04 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
C51 COMPILER V6.10 CID 11/05/2008 12:38:04 PAGE 10
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
P17. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
P37. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
P16. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
P36. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
P15. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
P35. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
P14. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
P34. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
P13. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
P33. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
P12. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
P32. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
P11. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
P31. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
P10. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
P30. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
P27. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A7H 1
P07. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0087H 1
P26. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A6H 1
P06. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0086H 1
P25. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A5H 1
P05. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0085H 1
P24. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A4H 1
P04. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0084H 1
P23. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A3H 1
P03. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0083H 1
P22. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
P02. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0082H 1
P21. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
P01. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0081H 1
P20. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
P00. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0080H 1
Read_RF_Data . . . . . . . . . . . . . PUBLIC DATA ARRAY 0000H 11
ID_Data. . . . . . . . . . . . . . . . PUBLIC DATA ARRAY 000BH 6
TIMER_1. . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0011H 2
Check_Data_bit . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
Recive_RF_Data . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
header . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
pc . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
temp . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
temp1. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
temp2. . . . . . . . . . . . . . . . AUTO DATA U_INT 0004H 2
C51 COMPILER V6.10 CID 11/05/2008 12:38:04 PAGE 11
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
ByteCounter. . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
PData. . . . . . . . . . . . . . . . AUTO DATA PTR 0007H 3
BitCounter . . . . . . . . . . . . . AUTO DATA U_CHAR 000AH 1
str. . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
Check_Data . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
temp . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
temp1. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
ByteCounter. . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
ByteCounter1 . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
PData. . . . . . . . . . . . . . . . AUTO DATA PTR 0004H 3
PData1 . . . . . . . . . . . . . . . AUTO DATA PTR 0007H 3
Clern_Number . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_Send_RS232net . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Data . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
Num. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
PData. . . . . . . . . . . . . . . . AUTO DATA PTR 0005H 3
_delay0_2ms. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
count. . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
k. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
_delay1ms. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
count. . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
k. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
_dida. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
Data_start . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1385 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 58 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -