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

📄 rdio.ls1

📁 RC500 MF1 非接触读卡器 开发板 资料
💻 LS1
📖 第 1 页 / 共 3 页
字号:
                     253     ; //                 Close Reader Communication
                     254     ; ///////////////////////////////////////////////////////////////////////////////
                     255     ; void CloseIO(void)
A51 MACRO ASSEMBLER  RDIO                                                                 08/13/2007 15:29:35 PAGE     5

                     256     
----                 257             RSEG  ?PR?CloseIO?RDIO
0000                 258     CloseIO:
                     259                             ; SOURCE LINE # 39
                     260     ; {
                     261                             ; SOURCE LINE # 40
                     262     ;    GpBase = 0xff00;
                     263                             ; SOURCE LINE # 41
0000 900000   F      264             MOV     DPTR,#GpBase
0003 74FF            265             MOV     A,#0FFH
0005 F0              266             MOVX    @DPTR,A
0006 A3              267             INC     DPTR
0007 E4              268             CLR     A
0008 F0              269             MOVX    @DPTR,A
                     270     ;    P2_7 = 1;  // disable the CS for RC500
                     271                             ; SOURCE LINE # 42
0009 D2A7            272             SETB    P2_7
                     273     ; }
                     274                             ; SOURCE LINE # 43
000B 22              275             RET     
                     276     ; END OF CloseIO
                     277     
                     278     ; 
                     279     ; ///////////////////////////////////////////////////////////////////////////////
                     280     ; //          G E N E R I C    W R I T E
                     281     ; ///////////////////////////////////////////////////////////////////////////////
                     282     ; void WriteIO(unsigned char Address, unsigned char data value)
                     283     
----                 284             RSEG  ?PR?_WriteIO?RDIO
0000                 285     _WriteIO:
                     286             USING   0
                     287                             ; SOURCE LINE # 48
                     288     ;---- Variable 'value?241' assigned to Register 'R5' ----
                     289     ;---- Variable 'Address?240' assigned to Register 'R7' ----
                     290     ; {
                     291                             ; SOURCE LINE # 49
                     292     ;     AUXR |=0x02;
                     293                             ; SOURCE LINE # 50
0000 438E02          294             ORL     AUXR,#02H
                     295     ;       WriteRawIO(Address,value); 
                     296                             ; SOURCE LINE # 51
0003 900000   F      297             MOV     DPTR,#GpBase
0006 E0              298             MOVX    A,@DPTR
0007 FC              299             MOV     R4,A
0008 A3              300             INC     DPTR
0009 E0              301             MOVX    A,@DPTR
000A 2F              302             ADD     A,R7
000B F582            303             MOV     DPL,A
000D E4              304             CLR     A
000E 3C              305             ADDC    A,R4
000F F583            306             MOV     DPH,A
0011 ED              307             MOV     A,R5
0012 F0              308             MOVX    @DPTR,A
                     309     ;     AUXR &=0xfd;                                         // write value at the specified 
                     310                             ; SOURCE LINE # 52
0013 538EFD          311             ANL     AUXR,#0FDH
                     312     ;                                               // address
                     313     ; }
                     314                             ; SOURCE LINE # 54
0016 22              315             RET     
                     316     ; END OF _WriteIO
                     317     
                     318     ; 
                     319     ; ///////////////////////////////////////////////////////////////////////////////
                     320     ; //          G E N E R I C    R E A D
                     321     ; ///////////////////////////////////////////////////////////////////////////////
A51 MACRO ASSEMBLER  RDIO                                                                 08/13/2007 15:29:35 PAGE     6

                     322     ; unsigned char ReadIO(unsigned char data Address)
                     323     
