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

📄 other.lst

📁 RFID模块 RF24E1读卡程序,用Keil C编译成功!
💻 LST
字号:
C51 COMPILER V7.50   OTHER                                                                 03/30/2005 14:24:45 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE OTHER
OBJECT MODULE PLACED IN other.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE other.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "main.h"
   2          
   3          CARDNO CardNo;
   4          
   5          //偶校验函数.
   6           //return:0 a的八位中1的个数位偶数
   7           //       1 a的八位中1的个数位奇数
   8           bit Even_Parity(unsigned char a)
   9           {
  10   1         unsigned char i,j,b;
  11   1         bit Bit_EP;
  12   1         for(i=0,j=0;i<8;i++)
  13   1         {
  14   2           b=a&0x01;
  15   2               if(b==0x01)
  16   2               {
  17   3                 j++;
  18   3                 b=0;
  19   3                }
  20   2               a=a>>1;
  21   2         }
  22   1         if((j&0x01)==0x01)Bit_EP=1;
  23   1         else Bit_EP=0;
  24   1         return(Bit_EP);
  25   1       }
  26          
  27          //奇校验函数.
  28          //return:0 a的16位中1的个数为奇数
  29          //       1 a的16位中1的个数为偶数
  30           bit Odd_Parity(unsigned int a)
  31           {
  32   1         bit Bit_OP;
  33   1         unsigned char i,j;
  34   1         unsigned int b;
  35   1         for(i=0,j=0;i<16;i++)
  36   1         {
  37   2           b=a&0x0001;
  38   2               if(b==0x0001)
  39   2               {
  40   3                 j++;
  41   3                 b=0;
  42   3                }
  43   2               a=a>>1;
  44   2         }
  45   1         if((j&0x01)==0x01)Bit_OP=0;
  46   1         else Bit_OP=1;
  47   1         return(Bit_OP);
  48   1       }
  49          
  50           //wiegand 26输出函数
  51           void Wiegand_Out(void)
  52           {
  53   1              unsigned char i,fc;
  54   1              unsigned int cc;
  55   1              unsigned char cardno[26];
C51 COMPILER V7.50   OTHER                                                                 03/30/2005 14:24:45 PAGE 2   

  56   1              //偶校验位
  57   1              if((Even_Parity(CardNo.FC))==1)cardno[0]=0x01;
  58   1              else cardno[0]=0x00;
  59   1              //奇校验位
  60   1              if((Odd_Parity(CardNo.CC))==1)cardno[25]=0x01;
  61   1              else cardno[25]=0x00;
  62   1              //得到HID号的低8位
  63   1              fc=CardNo.FC;
  64   1              for(i=1;i<9;i++)
  65   1              {
  66   2               cardno[i]=(fc&0x80)>>7;
  67   2               fc=fc<<1;
  68   2               }
  69   1              //得到16位机器号
  70   1              cc=CardNo.CC;
  71   1              for(i=9;i<25;i++)
  72   1              {
  73   2               if((cc&0x8000)==0x8000) cardno[i]=0x01;
  74   2               else cardno[i]=0x00;
  75   2               cc=cc<<1;
  76   2               }
  77   1      
  78   1              for( i=0;i<26;i++)
  79   1              {
  80   2                 if(cardno[i]==0x01)
  81   2                 {
  82   3                      Data1=1;
  83   3      
  84   3                      //脉冲宽度100us
  85   3                      Delay100us(1);
  86   3                      //Delayms(20);
  87   3                      Data1=0;
  88   3                 }
  89   2                 else
  90   2                 {
  91   3                 //脉冲宽度100us
  92   3                      Data0=1;
  93   3                      Delay100us(1);
  94   3                      //Delayms(20);
  95   3                      Data0=0;
  96   3                 }
  97   2                //脉冲间隔1ms
  98   2                      Delay100us(10);
  99   2                //Delayms(50);
 100   2               }
 101   1         for( i=0;i<26;i++)
 102   1         {
 103   2               PutChar(cardno[i]);
 104   2          }
 105   1        }
 106          
 107           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    242    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      27
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
C51 COMPILER V7.50   OTHER                                                                 03/30/2005 14:24:45 PAGE 3   

END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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