亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? m500auc.lst

?? RC500的mifare卡開(kāi)發(fā)備用程序及電路
?? LST
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
C51 COMPILER V6.12  M500AUC                                                                08/23/2008 14:34:32 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE M500AUC
OBJECT MODULE PLACED IN .\M500AuC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\M500AuC.c LARGE WARNINGLEVEL(0) BROWSE INCDIR(D:\UsefulDocument\Mifare\MF
                    - RC500\MFRC500 Demo Reader\RC500\For Test) DEBUG OBJECTEXTEND

stmt level    source

   1          ///////////////////////////////////////////////////////////////////////////////
   2          //    Copyright (c), Philips Semiconductors Gratkorn
   3          //
   4          //                  (C)PHILIPS Electronics N.V.2000
   5          //       All rights are reserved. Reproduction in whole or in part is 
   6          //      prohibited without the written consent of the copyright owner.
   7          //  Philips reserves the right to make changes without notice at any time.
   8          // Philips makes no warranty, expressed, implied or statutory, including but
   9          // not limited to any implied warranty of merchantibility or fitness for any
  10          //particular purpose, or that the use will not infringe any third party patent,
  11          // copyright or trademark. Philips must not be liable for any loss or damage
  12          //                          arising from its use.
  13          ///////////////////////////////////////////////////////////////////////////////
  14          #define DLL_EXPORT      // library source module definition
  15          #include <p89c51rx.h>
  16          #include <Mfreg500.h>
  17          #include <M500A.h>
  18          #include <RdIo.h>
  19          
  20          #include <string.h>
  21          #include <stdio.h>
  22          #include <main.h>
  23          
  24          ////////////////////////////////////////////////////////////////////////////////
  25          //                M O D U L E   D E F I N I T I O N
  26          ////////////////////////////////////////////////////////////////////////////////
  27          // COMMENT: This library module is modified from the original source code for a
  28          //	    microcontroller C164 CI, to suit the general purpose 8051 mcu.
  29          //          The source can be ported to other platforms very easily. 
  30          //          The communication channel to the RC500 reader IC is assumed to be 
  31          //          unknown. All data is written with the generic IO functions 
  32          //          of the module ReaderIO.h. In our case the reader module is 
  33          //          connected via memory mapped io at base address 0x7f00.
  34          //          The interrupt pin of the reader IC is assumed to be connected to 
  35          //          the fast external interrupt pin INT0# (active low) and the reset
  36          //          pin of the reader IC should be connected to a dedicated port pin
  37          //          (Port3: Pin: 3).
  38          //          In this configuration, a reset of the reader module is independend
  39          //          from the reset of the microcontroller.
  40          //          In order to generate communication timeouts, 
  41          //          general purpose timer 2 of the microcontroller is used. This 
  42          //          timer need not to be initialised in advance. Before every usage 
  43          //          the timer is completely initialised in each function. 
  44          //          Non of the timers is essential for the functionality of the reader
  45          //          module, but are helpful furing software development. All protocoll 
  46          //          relevant timing constraints are generated
  47          //          by the internal timer of the reader module.
  48          //
  49          //          Some explanations to the programming method of this library.
  50          //          There are three kind of functions coded in this module.
  51          //            a) internal functions, which have no prototypes in a header
  52          //               file and are not intended to be used outside of this file
  53          //            b) commands, which are intended for the reader module itself
  54          //            c) commands, which are intended for any tag in the rf field.