----                 324             RSEG  ?PR?_ReadIO?RDIO
0000                 325     _ReadIO:
                     326             USING   0
                     327                             ; SOURCE LINE # 59
                     328     ;---- Variable 'Address?342' assigned to Register 'R7' ----
                     329     ; {
                     330                             ; SOURCE LINE # 60
                     331     ;    static unsigned char c;
                     332     ;    AUXR |=0x02;
                     333                             ; SOURCE LINE # 62
0000 438E02          334             ORL     AUXR,#02H
                     335     ;    c = ReadRawIO(Address);                    // read value at the specified 
                     336                             ; SOURCE LINE # 63
0003 900000   F      337             MOV     DPTR,#GpBase
0006 E0              338             MOVX    A,@DPTR
0007 FC              339             MOV     R4,A
0008 A3              340             INC     DPTR
0009 E0              341             MOVX    A,@DPTR
000A 2F              342             ADD     A,R7
000B F582            343             MOV     DPL,A
000D E4              344             CLR     A
000E 3C              345             ADDC    A,R4
000F F583            346             MOV     DPH,A
0011 E0              347             MOVX    A,@DPTR
0012 900000   F      348             MOV     DPTR,#c?343
0015 F0              349             MOVX    @DPTR,A
                     350     ;    AUXR &=0xfd;                                           // address
                     351                             ; SOURCE LINE # 64
0016 538EFD          352             ANL     AUXR,#0FDH
                     353     ;    return c;
                     354                             ; SOURCE LINE # 65
0019 E0              355             MOVX    A,@DPTR
001A FF              356             MOV     R7,A
                     357     ; }  
                     358                             ; SOURCE LINE # 66
001B                 359     ?C0004:
001B 22              360             RET     
                     361     ; END OF _ReadIO
                     362     
                     363     ; 
                     364     ; #ifndef SEC_NO_MICORE
                     365     ; ///////////////////////////////////////////////////////////////////////////////
                     366     ; //     W R I T E   S E V E R A L   M E M O R Y   L O C A T I O N S 
                     367     ; ///////////////////////////////////////////////////////////////////////////////
                     368     ; void WriteIOBlock(unsigned char *Addr_Data, unsigned short len)
                     369     
----                 370             RSEG  ?PR?_WriteIOBlock?RDIO
0000                 371     _WriteIOBlock:
                     372             USING   0
                     373                             ; SOURCE LINE # 72
0000 900000   F      374             MOV     DPTR,#Addr_Data?444
0003 EB              375             MOV     A,R3
0004 F0              376             MOVX    @DPTR,A
0005 A3              377             INC     DPTR
0006 EA              378             MOV     A,R2
0007 F0              379             MOVX    @DPTR,A
0008 A3              380             INC     DPTR
0009 E9              381             MOV     A,R1
000A F0              382             MOVX    @DPTR,A
000B A3              383             INC     DPTR
000C EC              384             MOV     A,R4
000D F0              385             MOVX    @DPTR,A
000E A3              386             INC     DPTR
000F ED              387             MOV     A,R5
A51 MACRO ASSEMBLER  RDIO                                                                 08/13/2007 15:29:35 PAGE     7

