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

📄 spird.ls1

📁 FM1702SL.rar
💻 LS1
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  SPIRD                                                                03/14/2006 11:16:11 PAGE     4

                     191                             ; SOURCE LINE # 47
0019 BC8004          192             CJNE    R4,#080H,?C0004
001C D292            193             SETB    RF_MOSI
001E 8002            194             SJMP    ?C0005
0020                 195     ?C0004:
                     196     ;               else RF_MOSI=0;
                     197                             ; SOURCE LINE # 48
0020 C292            198             CLR     RF_MOSI
0022                 199     ?C0005:
                     200     ;               RF_SCK=1;
                     201                             ; SOURCE LINE # 49
0022 D291            202             SETB    RF_SCK
                     203     ;               SpiAddress=_crol_(SpiAddress,1);
                     204                             ; SOURCE LINE # 50
0024 7801            205             MOV     R0,#01H
0026 EF              206             MOV     A,R7
0027 08              207             INC     R0
0028 8001            208             SJMP    ?C0025
002A                 209     ?C0024:
002A 23              210             RL      A
002B                 211     ?C0025:
002B D8FD            212             DJNZ    R0,?C0024
002D FF              213             MOV     R7,A
                     214     ;               RF_SCK=0;
                     215                             ; SOURCE LINE # 51
002E C291            216             CLR     RF_SCK
                     217     ;       }
                     218                             ; SOURCE LINE # 52
0030 0D              219             INC     R5
0031 BD08E1          220             CJNE    R5,#08H,?C0001
0034                 221     ?C0002:
                     222     ; //Send SpiAddress;
                     223     ; //Receive data
                     224     ; 
                     225     ;               for (k=0;k<8;k++)
                     226                             ; SOURCE LINE # 56
                     227     ;---- Variable 'k?042' assigned to Register 'R5' ----
0034 E4              228             CLR     A
0035 FD              229             MOV     R5,A
0036                 230     ?C0006:
                     231     ;               {
                     232                             ; SOURCE LINE # 57
                     233     ;                       RF_SCK=1;
                     234                             ; SOURCE LINE # 58
0036 D291            235             SETB    RF_SCK
                     236     ;                       CY=RF_MISO;
                     237                             ; SOURCE LINE # 59
0038 A293            238             MOV     C,RF_MISO
                     239     ;                       if (CY) rdata+=1;
                     240                             ; SOURCE LINE # 60
003A 30D701          241             JNB     CY,?C0009
003D 0E              242             INC     R6
003E                 243     ?C0009:
                     244     ;                       rdata=_crol_(rdata,1);
                     245                             ; SOURCE LINE # 61
003E 7801            246             MOV     R0,#01H
0040 AF06            247             MOV     R7,AR6
0042 EF              248             MOV     A,R7
0043 08              249             INC     R0
0044 8001            250             SJMP    ?C0027
0046                 251     ?C0026:
0046 23              252             RL      A
0047                 253     ?C0027:
0047 D8FD            254             DJNZ    R0,?C0026
0049 FE              255             MOV     R6,A
                     256     ;                       RF_SCK=0;
A51 MACRO ASSEMBLER  SPIRD                                                                03/14/2006 11:16:11 PAGE     5

                     257                             ; SOURCE LINE # 62
004A C291            258             CLR     RF_SCK
                     259     ;                       _nop_();
                     260                             ; SOURCE LINE # 63
004C 00              261             NOP     
                     262     ;               }
                     263                             ; SOURCE LINE # 64
004D 0D              264             INC     R5
004E BD08E5          265             CJNE    R5,#08H,?C0006
0051                 266     ?C0007:
                     267     ; 
                     268     ; 
                     269     ;       RF_NSS=1;               
                     270                             ; SOURCE LINE # 67
0051 D294            271             SETB    RF_NSS
                     272     ;       CY=0;
                     273                             ; SOURCE LINE # 68
0053 C2D7            274             CLR     CY
                     275     ;       return(rdata);
                     276                             ; SOURCE LINE # 69
0055 AF06            277             MOV     R7,AR6
                     278     ; }
                     279                             ; SOURCE LINE # 70
0057                 280     ?C0010:
0057 22              281             RET     
                     282     ; END OF _SPIRead
                     283     
                     284     ; /****************************************************************/
                     285     ; /*名称: SPIWrite */
                     286     ; /*功能: 该函数根据给定的地址写入FM1702SL的寄存器*/
                     287     ; /*输入: 寄存器地址<SpiAddress>,要写入的字节数<WriteCount> */
                     288     ; /*输出: N/A*/
                     289     ; /****************************************************************/
                     290     ; void SPIWrite(unsigned char idata SpiAddress,unsigned char idata SpiData)
                     291     
