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

📄 atmega16.lis

📁 ADI公司射频芯片7020+ATMEGA16射频模块源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00A0           ;       //Initialise extern variable
 00A0           ;     dd_data_port_state = DATA_PORT_IDLE;
 00A0 80937A00          sts _dd_data_port_state,R24
 00A4                   .dbline 129
 00A4           ;     dd_data_packet_phase = PACKET_PHASE_IDLE;
 00A4 80937900          sts _dd_data_packet_phase,R24
 00A8                   .dbline 130
 00A8           ;       uart_buffer_tx_idx = 0;
 00A8 20921400          sts _uart_buffer_tx_idx,R2
 00AC                   .dbline 131
 00AC           ;       uart_buffer_rx_idx = 0;
 00AC 20921300          sts _uart_buffer_rx_idx,R2
 00B0                   .dbline 132
 00B0           ;       dd_port_data_rx_payload_length = 0;
 00B0 20927D00          sts _dd_port_data_rx_payload_length,R2
 00B4                   .dbline 133
 00B4           ;       p_active_uart_buffer = 0;
 00B4 3324              clr R3
 00B6 30921200          sts _p_active_uart_buffer+1,R3
 00BA 20921100          sts _p_active_uart_buffer,R2
 00BE                   .dbline 134
 00BE           ;       dd_uart_host_state = UART_PORT_RECEIVING;
 00BE 83E0              ldi R24,3
 00C0 80930E00          sts _dd_uart_host_state,R24
 00C4                   .dbline 136
 00C4           ; 
 00C4           ;       uart_rx_payload_length = UART_PAYLOAD_LENGTH;
 00C4 8CEF              ldi R24,252
 00C6 80931000          sts _uart_rx_payload_length,R24
 00CA                   .dbline 137
 00CA           ;       PORTA &= ~(1<<RFMD_EN);
 00CA DE98              cbi 0x1b,6
 00CC                   .dbline -2
 00CC                   .dbline 138
 00CC           ; }
 00CC           L10:
 00CC                   .dbline 0 ; func end
 00CC 0895              ret
 00CE                   .dbend
 00CE                   .dbfunc e dd_short_delay _dd_short_delay fV
 00CE           ;          count -> R16
                        .even
 00CE           _dd_short_delay::
 00CE                   .dbline -1
 00CE                   .dbline 152
 00CE           ; 
 00CE           ; 
 00CE           ; /*****************************************************************************
 00CE           ;  * Function:    dd_short_delay
 00CE           ;  * Parameters:  Number of units to wait (1 unit = 256/Fcore = 1/24576)
 00CE           ;  * Returns:     Nothing
 00CE           ;  * ===========================================================================
 00CE           ;  * Description:
 00CE           ;  *      Short delay function based on high byte of timer 0
 00CE           ;  *      (Timer 0 must be configured as a 16 bit timer clocked at CPU core rate)
 00CE           ;  *      Max delay = 10.4ms
 00CE           ;  ****************************************************************************/
 00CE           ; void dd_short_delay(unsigned char count)
 00CE           ; {
 00CE 14C0              xjmp L13
 00D0           L12:
 00D0                   .dbline 154
 00D0                   .dbline 155
 00D0 0000              nop
 00D2                   .dbline 156
 00D2 0000              nop
 00D4                   .dbline 157
 00D4 0000              nop
 00D6                   .dbline 158
 00D6 0000              nop
 00D8                   .dbline 159
 00D8 0000              nop
 00DA                   .dbline 160
 00DA 0000              nop
 00DC                   .dbline 161
 00DC 0000              nop
 00DE                   .dbline 162
 00DE 0000              nop
 00E0                   .dbline 163
 00E0 0000              nop
 00E2                   .dbline 164
 00E2 0000              nop
 00E4                   .dbline 165
 00E4 0000              nop
 00E6                   .dbline 166
 00E6 0000              nop
 00E8                   .dbline 167
 00E8 0000              nop
 00EA                   .dbline 168
 00EA 0000              nop
 00EC                   .dbline 169
 00EC 0000              nop
 00EE                   .dbline 170
 00EE 0000              nop
 00F0                   .dbline 171
 00F0 0000              nop
 00F2                   .dbline 172
 00F2 0000              nop
 00F4                   .dbline 173
 00F4 0000              nop
 00F6                   .dbline 174
 00F6 0000              nop
 00F8                   .dbline 176
 00F8           L13:
 00F8                   .dbline 153
 00F8           ;     while (count-- >0)
 00F8 202E              mov R2,R16
 00FA 3324              clr R3
 00FC 0150              subi R16,1
 00FE 4424              clr R4
 0100 4214              cp R4,R2
 0102 30F3              brlo L12
 0104                   .dbline -2
 0104                   .dbline 178
 0104           ;       {
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       _NOP();
 0104           ;       
 0104           ;       }               
 0104           ;       
 0104           ; }
 0104           L11:
 0104                   .dbline 0 ; func end
 0104 0895              ret
 0106                   .dbsym r count 16 c
 0106                   .dbend
 0106                   .dbfunc e my_delay _my_delay fV
 0106           ;         length -> y+4
                        .even
 0106           _my_delay::
 0106 0E940000          xcall push_arg4
 010A 0E940000          xcall push_gset2
 010E                   .dbline -1
 010E                   .dbline 181
 010E           ; 
 010E           ; void my_delay(long length) 
 010E           ; {
 010E 12C0              xjmp L17
 0110           L16:
 0110                   .dbline 182
 0110 41E0              ldi R20,1
 0112 50E0              ldi R21,0
 0114 60E0              ldi R22,0
 0116 70E0              ldi R23,0
 0118 FE01              movw R30,R28
 011A 2480              ldd R2,z+4
 011C 3580              ldd R3,z+5
 011E 4680              ldd R4,z+6
 0120 5780              ldd R5,z+7
 0122 241A              sub R2,R20
 0124 350A              sbc R3,R21
 0126 460A              sbc R4,R22
 0128 570A              sbc R5,R23
 012A FE01              movw R30,R28
 012C 2482              std z+4,R2
 012E 3582              std z+5,R3
 0130 4682              std z+6,R4
 0132 5782              std z+7,R5
 0134           L17:
 0134                   .dbline 182
 0134           ;       while (length >=0)              length--;
 0134 40E0              ldi R20,0
 0136 50E0              ldi R21,0
 0138 60E0              ldi R22,0
 013A 70E0              ldi R23,0
 013C FE01              movw R30,R28
 013E 2480              ldd R2,z+4
 0140 3580              ldd R3,z+5
 0142 4680              ldd R4,z+6
 0144 5780              ldd R5,z+7
 0146 2416              cp R2,R20
 0148 3506              cpc R3,R21
 014A 4606              cpc R4,R22
 014C 5706              cpc R5,R23
 014E 04F7              brge L16
 0150                   .dbline -2
 0150                   .dbline 183
 0150           ; }
 0150           L15:
 0150 0E940000          xcall pop_gset2
 0154 2496              adiw R28,4
 0156                   .dbline 0 ; func end
 0156 0895              ret
 0158                   .dbsym l length 4 L
 0158                   .dbend
 0158                   .dbfunc e my_delay_1 _my_delay_1 fV
 0158           ;         length -> R16,R17
                        .even
 0158           _my_delay_1::
 0158                   .dbline -1
 0158                   .dbline 187
 0158           ; 
 0158           ; 
 0158           ; void my_delay_1(unsigned int length) 
 0158           ; {
 0158 14C0              xjmp L21
 015A           L20:
 015A                   .dbline 189
 015A                   .dbline 190
 015A 0000              nop
 015C                   .dbline 191
 015C 0000              nop
 015E                   .dbline 192
 015E 0000              nop
 0160                   .dbline 193
 0160 0000              nop
 0162                   .dbline 194
 0162 0000              nop
 0164                   .dbline 195
 0164 0000              nop
 0166                   .dbline 196
 0166 0000              nop
 0168                   .dbline 197
 0168 0000              nop
 016A                   .dbline 198
 016A 0000              nop
 016C                   .dbline 199
 016C 0000              nop
 016E                   .dbline 200
 016E 0000              nop
 0170                   .dbline 201
 0170 0000              nop
 0172                   .dbline 202
 0172 0000              nop
 0174                   .dbline 203
 0174 0000              nop
 0176                   .dbline 204
 0176 0000              nop
 0178                   .dbline 205
 0178 0000              nop
 017A                   .dbline 206
 017A 0000              nop
 017C                   .dbline 207
 017C 0000              nop
 017E                   .dbline 208
 017E 0000              nop
 0180                   .dbline 209
 0180 0000              nop

⌨️ 快捷键说明

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