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

📄 jfp_fasong.lis

📁 非常适合实用的无线射频芯片NRF905
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0038                   .dbline 98
 0038           ;       return SPDR;
 0038 0FB1              in R16,0xf
 003A                   .dbline -2
 003A           L10:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbsym r cData 16 c
 003C                   .dbend
 003C                   .dbfunc e system_Init _system_Init fV
                        .even
 003C           _system_Init::
 003C                   .dbline -1
 003C                   .dbline 102
 003C           ; }
 003C           ; //---------------------------------系统状态初始化-------------------------------
 003C           ; void system_Init(void)                        //r
 003C           ; {
 003C                   .dbline 104
 003C           ; 
 003C           ;       Hign_nrf905_CSN;                                // Spi  disable
 003C C49A              sbi 0x18,4
 003E                   .dbline 105
 003E           ;       Low_nrf905_SCK;                         // Spi clock line init low
 003E C798              cbi 0x18,7
 0040                   .dbline 106
 0040           ;       Low_nrf905_DR;                          // Init DR for input
 0040 C298              cbi 0x18,2
 0042                   .dbline 107
 0042           ;       Low_nrf905_AM;                          // Init AM for input
 0042 C398              cbi 0x18,3
 0044                   .dbline 108
 0044           ;       Low_nrf905_CD;                          // Init nrf905_CDfor input
 0044 9498              cbi 0x12,4
 0046                   .dbline 109
 0046           ;       Hign_nrf905_PWR;                                // nRF905 power on
 0046 C19A              sbi 0x18,1
 0048                   .dbline 110
 0048           ;       Low_nrf905_TRX_CE;                      // Set nRF905 in standby mode
 0048 9598              cbi 0x12,5
 004A                   .dbline 111
 004A           ;       Low_nrf905_TX_EN ;                      // set radio in Rx mode
 004A C098              cbi 0x18,0
 004C                   .dbline -2
 004C           L14:
 004C                   .dbline 0 ; func end
 004C 0895              ret
 004E                   .dbend
 004E                   .dbfunc e Config905 _Config905 fV
 004E           ;              i -> R20
                        .even
 004E           _Config905::
 004E 0E940000          xcall push_gset1
 0052                   .dbline -1
 0052                   .dbline 115
 0052           ; }
 0052           ; //--------------------------------NRF905寄存器初始化函数------------------------
 0052           ; void Config905(void)
 0052           ; {
 0052                   .dbline 117
 0052           ;       uchar i;
 0052           ;       Low_nrf905_CSN; 
 0052 C498              cbi 0x18,4
 0054                   .dbline 118
 0054           ;       Delay(1);                               // Spi enable for write a spi command
 0054 01E0              ldi R16,1
 0056 10E0              ldi R17,0
 0058 D3DF              xcall _Delay
 005A                   .dbline 120
 005A           ;       //SpiWrite(WC);                         // Write config command写放配置命令
 005A           ;       for (i=0;i<11;i++)                      // Write configration words  写放配置字
 005A 4427              clr R20
 005C 09C0              xjmp L19
 005E           L16:
 005E                   .dbline 121
 005E                   .dbline 122
 005E 80E0              ldi R24,<_RFConf
 0060 90E0              ldi R25,>_RFConf
 0062 E42F              mov R30,R20
 0064 FF27              clr R31
 0066 E80F              add R30,R24
 0068 F91F              adc R31,R25
 006A 0081              ldd R16,z+0
 006C E2DF              xcall _SpiReadSpiWrite
 006E                   .dbline 123
 006E           L17:
 006E                   .dbline 120
 006E 4395              inc R20
 0070           L19:
 0070                   .dbline 120
 0070 4B30              cpi R20,11
 0072 A8F3              brlo L16
 0074                   .dbline 124
 0074           ;       {
 0074           ;        SpiReadSpiWrite(RFConf[i]);
 0074           ;       }
 0074           ;       Hign_nrf905_CSN;                                        // Disable Spi
 0074 C49A              sbi 0x18,4
 0076                   .dbline -2
 0076           L15:
 0076 0E940000          xcall pop_gset1
 007A                   .dbline 0 ; func end
 007A 0895              ret
 007C                   .dbsym r i 20 c
 007C                   .dbend
 007C                   .dbfunc e TxPacket _TxPacket fV
 007C           ;              i -> R20
 007C           ;          TxBUF -> R22,R23
                        .even
 007C           _TxPacket::
 007C 0E940000          xcall push_gset2
 0080 B801              movw R22,R16
 0082                   .dbline -1
 0082                   .dbline 128
 0082           ; }
 0082           ; //--------------------------------NRF905待发数据打包----------------------------
 0082           ; void TxPacket(uchar TxBUF[4])
 0082           ; {
 0082                   .dbline 130
 0082           ;       uchar i;
 0082           ;       Low_nrf905_CSN;                                                         // 使能Spi,允许对nrf905进行读写操作
 0082 C498              cbi 0x18,4
 0084                   .dbline 131
 0084           ;       Delay(1);
 0084 01E0              ldi R16,1
 0086 10E0              ldi R17,0
 0088 BBDF              xcall _Delay
 008A                   .dbline 132
 008A           ;       SpiReadSpiWrite(WTP);                           // 写数据前先写写数据命令
 008A 00E2              ldi R16,32
 008C D2DF              xcall _SpiReadSpiWrite
 008E                   .dbline 133
 008E           ;       for (i=0;i<4;i++)
 008E 4427              clr R20
 0090 07C0              xjmp L24
 0092           L21:
 0092                   .dbline 134
 0092                   .dbline 135
 0092 E42F              mov R30,R20
 0094 FF27              clr R31
 0096 E60F              add R30,R22
 0098 F71F              adc R31,R23
 009A 0081              ldd R16,z+0
 009C CADF              xcall _SpiReadSpiWrite
 009E                   .dbline 136
 009E           L22:
 009E                   .dbline 133
 009E 4395              inc R20
 00A0           L24:
 00A0                   .dbline 133
 00A0 4430              cpi R20,4
 00A2 B8F3              brlo L21
 00A4                   .dbline 137
 00A4           ;       {
 00A4           ;       SpiReadSpiWrite(TxBUF[i]);              // 待发送的32字节数据
 00A4           ;       }                                               
 00A4           ;       Hign_nrf905_CSN;
 00A4 C49A              sbi 0x18,4
 00A6                   .dbline 138
 00A6           ;       Delay(1);                                                       // 关闭Spi,不允许对nrf905进行读写操作
 00A6 01E0              ldi R16,1
 00A8 10E0              ldi R17,0
 00AA AADF              xcall _Delay
 00AC                   .dbline 139
 00AC           ;       Low_nrf905_CSN;                                                         // 使能Spi
 00AC C498              cbi 0x18,4
 00AE                   .dbline 140
 00AE           ;       SpiReadSpiWrite(WTA);                           // 写地址前首先先写地址命令
 00AE 02E2              ldi R16,34
 00B0 C0DF              xcall _SpiReadSpiWrite
 00B2                   .dbline 141
 00B2           ;       for (i=0;i<4;i++)                                       // 写 4 bytes 地址
 00B2 4427              clr R20
 00B4 09C0              xjmp L28
 00B6           L25:
 00B6                   .dbline 142
 00B6                   .dbline 143
 00B6 80E0              ldi R24,<_TxAddress
 00B8 90E0              ldi R25,>_TxAddress
 00BA E42F              mov R30,R20
 00BC FF27              clr R31
 00BE E80F              add R30,R24
 00C0 F91F              adc R31,R25
 00C2 0081              ldd R16,z+0
 00C4 B6DF              xcall _SpiReadSpiWrite
 00C6                   .dbline 144
 00C6           L26:
 00C6                   .dbline 141
 00C6 4395              inc R20
 00C8           L28:
 00C8                   .dbline 141
 00C8 4430              cpi R20,4
 00CA A8F3              brlo L25
 00CC                   .dbline 145
 00CC           ;       {
 00CC           ;       SpiReadSpiWrite(TxAddress[i]);
 00CC           ;       }
 00CC           ;       Hign_nrf905_CSN;                                        // 关闭Spi
 00CC C49A              sbi 0x18,4
 00CE                   .dbline 146
 00CE           ;       Hign_nrf905_TRX_CE;                                     // Set TRX_CE high,start Tx data transmission
 00CE 959A              sbi 0x12,5
 00D0                   .dbline 147
 00D0           ;       Delay(1);                                                       // 等待DR变高
 00D0 01E0              ldi R16,1
 00D2 10E0              ldi R17,0
 00D4 95DF              xcall _Delay
 00D6                   .dbline 148
 00D6           ;       Low_nrf905_TRX_CE;                                                      // 设置TRX_CE=0
 00D6 9598              cbi 0x12,5
 00D8                   .dbline -2
 00D8           L20:
 00D8 0E940000          xcall pop_gset2
 00DC                   .dbline 0 ; func end
 00DC 0895              ret
 00DE                   .dbsym r i 20 c
 00DE                   .dbsym r TxBUF 22 pc
 00DE                   .dbend
 00DE                   .dbfunc e SetTxMode _SetTxMode fV
                        .even
 00DE           _SetTxMode::

⌨️ 快捷键说明

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