C51 COMPILER V6.12  M500AUC                                                                08/23/2008 14:34:32 PAGE 2   

  55          //               These commands are send to the reader and the reader module
  56          //               transmitts the data to the rf interface.
  57          //          Commands for the reader and for the tag have the appropriate 
  58          //          prefix (PCD for proximity coupled device or reader module
  59          //                  PICC for proximity integrated circuit card or tag)
  60          //          and their protypes are defined in the header file.
  61          //          Each command for a PICC consists of a PCD command. Therefore
  62          //          the function M500PcdCmd is very important for the understanding
  63          //          of the communication.
  64          //
  65          //          The basic functionality is provided by the interrupt service
  66          //          routine (ISR), which closely works together with the function
  67          //          M500PcdCmd. All kinds of interrupts are serviced by the 
  68          //          same ISR. 
  69          
  70          
  71          // inline structure in order to reset the communication channel between 
  72          // function and ISR
  73          #define ResetInfo(info)    \
  74                      info.cmd            = 0; \
  75                      info.status         = MI_OK;\
  76                      info.irqSource      = 0;   \
  77                      info.nBytesSent     = 0;   \
  78                      info.nBytesToSend   = 0;  \
  79                      info.nBytesReceived = 0;  \
  80                      info.nBitsReceived  = 0;   \
  81                      info.collPos        = 0;
  82          
  83          // struct definition for a communication channel between function and ISR
  84          typedef struct 
  85                   {
  86                      unsigned char  cmd;           //!< command code 
  87                      char           status;        // communication status
  88                      unsigned char  nBytesSent;    // how many bytes already sent
  89                      unsigned char  nBytesToSend;  // how many bytes to send
  90                      unsigned char  nBytesReceived;// how many bytes received
  91                      unsigned short nBitsReceived; // how many bits received
  92                      unsigned char  irqSource;     // which interrupts have occured
  93                      unsigned char  collPos;       // at which position occured a
  94                                                    // collision
  95                   } MfCmdInfo;
  96          
  97          // modul variables 
  98          extern	 unsigned char xdata *GpBase;
  99          
 100          static   unsigned char idata MFIFOLength = DEF_FIFO_LENGTH; // actual FIFO length
 101          
 102          static   unsigned char xdata MKeys[16][12]; // storage for authentication keys
 103                                                // in order to provide a calling 
 104                                                // compatible interface to old libraries
 105                                       // Other reader modules keep several sets
 106                                       // of keys in an E2PROM. In this case,
 107                                       // these keys are stored in the uC and
 108                                       // transfered to the reader module 
 109                                       // before authentication
 110          
 111          // Infomation concerning data processing
 112                   // send buffer for general use
 113          static   volatile unsigned char xdata MSndBuffer[SND_BUF_LEN];
 114                   // receive buffer for general use
 115          static   volatile unsigned char xdata MRcvBuffer[RCV_BUF_LEN];
 116                   // info struct for general use
C51 COMPILER V6.12  M500AUC                                                                08/23/2008 14:34:32 PAGE 3   

 117          static   volatile MfCmdInfo     MInfo;                  
 118          
 119          // Interrupt service routine
 120          // Variable in order to exchange data between function and ISR
 121          static   volatile MfCmdInfo     *MpIsrInfo = 0; 
 122                  // ISR send buffer
 123          static   volatile unsigned char *MpIsrOut  = 0; 
 124                   // ISR receive buffer
 125          static   volatile unsigned char *MpIsrIn   = 0;     
 126          
 127          // storage of the last selected serial number including check byte.
 128          //For multi level serial numbers, only the first 4 bytes are stored.
 129          unsigned char MLastSelectedSnr[5];
 130          
 131          // Timer 2
 132          bit		T2IR	 	= 0;	// Timer2 timeout flag
 133          unsigned int 	CountDown	= 0;	// Timeout counter with 50us resolution
 134          
 135          sbit    RC500RST        	= P3^5;
 136          sbit    LED	        	= P3^4;
 137          
 138          ///////////////////////////////////////////////////////////////////////////////
 139          //             Prototypes for local functions 
 140          ///////////////////////////////////////////////////////////////////////////////
 141          
 142          void start_timeout(unsigned int _50us);
 143          void stop_timeout(void);
 144          
 145          // _____________________________________________________________________________
 146          //
 147          //  FUNCTION: M500PcdSetTmo
 148          //        IN: tmoLength   1  ... 1.0 ms timeout periode
 149          //                        2  ... 1.5 ms timeout periode
 150          //                        3  ... 6.0 ms timeout periode
 151          //        		  4  ... 9.6 ms timeout period
 152          //                        5  ... 38.5 ms timeout period
 153          //                        6  ... 154 ms timeout period
 154          //                        7  ... 616.2 ms timeout period
 155          //       OUT: -
 156          //    RETURN: 
 157          //   COMMENT: Set timeout length of the reader internal timer.
 158          //               
 159          void M500PcdSetTmo(unsigned char tmoLength);
 160          
 161          // _____________________________________________________________________________
 162          //
 163          //  FUNCTION: M500PcdCmd
 164          //        IN: cmd  PCD_IDLE
 165          //                   PCD_WRITEE2
 166          //                   PCD_READE2
 167          //                   PCD_LOADCONFIG
 168          //                   PCD_LOADKEYE2
 169          //                   PCD_AUTHENT1
 170          //                   PCD_CALCCRC
 171          //                   PCD_AUTHENT2
 172          //                   PCD_RECEIVE
 173          //                   PCD_LOADKEY
 174          //                   PCD_TRANSMIT
 175          //                   PCD_TRANSCEIVE
 176          //                   PCD_RESETPHASE
 177          //                   for a detailed description of the parameter values, please
 178          //                   have a look on the header file of the reader register
