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

📄 main.lst

📁 RFID模块 RF24E1读卡程序,用Keil C编译成功!
💻 LST
📖 第 1 页 / 共 2 页
字号:
 133            Description:     参数配置
 134                                                  1,接收配置读卡器发送过来的卡号,收发功率,收发速率
 135                                                  2,返回上述参数给配置读卡器
 136            Calls:                void Init(void)
 137                                                  void Init_Receiver(void)
 138                                                  void Receiver(unsigned char *rxbuf)
 139                              void Transmitter(unsigned char *txbuf)
 140            Called By:        void main(void)                      
 141            Input:     
 142            Output:    
 143            Return:    
 144            Others:    
 145          *************************************************/ 
 146          unsigned char Config(void)
 147          {
 148   1              unsigned char s,Rnum,set_card_sign;
 149   1              Init();
 150   1              Init_Receiver(); //接收初始化
 151   1              set_card_sign=0;
 152   1              Rnum=0;
 153   1              do{
 154   2                      Rnum++;
 155   2                #ifdef DEBUG
                          LED3=0;
                        #endif
 158   2                  //Init_Receiver(); //接收初始化
 159   2                      for(s=0;s<RNUM;s++)
 160   2                      {
 161   3                       RxBuf[s]=0;    
 162   3                      } 
 163   2                  Receiver(RxBuf);
 164   2                      //判断是否是设置卡号命令
 165   2                      if((RxBuf[0]==SetCardNo)&&((RxBuf[1]^RxBuf[2]^RxBuf[3]^RxBuf[4]^RxBuf[5]^RxBuf[6])==RxBuf[7]))
 166   2                      {
 167   3                              Rnum=255;
 168   3                              set_card_sign=1;
 169   3                              /*
 170   3                         #ifdef DEBUG
 171   3                               LED3=1;
 172   3                         #endif
 173   3                         */
 174   3                      }       
 175   2                Delayms( Setdelaytime);       //延时1ms
 176   2                /*
 177   2              #ifdef DEBUG
C51 COMPILER V7.02a   MAIN                                                                 01/23/2006 10:15:24 PAGE 4   

 178   2                LED4=0;
 179   2              #endif
 180   2              */
 181   2          }while(Rnum<250);         //连续接受5秒数据
 182   1              /*
 183   1              #ifdef DEBUG
 184   1               LED4=1;
 185   1              #endif
 186   1              */
 187   1      //----------------------------------------------
 188   1          //将接收到的卡号和参数返回给设置读卡器
 189   1      //----------------------------------------------
 190   1              if(set_card_sign)
 191   1              {       TxBuf[0]=TransmitCardNo;
 192   2                  TxBuf[1]=RxBuf[1];
 193   2                      TxBuf[2]=RxBuf[2];
 194   2                      TxBuf[3]=RxBuf[3];
 195   2                      TxBuf[4]=RxBuf[4];
 196   2                  TxBuf[5]=RxBuf[7];
 197   2                      Delayms(5);
 198   2                      Rnum=0;
 199   2                      do{
 200   3                              Rnum++;
 201   3                              Transmitter(&TxBuf[0]);//发送接收到的数据
 202   3                              /*
 203   3                        #ifdef DEBUG
 204   3                              LED3=0;
 205   3                      Delayms(5);  
 206   3                              LED3=1;
 207   3                        #endif
 208   3                        */
 209   3                              Delay100us(RCdelaytime);
 210   3                         }while(Rnum<5);      //连续发送5次数据
 211   2              }
 212   1        return set_card_sign;
 213   1      }
 214          
 215          /*************************************************
 216            Function:        Init
 217            Description:     CPU的初始化
 218                                                  1,I/O口的方向初始化
 219                                                  2,I/O口的输出初始化
 220                                                  3,SPI初始化
 221                                                  3,串口初始化
 222                                                  4,发送接收缓冲区初始化
 223            Calls:           
 224            Called By:        void main(void);                     
 225            Input:     
 226            Output:    
 227            Return:    
 228            Others:    
 229          *************************************************/ 
 230           void Init(void)
 231           {
 232   1      
 233   1      //  Port ini
 234   1      
 235   1          P0_ALT = 0x06;  // Select alternate functions on pins P0.1 and P0.2,  TXD RXD 
 236   1          P0_DIR = 0x09;                  // P0.0, P0.3 is input(S1, S2), the rest output
 237   1          P0 = 0xF0;                      // P0.7-P0.4 = 1 for OFF LED1-LED4    
 238   1          P1_DIR = 0x03;                                      // P0.0, P0.3 is input(S3, S4),
 239   1      
C51 COMPILER V7.02a   MAIN                                                                 01/23/2006 10:15:24 PAGE 5   

 240   1              LED1=1;
 241   1              LED2=1;
 242   1              LED3=1;
 243   1              LED4=1;
 244   1      
 245   1          PWR_UP = 1;                     // Turn on Radio
 246   1          Delay100us(30);                 // Wait > 3ms 
 247   1          SPICLK = 0;                     // Max SPI clock (XTAL/8)
 248   1          SPI_CTRL = 0x02;                // Connect internal SPI controller to Radio
 249   1      
 250   1      //  serial communication ini
 251   1      //*
 252   1          TH1 = 230;      // 9600@16MHz (when T1M=1 and SMOD=1)
 253   1          CKCON |= 0x10;  // T1M=1 (/4 timer clock)
 254   1          PCON = 0x80;    // SMOD=1 (double baud rate)
 255   1          SCON = 0x52;    // Serial mode1, enable receiver
 256   1          TMOD = 0x20;    // Timer1 8bit auto reload 
 257   1          TCON = 0x40;    // Start timer1 
 258   1       }   
 259          
 260          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    450    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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