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

📄 nrf905.lis

📁 嵌入式单片机控制温度传感的无线收发方案!
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00CA           ;   { 
 00CA           ;    Rx_Buf[i]=nrf905_SpiRW(0);//read from nrf905
 00CA           ;   }
 00CA           ;   SET(PORTB,CSN);  
 00CA C29A              sbi 0x18,2
 00CC                   .dbline -2
 00CC                   .dbline 222
 00CC           ; 
 00CC           ; }
 00CC           L18:
 00CC 00D0              rcall pop_gset1
 00CE                   .dbline 0 ; func end
 00CE 0895              ret
 00D0                   .dbsym r i 20 c
 00D0                   .dbend
 00D0                   .dbfunc e nrf905_SetTxAddr _nrf905_SetTxAddr fV
                        .even
 00D0           _nrf905_SetTxAddr::
 00D0                   .dbline -1
 00D0                   .dbline 227
 00D0           ; 
 00D0           ; 
 00D0           ; //写Tx地址
 00D0           ; void nrf905_SetTxAddr(void)
 00D0           ; {
 00D0                   .dbline 228
 00D0           ;   CLR(PORTB,CSN);                   
 00D0 C298              cbi 0x18,2
 00D2                   .dbline 229
 00D2           ;   nrf905_SpiRW(WTA);  //写Tx地址  
 00D2 02E2              ldi R16,34
 00D4 CBDF              rcall _nrf905_SpiRW
 00D6                   .dbline 230
 00D6           ;   nrf905_SpiRW(TX_ADDRESS_0);
 00D6 01E1              ldi R16,17
 00D8 C9DF              rcall _nrf905_SpiRW
 00DA                   .dbline 231
 00DA           ;   nrf905_SpiRW(TX_ADDRESS_1);
 00DA 01E1              ldi R16,17
 00DC C7DF              rcall _nrf905_SpiRW
 00DE                   .dbline 232
 00DE           ;   nrf905_SpiRW(TX_ADDRESS_2);
 00DE 01E1              ldi R16,17
 00E0 C5DF              rcall _nrf905_SpiRW
 00E2                   .dbline 233
 00E2           ;   nrf905_SpiRW(TX_ADDRESS_3);
 00E2 01E1              ldi R16,17
 00E4 C3DF              rcall _nrf905_SpiRW
 00E6                   .dbline 234
 00E6           ;   SET(PORTB,CSN);  
 00E6 C29A              sbi 0x18,2
 00E8                   .dbline -2
 00E8                   .dbline 235
 00E8           ; }
 00E8           L23:
 00E8                   .dbline 0 ; func end
 00E8 0895              ret
 00EA                   .dbend
 00EA                   .dbfunc e nrf905_SetData _nrf905_SetData fV
 00EA           ;              i -> R20
                        .even
 00EA           _nrf905_SetData::
 00EA 00D0              rcall push_gset1
 00EC                   .dbline -1
 00EC                   .dbline 239
 00EC           ; 
 00EC           ; //写Tx数据
 00EC           ; void nrf905_SetData(void)
 00EC           ; {uchar i;
 00EC                   .dbline 241
 00EC           ;   
 00EC           ;   CLR(PORTB,CSN);                   
 00EC C298              cbi 0x18,2
 00EE                   .dbline 242
 00EE           ;   nrf905_SpiRW(WTP);  //写TxPayload 
 00EE 00E2              ldi R16,32
 00F0 BDDF              rcall _nrf905_SpiRW
 00F2                   .dbline 243
 00F2           ;   for (i=0;i<SIZE;i++)
 00F2 4427              clr R20
 00F4 09C0              rjmp L28
 00F6           L25:
 00F6                   .dbline 244
 00F6                   .dbline 245
 00F6 80E0              ldi R24,<_Tx_Buf
 00F8 90E0              ldi R25,>_Tx_Buf
 00FA E42F              mov R30,R20
 00FC FF27              clr R31
 00FE E80F              add R30,R24
 0100 F91F              adc R31,R25
 0102 0081              ldd R16,z+0
 0104 B3DF              rcall _nrf905_SpiRW
 0106                   .dbline 246
 0106           L26:
 0106                   .dbline 243
 0106 4395              inc R20
 0108           L28:
 0108                   .dbline 243
 0108 4032              cpi R20,32
 010A A8F3              brlo L25
 010C                   .dbline 248
 010C           ;   { 
 010C           ;     nrf905_SpiRW(Tx_Buf[i]);
 010C           ;   }
 010C           ;   
 010C           ;   SET(PORTB,CSN);  
 010C C29A              sbi 0x18,2
 010E                   .dbline -2
 010E                   .dbline 250
 010E           ;  
 010E           ; }
 010E           L24:
 010E 00D0              rcall pop_gset1
 0110                   .dbline 0 ; func end
 0110 0895              ret
 0112                   .dbsym r i 20 c
 0112                   .dbend
 0112                   .dbfunc e nrf905_WaitSended _nrf905_WaitSended fV
                        .even
 0112           _nrf905_WaitSended::
 0112                   .dbline -1
 0112                   .dbline 254
 0112           ; 
 0112           ; //等待发送结束
 0112           ; void nrf905_WaitSended(void)
 0112           ; {
 0112           L30:
 0112                   .dbline 255
 0112           L31:
 0112                   .dbline 255
 0112           ;    while ((PIND&(1<<DR))==0);
 0112 829B              sbis 0x10,2
 0114 FECF              rjmp L30
 0116                   .dbline -2
 0116                   .dbline 256
 0116           ; }
 0116           L29:
 0116                   .dbline 0 ; func end
 0116 0895              ret
 0118                   .dbend
 0118                   .dbfunc e nrf905_SendData _nrf905_SendData fV
                        .even
 0118           _nrf905_SendData::
 0118                   .dbline -1
 0118                   .dbline 260
 0118           ; 
 0118           ; //发送TxBuf中的数据
 0118           ; void nrf905_SendData(void)
 0118           ; {
 0118                   .dbline 261
 0118           ;    nrf905_TxOn();//切换到发送模式
 0118 B7DF              rcall _nrf905_TxOn
 011A                   .dbline 262
 011A           ;    delay_10ms(2);
 011A 02E0              ldi R16,2
 011C 10E0              ldi R17,0
 011E 00D0              rcall _delay_10ms
 0120                   .dbline 263
 0120           ;    nrf905_SetTxAddr();//写发送地址WTA
 0120 D7DF              rcall _nrf905_SetTxAddr
 0122                   .dbline 264
 0122           ;    nrf905_SetData();//写数据WTP
 0122 E3DF              rcall _nrf905_SetData
 0124                   .dbline 265
 0124           ;    nrf905_TxSend();//启动发送
 0124 B5DF              rcall _nrf905_TxSend
 0126                   .dbline 266
 0126           ;    nrf905_WaitSended();//等待发送结束
 0126                   .dbline -2
 0126                   .dbline 268
 0126           ;    
 0126           ; }
 0126           L33:
 0126                   .dbline 0 ; func end
 0126 F5CF              rjmp _nrf905_WaitSended
 0128                   .dbend
 0128                   .dbfunc e nrf905_SendAgain _nrf905_SendAgain fV
                        .even
 0128           _nrf905_SendAgain::
 0128                   .dbline -1
 0128                   .dbline 272
 0128           ; 
 0128           ; //测试直接重新发送上次写入的数据
 0128           ; void nrf905_SendAgain(void)
 0128           ; {
 0128                   .dbline 273
 0128           ;    nrf905_TxOn();
 0128 AFDF              rcall _nrf905_TxOn
 012A                   .dbline 274
 012A           ;    nrf905_TxSend();
 012A B2DF              rcall _nrf905_TxSend
 012C                   .dbline 275
 012C           ;    nrf905_WaitSended();
 012C                   .dbline -2
 012C                   .dbline 277
 012C           ;    
 012C           ; }
 012C           L34:
 012C                   .dbline 0 ; func end
 012C F2CF              rjmp _nrf905_WaitSended
 012E                   .dbend
 012E                   .dbfunc e RfSendProc _RfSendProc fV
                        .even
 012E           _RfSendProc::
 012E                   .dbline -1
 012E                   .dbline 283
 012E           ; 
 012E           ; 
 012E           ; 
 012E           ; //发送测试
 012E           ; void RfSendProc(void)
 012E           ; {
 012E                   .dbline 285
 012E           ;   // puts_hh("Into send process code");
 012E           ;    nrf905_SendData();//发送测试数据
 012E F4DF              rcall _nrf905_SendData
 0130                   .dbline 286
 0130           ;    nrf905_Off();//断开电源
 0130                   .dbline -2
 0130                   .dbline 288
 0130           ;   // puts_hh(Tx_Buf);//向串口打印数据
 0130           ; }
 0130           L35:
 0130                   .dbline 0 ; func end
 0130 A9CF              rjmp _nrf905_Off
 0132                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\公司用\atmega8l\final\nrf905_send1\nrf905.c
 0000           _Rx_Buf::
 0000                   .blkb 32
 0020                   .dbsym e Rx_Buf _Rx_Buf A[32:32]c
 0020           _Tx_Buf::
 0020                   .blkb 32
 0040                   .dbsym e Tx_Buf _Tx_Buf A[32:32]c

⌨️ 快捷键说明

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