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

📄 demo.lst

📁 我自己写的RFID读写程序(U2270)供大家参考
💻 LST
字号:
C51 COMPILER V7.50   DEMO                                                                  04/04/2005 11:43:52 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          //#include <string.h>
   3          //#include <stdio.h>
   4          
   5          #define uchar unsigned char
   6          
   7          #define EMBIT P1^1
   8          
   9          uchar OLDEM=0;
  10          
  11          //u2270b 读卡模块,利用T0解码
  12          
  13                  SCON |= 0xc0;  //开启帧错误位。UART设置为9位。
*** ERROR C129 IN LINE 13 OF DEMO.C: missing ';' before '|='
  14                  TCON |= 0x00;  
  15                  PCON &= 0x7f; 
  16                  TMOD |= 0x11;  //定义T0工作模式定时器0作为双8位定时计数         器。
  17                                         //TL0为8位定时/计数器通过标准定时器0控制位控制。
  18                                         //TH0仅作为8位定时器,由定时器1控制位控制,此模式下定时/计数器1关闭。
  19          
  20          bit bitchange(void)//检查数据
  21              {
  22                uchar outtime;
  23                bit bitc;
  24                bitc=1;
  25                outtime=200;
  26          bitchlp1:      
  27                if (((EMBIT==OLDEM) && (outtime!=0))==1)
  28                 {
  29                   outtime--;
  30                   rst_wdog();
  31                   goto bitchlp1;
  32                 }
  33                if (outtime==0)
  34                 {
  35                  bitc=0;
  36                 }
  37                OLDEM=EMBIT;
  38                return bitc;
  39              }
  40          
  41          bit findlongpluse(void)
  42              {
  43                bit retbit;
  44                retbit=1;
  45                OLDEM=EMBIT;
  46                TH0=0;
  47                TL0=0;
  48                TR0=0;
  49                if (bitchange()==0)
  50                 {
  51                   goto errfindlong;
  52                 }
  53                TR0=1;
  54          findllp1:
C51 COMPILER V7.50   DEMO                                                                  04/04/2005 11:43:52 PAGE 2   

  55                if (bitchange()==0)
  56                 {
  57                   goto errfindlong;
  58                 }
  59                TR0=0;
  60                if (TH0>2)
  61                 {
  62                   goto errfindlong;
  63                 }
  64                if (TH0==2)
  65                 {
  66                   goto findllp2;
  67                 }
  68                if ((TH0==1) && (TL0>98)) 
  69                 {
  70                   goto findllp2;
  71                 }
  72                if ((TH0==0) && (TL0<100))
  73                 {
  74                   goto errfindlong;
  75                 }
  76                TH0=0;
  77                TL0=0;
  78                TR0=1;
  79                goto findllp1;
  80          errfindlong:retbit=0;
  81          findllp2:   return retbit;
  82              }
  83          
  84          bit readbit(void)
  85             {
  86               bit retbit;
  87               retbit=1;
  88               TH0=0;
  89               TL0=0;
  90               TR0=1;
  91               if (bitchange()==0)
  92                {
  93                  goto errreadbit;
  94                }
  95               TR0=0;
  96               if (TH0>2)
  97                {
  98                 goto errreadbit;
  99                }
 100               if ((TH0==0) && (TL0<100))
 101                {
 102                  goto errreadbit;
 103                }
 104               if (TH0==2)
 105                {
 106                 goto okreadbit;
 107                }
 108               if ((TH0==1) && (TL0>35))
 109                {
 110                  goto okreadbit;
 111                }
 112               TH0=0;
 113               TL0=0;
 114               TR0=1;
 115               if (bitchange()==0)
 116                {
C51 COMPILER V7.50   DEMO                                                                  04/04/2005 11:43:52 PAGE 3   

 117                  goto errreadbit;
 118                }
 119               TR0=0;
 120               if (TH0>1)
 121                {
 122                 goto errreadbit;
 123                }
 124               if ((TH0==0) && (TL0<100))
 125                {
 126                 goto errreadbit;
 127                }
 128               if ((TH0==1) && (TL0>35))
 129                {
 130                 goto errreadbit;
 131                }
 132               goto okreadbit;
 133          errreadbit:retbit=0;
 134          okreadbit:return retbit;
 135             }
 136          
 137          bit findbegin(void)
 138              {
 139               bit retbit;
 140               uchar tempdata;
 141               uint fk;
 142               fk=1000;
 143               retbit=1;
 144               tempdata=0;
 145               if (findlongpluse()==0)
 146                {
 147                  goto errfindbegin;
 148                }
 149          findbelp1:
 150               if (readbit()==0)
 151                {
 152                 goto errfindbegin;
 153                }
 154               if (OLDEM==0)
 155                {
 156                 if (tempdata==0xff)
 157                  {
 158                   goto okfindbegin;
 159                  }
 160                 tempdata=tempdata<<1;
 161                 tempdata=tempdata | 1;
 162                }
 163               else
 164                {
 165                 tempdata=tempdata<<1;
 166                }
 167               fk--;
 168               if (fk==0)
 169                {
 170                 goto errfindbegin;
 171                }
 172               goto findbelp1;
 173          errfindbegin: retbit=0;
 174          okfindbegin:return retbit;
 175              }
 176          
 177          bit rdemdata(void)
 178              {
C51 COMPILER V7.50   DEMO                                                                  04/04/2005 11:43:52 PAGE 4   

 179                bit retbit;
 180                uchar i;
 181                uchar j;
 182                uchar parity;
 183                uchar emcheck;
 184                emcheck=0;
 185                retbit=1;
 186                if (findbegin()==0)
 187                 {
 188                  goto errrdem;
 189                 }
 190                for (j=0;j<=4;j++)
 191                 {
 192                  parity=0;
 193                  for (i=1;i<=4;i++)
 194                   {
 195                    if (readbit()==0)
 196                     {
 197                      goto errrdem;
 198                     }
 199                    emdata[j]=emdata[j]<<1;
 200                    if (OLDEM==0)
 201                     {
 202                       emdata[j]=emdata[j] | 1;
 203                       parity++;
 204                     }
 205                   }
 206                  if (readbit()==0)
 207                   {
 208                    goto errrdem;
 209                   }
 210                  if (OLDEM==0)
 211                   {
 212                     parity++;
 213                   }
 214                  if ((parity & 1)==1)
 215                   {
 216                     goto errrdem;
 217                   }
 218                  parity=0;
 219                 
 220                 for (i=1;i<=4;i++)
 221                   {
 222                     if (readbit()==0)
 223                      {
 224                       goto errrdem;
 225                      }
 226                     emdata[j]=emdata[j]<<1;
 227                     if (OLDEM==0)
 228                      {
 229                       emdata[j]=emdata[j] | 1;
 230                       parity++;
 231                      }
 232                    }
 233                  if (readbit()==0)
 234                   {
 235                        goto errrdem;
 236                   }
 237                  if (OLDEM==0)
 238                   {
 239                        parity++;
 240                   }
C51 COMPILER V7.50   DEMO                                                                  04/04/2005 11:43:52 PAGE 5   

 241                  if ((parity&1)==1)
 242                      {
 243                        goto errrdem;
 244                      }
 245                  }
 246                  for (i=1;i<=5;i++)
 247                   {
 248                    if (readbit()==0)
 249                     {
 250                       goto errrdem;
 251                     }
 252                    emcheck=emcheck<<1;
 253                    if (OLDEM==0)
 254                     {
 255                       emcheck=emcheck | 1;
 256                     }
 257                   }
 258                  if ((emcheck&1)==1)
 259                   {
 260                     goto errrdem;
 261                   }
 262                  emcheck=emcheck<<3;
 263                  for (j=0;j<=3;j++)
 264                   {
 265                    parity=0;
 266                    for (i=0;i<=4;i++)
 267                     {
 268                       if (((emdata[i]<<j) & 0x80)==0x80)
 269                        {
 270                          parity++;
 271                        }
 272                       if (((emdata[i]<<j) & 0x8)==0x8)
 273                        {
 274                         parity++;
 275                        }
 276                     }
 277                    if (((emcheck<<j) & 0x80)==0x80)
 278                     {
 279                       parity++;
 280                     }
 281                    if ((parity%2)==1)
 282                     {
 283                      goto errrdem;
 284                     }
 285                   }
 286                  goto okrdemdata;
 287          errrdem:retbit=0;
 288          okrdemdata:return retbit;
 289              }
 290          
 291          
 292          

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

⌨️ 快捷键说明

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