C51 COMPILER V6.12  M500AUC                                                                08/23/2008 14:34:32 PAGE 4   

 179          //                   definitions.
 180          //            send      byte stream of variable length, which should be send to
 181          //                      the PICC, the length of stream has to be specified
 182          //                      in the info - structure
 183          //       OUT: rcv    byte stream of variable length, which was received 
 184          //                      from the PICC or PCD
 185          //            info      communication and status structure
 186          //    RETURN: 
 187          //   COMMENT: This function provides the central interface to the reader module.
 188          //            Depending on the "cmd"-value, all necessary interrupts are enabled
 189          //            and the communication is started. While the processing is done by
 190          //            the reader module, this function waits for its completion.
 191          //            It's notable, that the data in the "send byte stream" is written 
 192          //            to the FIFO of the reader module by the ISR. Immediate after 
 193          //            enabling the interrupts, the LoAlert interrupt is activated.
 194          //            The ISR writes the data to the FIFO. This function is not involved
 195          //            in writing or fetching data from FIFO, all work is done by the 
 196          //            ISR.After command completion, the error status is evaluated and 
 197          //            returned to the calling function.
 198          //
 199          char M500PcdCmd(unsigned char cmd,
 200                          volatile unsigned char* send, 
 201                          volatile unsigned char* rcv,
 202                          volatile MfCmdInfo *info);
 203          
 204          // _____________________________________________________________________________
 205          //
 206          //  FUNCTION: SetBitMask
 207          //        IN: reg      register address
 208          //            mask     bit mask to set
 209          //       OUT: -
 210          //    RETURN: 
 211          //   COMMENT:  This function performs a read - modify - write sequence
 212          //             on the specified register. All bits with a 1 in the mask
 213          //             are set - all other bits keep their original value.
 214          //
 215          char SetBitMask(unsigned char reg,unsigned char mask);
 216          
 217          // _____________________________________________________________________________
 218          //
 219          //  FUNCTION: ClearBitMask
 220          //        IN: reg      register address
 221          //            mask     bit mask to clear
 222          //       OUT: -
 223          //    RETURN: 
 224          //   COMMENT:  This function performs a read - modify - write sequence
 225          //             on the specified register. All bits with a 1 in the mask
 226          //             are cleared - all other bits keep their original value.
 227          //
 228          char ClearBitMask(unsigned char reg,unsigned char mask);
 229          
 230          // _____________________________________________________________________________
 231          //
 232          //  FUNCTION: FlushFIFO
 233          //        IN: -

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191成人精品久久| 成人性生交大合| 国产成人8x视频一区二区| 成人免费视频一区二区| 91福利小视频| 久久一区二区三区四区| 中文字幕一区二区三| 首页国产欧美日韩丝袜| 国产一区二区在线视频| 日本久久精品电影| 精品福利视频一区二区三区| 自拍偷拍欧美精品| 老司机午夜精品99久久| 99视频在线观看一区三区| 91精品国产综合久久精品性色| 国产亚洲精品资源在线26u| 伊人开心综合网| 精品一区二区综合| 欧洲日韩一区二区三区| 久久久无码精品亚洲日韩按摩| 亚洲一二三区视频在线观看| 国产激情一区二区三区桃花岛亚洲| 色猫猫国产区一区二在线视频| 精品日韩欧美在线| 亚洲国产精品久久不卡毛片 | 色综合网站在线| 欧美va在线播放| 亚洲国产一区在线观看| 国产aⅴ综合色| 欧美一区二区三区在线观看视频| 国产精品久久久久久久久免费相片 | 日韩有码一区二区三区| 成人黄色a**站在线观看| 日韩视频免费观看高清完整版 | 色婷婷综合久久久久中文一区二区| 欧美一区二区高清| 亚洲精品欧美二区三区中文字幕| 国产一区二区调教| 欧美日韩国产美女| 亚洲欧美一区二区视频| 国产精品91xxx| 日韩免费观看高清完整版 | 91精品国产品国语在线不卡| 亚洲欧美一区二区三区久本道91| 国产一区二区三区国产| 欧美精品99久久久**| 亚洲丝袜精品丝袜在线| 国产不卡在线视频| 精品噜噜噜噜久久久久久久久试看 | 国产一区二区三区电影在线观看 | 青青青爽久久午夜综合久久午夜| 91农村精品一区二区在线| 国产色产综合产在线视频| 蜜臀av亚洲一区中文字幕| 欧美亚洲综合色| 亚洲欧美色综合| jlzzjlzz亚洲女人18| 国产亚洲精品中文字幕| 国产一区不卡精品| 精品毛片乱码1区2区3区| 欧美aaa在线| 日韩视频免费直播| 日本女优在线视频一区二区| 666欧美在线视频| 亚洲高清免费观看| 欧美日韩成人一区| 五月婷婷综合在线| 欧美老肥妇做.爰bbww| 亚洲福利一二三区| 欧美日韩精品免费| 日本午夜精品视频在线观看| 欧美美女一区二区在线观看| 亚洲国产三级在线| 欧美日韩精品免费观看视频| 午夜不卡在线视频| 日韩欧美综合在线| 韩国一区二区三区| 久久精品亚洲麻豆av一区二区| 国产大陆精品国产| 国产精品免费看片| 色婷婷久久综合| 亚洲一二三区不卡| 欧美一区二区三区免费视频| 久久精品久久久精品美女| 精品免费国产二区三区| 国产不卡视频在线播放| 亚洲日本一区二区三区| 欧美日韩中字一区| 日本网站在线观看一区二区三区| 精品欧美乱码久久久久久 | 国产精品成人在线观看| 91日韩精品一区| 亚洲h动漫在线| 欧美成人国产一区二区| 国产精品一区免费视频| 亚洲欧洲韩国日本视频| 欧美性生活大片视频| 免费成人在线观看视频| 国产亚洲欧洲一区高清在线观看| av电影在线观看一区| 亚洲一区在线观看免费观看电影高清| 欧美日韩国产影片| 国精品**一区二区三区在线蜜桃 | 91福利在线观看| 奇米影视一区二区三区| 久久久精品tv| 色综合久久99| 美腿丝袜亚洲综合| 国产精品青草久久| 欧美日韩一区二区三区四区五区 | 国产日本欧美一区二区| 91激情五月电影| 久久se精品一区精品二区| 国产欧美一区视频| 欧美人体做爰大胆视频| 国产.欧美.日韩| 午夜精品久久久久久久| 久久精品视频在线免费观看| 欧美综合天天夜夜久久| 精品一区二区在线免费观看| 亚洲精品va在线观看| 欧美成人女星排行榜| 91麻豆精品在线观看| 精品一区二区在线播放| 一区二区三区中文字幕精品精品 | 国产成人午夜精品5599| 亚洲与欧洲av电影| xnxx国产精品| 在线观看欧美日本| 国产精品一区二区三区99| 亚洲专区一二三| 国产欧美日韩另类视频免费观看| 欧美日韩五月天| 国产xxx精品视频大全| 午夜精品一区在线观看| 国产精品国产成人国产三级| 欧美电影免费观看完整版| 色噜噜夜夜夜综合网| 国产精品1024久久| 五月天久久比比资源色| 中文字幕在线观看一区| 欧美α欧美αv大片| 欧美日韩你懂得| voyeur盗摄精品| 国产一区二区成人久久免费影院| 午夜视频久久久久久| 自拍av一区二区三区| 久久久99久久| 日韩美一区二区三区| 欧美在线啊v一区| 99精品视频在线免费观看| 韩国午夜理伦三级不卡影院| 午夜欧美电影在线观看| 亚洲色图视频网站| 国产精品视频一二三| 精品免费国产一区二区三区四区| 欧美情侣在线播放| 欧美少妇一区二区| 日本丶国产丶欧美色综合| 成人教育av在线| 国产精品亚洲专一区二区三区| 美国十次综合导航| 日韩制服丝袜av| 日韩精品一卡二卡三卡四卡无卡| 一区二区三区日韩欧美| 亚洲欧美一区二区久久| 国产精品成人在线观看| 国产精品久久久久影院色老大| 久久蜜桃av一区精品变态类天堂| 欧美刺激脚交jootjob| 欧美久久久久久久久| 欧美日韩成人综合| 欧美日韩激情一区二区三区| 欧美三级电影在线看| 欧美日韩一区二区三区在线 | 亚洲国产中文字幕在线视频综合| 亚洲品质自拍视频| 亚洲天堂网中文字| 中文字幕在线不卡国产视频| 中文天堂在线一区| 亚洲欧洲日韩一区二区三区| 国产精品毛片久久久久久| 国产精品久久久久一区二区三区| 国产精品久久久久影院老司| 中文字幕在线观看不卡视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲国产精品t66y| 亚洲色图.com| 亚洲一级二级三级在线免费观看| 一区二区欧美国产| 亚洲国产日韩在线一区模特| 天天做天天摸天天爽国产一区| 首页国产欧美日韩丝袜| 久久国产生活片100| 国产美女久久久久| 丁香激情综合国产| 一本色道综合亚洲| 欧美精品1区2区3区| 欧美成人免费网站| 国产精品美女一区二区|