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

📄 main.lis

📁 ADI公司射频芯片7020+ATMEGA16射频模块源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0000 0E940000          xcall _dd_initialise
 0004                   .dbline 21
 0004           ;     CLI();
 0004 F894              cli
 0006                   .dbline 22
 0006           ;       dd_read_ADF70XX_version();
 0006 0E940000          xcall _dd_read_ADF70XX_version
 000A                   .dbline 25
 000A           ;       //dd_read_filter_cal();
 000A           ; //    dd_read_RSSI();
 000A           ;       dd_set_ADF7021_Power_off();
 000A 0E940000          xcall _dd_set_ADF7021_Power_off
 000E                   .dbline 27
 000E           ;       
 000E           ;       dd_set_ADF7021_Power_on();
 000E 0E940000          xcall _dd_set_ADF7021_Power_on
 0012                   .dbline 31
 0012           ;       //test_mode();
 0012           ;       //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE)        dd_set_TX_to_RX_mode();
 0012           ;     //else dd_set_RX_mode();
 0012           ;       dd_set_RX_mode();
 0012 0E940000          xcall _dd_set_RX_mode
 0016                   .dbline 33
 0016           ;       //dd_read_filter_cal();
 0016           ;     GICR|=0x20;            // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
 0016 8BB7              in R24,0x3b
 0018 8062              ori R24,32
 001A 8BBF              out 0x3b,R24
 001C                   .dbline 34
 001C           ;       led_state[0]=0;
 001C 2224              clr R2
 001E 20920D00          sts _led_state,R2
 0022                   .dbline 35
 0022           ;       led_state[1]=0;
 0022 20920E00          sts _led_state+1,R2
 0026                   .dbline 36
 0026           ;       SEI();
 0026 7894              sei
 0028                   .dbline 38
 0028           ;       #if   tx_en
 0028           ;       rf_tx_state[0] = 1;
 0028 81E0              ldi R24,1
 002A 80930000          sts _rf_tx_state,R24
 002E                   .dbline 39
 002E           ;       uart_rx_rf_tx_count=9;
 002E 89E0              ldi R24,9
 0030 80930000          sts _uart_rx_rf_tx_count,R24
 0034                   .dbline 41
 0034           ;       #endif
 0034           ;       DDRB  &= ~(1<<SPI_MISO);
 0034 BE98              cbi 0x17,6
 0036                   .dbline 42
 0036           ;       PORTB |= 1<<SPI_MISO;
 0036 C69A              sbi 0x18,6
 0038 39C0              xjmp L10
 003A           L9:
 003A                   .dbline 44
 003A           ;       while(1)
 003A           ;       {
 003A                   .dbline 46
 003A           ;               
 003A           ;               if(rf_tx_state[1]==1){
 003A 80910100          lds R24,_rf_tx_state+1
 003E 8130              cpi R24,1
 0040 41F5              brne L12
 0042                   .dbline 46
 0042                   .dbline 48
 0042           ;                   
 0042           ;                        if(rf_tx_state[2]==1){
 0042 80910200          lds R24,_rf_tx_state+2
 0046 8130              cpi R24,1
 0048 21F5              brne L15
 004A                   .dbline 48
 004A                   .dbline 50
 004A           ;                        
 004A           ;                             CLI();
 004A F894              cli
 004C                   .dbline 51
 004C           ;                                 dd_set_ADF7021_Power_off();
 004C 0E940000          xcall _dd_set_ADF7021_Power_off
 0050                   .dbline 52
 0050           ;                                 temp_count1[0]=0x8ff;
 0050 8FEF              ldi R24,2303
 0052 98E0              ldi R25,8
 0054 90930600          sts _temp_count1+1,R25
 0058 80930500          sts _temp_count1,R24
 005C           L18:
 005C                   .dbline 54
 005C                   .dbline 56
 005C           L19:
 005C                   .dbline 53
 005C           ;                                 while(temp_count1[0]-->0)
 005C 20900500          lds R2,_temp_count1
 0060 30900600          lds R3,_temp_count1+1
 0064 C101              movw R24,R2
 0066 0197              sbiw R24,1
 0068 90930600          sts _temp_count1+1,R25
 006C 80930500          sts _temp_count1,R24
 0070 2220              tst R2
 0072 A1F7              brne L18
 0074 3320              tst R3
 0076 91F7              brne L18
 0078           X0:
 0078                   .dbline 57
 0078           ;                     {
 0078           ;       
 0078           ;                     }
 0078           ;                             dd_set_ADF7021_Power_on();
 0078 0E940000          xcall _dd_set_ADF7021_Power_on
 007C                   .dbline 60
 007C           ;                             //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE)  dd_set_TX_to_RX_mode();
 007C           ;                     //else dd_set_RX_mode();
 007C           ;                                 dd_set_RX_mode();
 007C 0E940000          xcall _dd_set_RX_mode
 0080                   .dbline 61
 0080           ;                     GICR|=0x20;             // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
 0080 8BB7              in R24,0x3b
 0082 8062              ori R24,32
 0084 8BBF              out 0x3b,R24
 0086                   .dbline 62
 0086           ;                             SEI();
 0086 7894              sei
 0088                   .dbline 63
 0088           ;                                 rf_tx_state[1]=0;
 0088 2224              clr R2
 008A 20920100          sts _rf_tx_state+1,R2
 008E                   .dbline 64
 008E           ;                                 rf_tx_state[2]=0;
 008E 20920200          sts _rf_tx_state+2,R2
 0092                   .dbline 65
 0092           ;                        }
 0092           L15:
 0092                   .dbline 66
 0092           ;           }
 0092           L12:
 0092                   .dbline 68
 0092           ;                                               
 0092           ;               if (rf_tx_state[0] == 1){
 0092 80910000          lds R24,_rf_tx_state
 0096 8130              cpi R24,1
 0098 49F4              brne L23
 009A                   .dbline 68
 009A                   .dbline 70
 009A           ;                               
 009A           ;                       dd_idle();      
 009A 0E940000          xcall _dd_idle
 009E                   .dbline 71
 009E           ;                       transmit_constant_frame();
 009E 08D0              xcall _transmit_constant_frame
 00A0                   .dbline 75
 00A0           ;                       
 00A0           ;                       #if  tx_never
 00A0           ;                       
 00A0           ;                       rf_tx_state[1]=0;
 00A0 2224              clr R2
 00A2 20920100          sts _rf_tx_state+1,R2
 00A6                   .dbline 76
 00A6           ;                       rf_tx_state[0] = 1;
 00A6 81E0              ldi R24,1
 00A8 80930000          sts _rf_tx_state,R24
 00AC                   .dbline 84
 00AC           ;                       #else
 00AC           ;                       rf_tx_state[0] = 0;
 00AC           ;                       rf_tx_state[1] = 1;
 00AC           ;                       rf_tx_state[2] = 1;
 00AC           ;                       
 00AC           ;                       #endif
 00AC           ;                       //rf_tx_state[2]=0;
 00AC           ;           }
 00AC           L23:
 00AC                   .dbline 87
 00AC           L10:
 00AC                   .dbline 43
 00AC C6CF              xjmp L9
 00AE           X1:
 00AE                   .dbline -2
 00AE                   .dbline 91
 00AE           ; 
 00AE           ;               
 00AE           ;       }
 00AE           ; 
 00AE           ; //    for(;;) {my_delay(10000);       P3 ^= 0x10;     }
 00AE           ; 
 00AE           ; }
 00AE           L7:
 00AE                   .dbline 0 ; func end
 00AE 0895              ret
 00B0                   .dbend
 00B0                   .dbfunc e transmit_constant_frame _transmit_constant_frame fV
 00B0           ;           byte -> <dead>
 00B0           ;              i -> <dead>
 00B0           ;              j -> <dead>
 00B0           ;    delay_count -> R20,R21
                        .even
 00B0           _transmit_constant_frame::
 00B0 0E940000          xcall push_gset3
 00B4                   .dbline -1
 00B4                   .dbline 103
 00B4           ; 
 00B4           ; 
 00B4           ; 
 00B4           ; /*****************************************************************************
 00B4           ; Function:             transmit_constant_frame
 00B4           ; ==============================================================================
 00B4           ; Description:
 00B4           ;       Transmit a frame including preamble & sync word, payload length, 
 00B4           ;       payload and CRC
 00B4           ; *****************************************************************************/
 00B4           ; void transmit_constant_frame(void)
 00B4           ; {
 00B4                   .dbline 112
 00B4           ;       // prepare tx frame header including preamble, sync word, payload length; the following is just an example
 00B4           ;       
 00B4           ;       
 00B4           ;       //mac_tx_packet_header.seq_number = 0x0FF4;
 00B4           ;       //mac_tx_packet_header.short_address = 0xAA;
 00B4           ;       //mac_tx_packet_header.payload_length = uart_rx_rf_tx_count;
 00B4           ;       unsigned int  delay_count;
 00B4           ;       unsigned char j,i,byte;
 00B4           ;       dd_set_ADF7021_Power_off();
 00B4 0E940000          xcall _dd_set_ADF7021_Power_off
 00B8                   .dbline 113
 00B8           ;       delay_count=0x8ff;
 00B8 4FEF              ldi R20,2303
 00BA 58E0              ldi R21,8
 00BC                   .dbline 114
 00BC           ;       PORTA |= 1<<RFMD_EN;
 00BC DE9A              sbi 0x1b,6
 00BE                   .dbline 115
 00BE           ;       DDRB  |= 1<<SPI_MISO;
 00BE BE9A              sbi 0x17,6
 00C0                   .dbline 116
 00C0           ;       PORTB |= 1<<SPI_MISO;
 00C0 C69A              sbi 0x18,6
 00C2           L27:
 00C2                   .dbline 118
 00C2                   .dbline 120
 00C2           L28:
 00C2                   .dbline 117
 00C2           ;       while(delay_count-->0)
 00C2 1A01              movw R2,R20
 00C4 4150              subi R20,1
 00C6 5040              sbci R21,0
 00C8 2220              tst R2
 00CA D9F7              brne L27
 00CC 3320              tst R3
 00CE C9F7              brne L27
 00D0           X2:
 00D0                   .dbline 126
 00D0           ;       {
 00D0           ;       
 00D0           ;       }
 00D0           ;       
 00D0           ;     
 00D0           ;       
 00D0           ;       // prepare payload length
 00D0           ;       //0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x12, 0x34, 0x56
 00D0           ;       dd_port_data_tx_buffer[0]=0xAA;
 00D0 8AEA              ldi R24,170
 00D2 80930000          sts _dd_port_data_tx_buffer,R24
 00D6                   .dbline 127
 00D6           ;       dd_port_data_tx_buffer[1]=0xAA;
 00D6 80930100          sts _dd_port_data_tx_buffer+1,R24
 00DA                   .dbline 128
 00DA           ;       dd_port_data_tx_buffer[2]=0xAA;
 00DA 80930200          sts _dd_port_data_tx_buffer+2,R24
 00DE                   .dbline 129
 00DE           ;       dd_port_data_tx_buffer[3]=0xAA;
 00DE 80930300          sts _dd_port_data_tx_buffer+3,R24
 00E2                   .dbline 130
 00E2           ;       dd_port_data_tx_buffer[4]=0xAA;
 00E2 80930400          sts _dd_port_data_tx_buffer+4,R24
 00E6                   .dbline 131
 00E6           ;       dd_port_data_tx_buffer[5]=0x12;
 00E6 82E1              ldi R24,18
 00E8 80930500          sts _dd_port_data_tx_buffer+5,R24
 00EC                   .dbline 132
 00EC           ;       dd_port_data_tx_buffer[6]=0x34;
 00EC 84E3              ldi R24,52
 00EE 80930600          sts _dd_port_data_tx_buffer+6,R24
 00F2                   .dbline 133
 00F2           ;       dd_port_data_tx_buffer[7]=0x56;
 00F2 86E5              ldi R24,86
 00F4 80930700          sts _dd_port_data_tx_buffer+7,R24
 00F8                   .dbline 135
 00F8           ;       #if tx_never
 00F8           ;       dd_port_data_tx_buffer[8]=0x09;
 00F8 89E0              ldi R24,9
 00FA 80930800          sts _dd_port_data_tx_buffer+8,R24
 00FE                   .dbline 136
 00FE           ;       dd_port_data_tx_buffer[9]=0x55;
 00FE 85E5              ldi R24,85
 0100 80930900          sts _dd_port_data_tx_buffer+9,R24
 0104                   .dbline 137
 0104           ;     dd_port_data_tx_buffer[10]=0x55;
 0104 80930A00          sts _dd_port_data_tx_buffer+10,R24
 0108                   .dbline 138
 0108           ;       dd_port_data_tx_buffer[11]=0x55;
 0108 80930B00          sts _dd_port_data_tx_buffer+11,R24
 010C                   .dbline 139
 010C           ;       dd_port_data_tx_buffer[12]=0x76;
 010C 86E7              ldi R24,118
 010E 80930C00          sts _dd_port_data_tx_buffer+12,R24
 0112                   .dbline 140
 0112           ;       dd_port_data_tx_buffer[13]=0x54;
 0112 84E5              ldi R24,84
 0114 80930D00          sts _dd_port_data_tx_buffer+13,R24
 0118                   .dbline 141
 0118           ;       dd_port_data_tx_buffer[14]=0x32;
 0118 82E3              ldi R24,50
 011A 80930E00          sts _dd_port_data_tx_buffer+14,R24
 011E                   .dbline 142
 011E           ;       dd_port_data_tx_buffer[15]=0x07;
 011E 87E0              ldi R24,7
 0120 80930F00          sts _dd_port_data_tx_buffer+15,R24
 0124                   .dbline 143

⌨️ 快捷键说明

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