0010 F0              388             MOVX    @DPTR,A
                     389     ; {
                     390                             ; SOURCE LINE # 73
                     391     ;    static unsigned short cnt;
                     392     ; 
                     393     ;    for (cnt = 0; cnt < len; cnt++)
                     394                             ; SOURCE LINE # 76
0011 E4              395             CLR     A
0012 900000   F      396             MOV     DPTR,#cnt?446
0015 F0              397             MOVX    @DPTR,A
0016 A3              398             INC     DPTR
0017 F0              399             MOVX    @DPTR,A
0018                 400     ?C0005:
0018 900000   F      401             MOV     DPTR,#len?445
001B E0              402             MOVX    A,@DPTR
001C FE              403             MOV     R6,A
001D A3              404             INC     DPTR
001E E0              405             MOVX    A,@DPTR
001F FF              406             MOV     R7,A
0020 900000   F      407             MOV     DPTR,#cnt?446
0023 E0              408             MOVX    A,@DPTR
0024 FC              409             MOV     R4,A
0025 A3              410             INC     DPTR
0026 E0              411             MOVX    A,@DPTR
0027 FD              412             MOV     R5,A
0028 C3              413             CLR     C
0029 9F              414             SUBB    A,R7
002A EC              415             MOV     A,R4
002B 9E              416             SUBB    A,R6
002C 5055            417             JNC     ?C0008
                     418     ;    {
                     419                             ; SOURCE LINE # 77
                     420     ;         // write value at the specified address
                     421     ;        WriteRawIO(Addr_Data[cnt*2],Addr_Data[cnt * 2 + 1]); 
                     422                             ; SOURCE LINE # 79
002E ED              423             MOV     A,R5
002F 25E0            424             ADD     A,ACC
0031 FF              425             MOV     R7,A
0032 EC              426             MOV     A,R4
0033 33              427             RLC     A
0034 FE              428             MOV     R6,A
0035 EF              429             MOV     A,R7
0036 2401            430             ADD     A,#01H
0038 FF              431             MOV     R7,A
0039 E4              432             CLR     A
003A 3E              433             ADDC    A,R6
003B FE              434             MOV     R6,A
003C 900000   F      435             MOV     DPTR,#Addr_Data?444
003F E0              436             MOVX    A,@DPTR
0040 FB              437             MOV     R3,A
0041 A3              438             INC     DPTR
0042 E0              439             MOVX    A,@DPTR
0043 FA              440             MOV     R2,A
0044 A3              441             INC     DPTR
0045 E0              442             MOVX    A,@DPTR
0046 F9              443             MOV     R1,A
0047 8F82            444             MOV     DPL,R7
0049 8E83            445             MOV     DPH,R6
004B 120000   F      446             LCALL   ?C?CLDOPTR
004E FD              447             MOV     R5,A
004F 900000   F      448             MOV     DPTR,#cnt?446+01H
0052 E0              449             MOVX    A,@DPTR
0053 25E0            450             ADD     A,ACC
0055 FF              451             MOV     R7,A
0056 900000   F      452             MOV     DPTR,#cnt?446
0059 E0              453             MOVX    A,@DPTR
A51 MACRO ASSEMBLER  RDIO                                                                 08/13/2007 15:29:35 PAGE     8

005A 33              454             RLC     A
005B 8F82            455             MOV     DPL,R7
005D F583            456             MOV     DPH,A
005F 120000   F      457             LCALL   ?C?CLDOPTR
0062 FF              458             MOV     R7,A
0063 900000   F      459             MOV     DPTR,#GpBase
0066 E0              460             MOVX    A,@DPTR
0067 FA              461             MOV     R2,A
0068 A3              462             INC     DPTR
0069 E0              463             MOVX    A,@DPTR
006A 2F              464             ADD     A,R7
006B F582            465             MOV     DPL,A
006D E4              466             CLR     A
006E 3A              467             ADDC    A,R2
006F F583            468             MOV     DPH,A
0071 ED              469             MOV     A,R5
0072 F0              470             MOVX    @DPTR,A
                     471     ;    }
                     472                             ; SOURCE LINE # 80
0073 900000   F      473             MOV     DPTR,#cnt?446+01H
0076 E0              474             MOVX    A,@DPTR
0077 04              475             INC     A
0078 F0              476             MOVX    @DPTR,A
0079 709D            477             JNZ     ?C0005
007B 900000   F      478             MOV     DPTR,#cnt?446
007E E0              479             MOVX    A,@DPTR
007F 04              480             INC     A
0080 F0              481             MOVX    @DPTR,A
0081                 482     ?C0013:
0081 8095            483             SJMP    ?C0005
                     484     ; }
                     485                             ; SOURCE LINE # 81
0083                 486     ?C0008:
0083 22              487             RET     
                     488     ; END OF _WriteIOBlock
                     489     
                     490     ; 
                     491     ; ///////////////////////////////////////////////////////////////////////////////
                     492     ; //     R E A D   S E V E R A L   M E M O R Y   L O C A T I O N S 
                     493     ; ///////////////////////////////////////////////////////////////////////////////
                     494     ; void ReadIOBlock(unsigned char* Addr_Data, unsigned short len)
                     495     
----                 496             RSEG  ?PR?_ReadIOBlock?RDIO
0000                 497     _ReadIOBlock:
                     498             USING   0
                     499                             ; SOURCE LINE # 86
0000 900000   F      500             MOV     DPTR,#len?548
0003 EC              501             MOV     A,R4
0004 F0              502             MOVX    @DPTR,A
0005 A3              503             INC     DPTR
0006 ED              504             MOV     A,R5
0007 F0              505             MOVX    @DPTR,A
                     506     ;---- Variable 'Addr_Data?547' assigned to Register 'R1/R2/R3' ----
                     507     ; {
                     508                             ; SOURCE LINE # 87
                     509     ;    static unsigned short cnt;
                     510     ; 
                     511     ;    for (cnt = 0; cnt < len; cnt)
                     512                             ; SOURCE LINE # 90

⌨️ 快捷键说明

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