----                 292             RSEG  ?PR?_SPIWrite?SPIRD
0000                 293     _SPIWrite:
                     294             USING   0
                     295                             ; SOURCE LINE # 77
                     296     ;---- Variable 'temp?149' assigned to Register 'R6' ----
                     297     ;---- Variable 'SpiAddress?145' assigned to Register 'R7' ----
                     298     ;---- Variable 'SpiData?146' assigned to Register 'R5' ----
                     299     ; {
                     300                             ; SOURCE LINE # 78
                     301     ;       unsigned char data i,k,temp;
                     302     ; 
                     303     ; //    temp=SpiAddress&0xc0;
                     304     ; //    if (temp!=0)
                     305     ; //    {
                     306     ; //            CY=1;
                     307     ; //            return;
                     308     ; //    }
                     309     ;       SpiAddress=_crol_(SpiAddress,1);
                     310                             ; SOURCE LINE # 87
0000 7801            311             MOV     R0,#01H
0002 EF              312             MOV     A,R7
0003 08              313             INC     R0
0004 8001            314             SJMP    ?C0029
0006                 315     ?C0028:
0006 23              316             RL      A
0007                 317     ?C0029:
0007 D8FD            318             DJNZ    R0,?C0028
0009 FF              319             MOV     R7,A
                     320     ;       SpiAddress=SpiAddress &0x7e;
                     321                             ; SOURCE LINE # 88
000A 53077E          322             ANL     AR7,#07EH
A51 MACRO ASSEMBLER  SPIRD                                                                03/14/2006 11:16:11 PAGE     6

                     323     ;       RF_SCK=0;
                     324                             ; SOURCE LINE # 89
000D C291            325             CLR     RF_SCK
                     326     ;       RF_NSS=0; 
                     327                             ; SOURCE LINE # 90
000F C294            328             CLR     RF_NSS
                     329     ; 
                     330     ; //Send SpiAddress
                     331     ;       for (i=0;i<8;i++)
                     332                             ; SOURCE LINE # 93
                     333     ;---- Variable 'i?147' assigned to Register 'R4' ----
0011 E4              334             CLR     A
0012 FC              335             MOV     R4,A
0013                 336     ?C0011:
                     337     ;       {
                     338                             ; SOURCE LINE # 94
                     339     ;               temp=SpiAddress&0x80;
                     340                             ; SOURCE LINE # 95
0013 EF              341             MOV     A,R7
0014 5480            342             ANL     A,#080H
0016 FE              343             MOV     R6,A
                     344     ;               if (temp==0x80) RF_MOSI=1;
                     345                             ; SOURCE LINE # 96
0017 BE8004          346             CJNE    R6,#080H,?C0014
001A D292            347             SETB    RF_MOSI
001C 8002            348             SJMP    ?C0015
001E                 349     ?C0014:
                     350     ;               else RF_MOSI=0;
                     351                             ; SOURCE LINE # 97
001E C292            352             CLR     RF_MOSI
0020                 353     ?C0015:
                     354     ;               RF_SCK=1;
                     355                             ; SOURCE LINE # 98
0020 D291            356             SETB    RF_SCK
                     357     ;               SpiAddress=_crol_(SpiAddress,1);
                     358                             ; SOURCE LINE # 99
0022 7801            359             MOV     R0,#01H
0024 EF              360             MOV     A,R7
0025 08              361             INC     R0
0026 8001            362             SJMP    ?C0031
0028                 363     ?C0030:
0028 23              364             RL      A
0029                 365     ?C0031:
0029 D8FD            366             DJNZ    R0,?C0030
002B FF              367             MOV     R7,A
                     368     ;               RF_SCK=0;
                     369                             ; SOURCE LINE # 100
002C C291            370             CLR     RF_SCK
                     371     ;       }
                     372                             ; SOURCE LINE # 101
002E 0C              373             INC     R4
002F BC08E1          374             CJNE    R4,#08H,?C0011
0032                 375     ?C0012:
                     376     ; //Send SpiAddress
                     377     ; //    Send data;
                     378     ; 
                     379     ;               for(k=0;k<8;k++)
                     380                             ; SOURCE LINE # 105
                     381     ;---- Variable 'k?148' assigned to Register 'R4' ----
0032 E4              382             CLR     A
0033 FC              383             MOV     R4,A
0034                 384     ?C0016:
                     385     ;               {
                     386                             ; SOURCE LINE # 106
                     387     ;                       temp=SpiData&0x80;

⌨️ 快捷键说明

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