📄 dd_isr.lis
字号:
01CE ;
01CE ;
01CE ;
01CE ;
01CE ; void UART_RECV_DEAL (void)
01CE ;
01CE ; {
01CE .dbline 175
01CE ; unsigned char temp;
01CE ; temp=UDR;
01CE 0CB1 in R16,0xc
01D0 .dbline 176
01D0 ; uart_rx_buffer[uart_buffer_rx_idx]=temp;
01D0 80E0 ldi R24,<_uart_rx_buffer
01D2 90E0 ldi R25,>_uart_rx_buffer
01D4 E0910000 lds R30,_uart_buffer_rx_idx
01D8 FF27 clr R31
01DA E80F add R30,R24
01DC F91F adc R31,R25
01DE 0083 std z+0,R16
01E0 .dbline 179
01E0 ;
01E0 ;
01E0 ; if(uart_buffer_rx_idx>=max_uart_buffer_size){
01E0 80910000 lds R24,_uart_buffer_rx_idx
01E4 8436 cpi R24,100
01E6 18F0 brlo L43
01E8 .dbline 179
01E8 .dbline 181
01E8 ;
01E8 ; uart_buffer_rx_idx=0;
01E8 2224 clr R2
01EA 20920000 sts _uart_buffer_rx_idx,R2
01EE .dbline 183
01EE ;
01EE ; }
01EE L43:
01EE .dbline 185
01EE ;
01EE ; time_count=0;
01EE 2224 clr R2
01F0 20926600 sts _time_count,R2
01F4 .dbline -2
01F4 .dbline 187
01F4 ;
01F4 ; }
01F4 L42:
01F4 2990 ld R2,y+
01F6 2FBE out 0x3f,R2
01F8 F991 ld R31,y+
01FA E991 ld R30,y+
01FC 9991 ld R25,y+
01FE 8991 ld R24,y+
0200 0991 ld R16,y+
0202 2990 ld R2,y+
0204 .dbline 0 ; func end
0204 1895 reti
0206 .dbsym r temp 16 c
0206 .dbend
0206 .dbfunc e UART_SEND_DEAL _UART_SEND_DEAL fV
.even
0206 _UART_SEND_DEAL::
0206 2A92 st -y,R2
0208 3A92 st -y,R3
020A 8A93 st -y,R24
020C 9A93 st -y,R25
020E EA93 st -y,R30
0210 FA93 st -y,R31
0212 2FB6 in R2,0x3f
0214 2A92 st -y,R2
0216 .dbline -1
0216 .dbline 191
0216 .dbline 192
0216 20900000 lds R2,_uart_tx_payload_length
021A 30900000 lds R3,_uart_buffer_tx_idx
021E 3214 cp R3,R2
0220 70F4 brsh L46
0222 .dbline 193
0222 .dbline 194
0222 232C mov R2,R3
0224 3324 clr R3
0226 822D mov R24,R2
0228 8F5F subi R24,255 ; addi 1
022A 80930000 sts _uart_buffer_tx_idx,R24
022E 80E0 ldi R24,<_uart_tx_buffer
0230 90E0 ldi R25,>_uart_tx_buffer
0232 E22D mov R30,R2
0234 FF27 clr R31
0236 E80F add R30,R24
0238 F91F adc R31,R25
023A 2080 ldd R2,z+0
023C 2CB8 out 0xc,R2
023E .dbline 195
023E L46:
023E .dbline -2
023E .dbline 197
023E ;
023E ; void UART_SEND_DEAL (void)
023E ;
023E ; {
023E ; if (uart_buffer_tx_idx < uart_tx_payload_length)
023E ; {
023E ; UDR = uart_tx_buffer[uart_buffer_tx_idx++];
023E ; }
023E ;
023E ; }
023E L45:
023E 2990 ld R2,y+
0240 2FBE out 0x3f,R2
0242 F991 ld R31,y+
0244 E991 ld R30,y+
0246 9991 ld R25,y+
0248 8991 ld R24,y+
024A 3990 ld R3,y+
024C 2990 ld R2,y+
024E .dbline 0 ; func end
024E 1895 reti
0250 .dbend
0250 .dbfunc e USART_Init _USART_Init fV
.even
0250 _USART_Init::
0250 .dbline -1
0250 .dbline 218
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ;
0250 ; void USART_Init(void)
0250 ; {
0250 .dbline 221
0250 ; /* 设置波特率*/
0250 ; //CLI();
0250 ; UBRRH = 0;
0250 2224 clr R2
0252 20BC out 0x20,R2
0254 .dbline 222
0254 ; UBRRL = 0x33;
0254 83E3 ldi R24,51
0256 89B9 out 0x9,R24
0258 .dbline 225
0258 ; /* 接收器与发送器使能*/
0258 ;
0258 ; UCSRB = (1<<RXEN)|(1<<TXEN);
0258 88E1 ldi R24,24
025A 8AB9 out 0xa,R24
025C .dbline 227
025C ; /* 设置帧格式: 8 个数据位, 2 个停止位*/
025C ; UCSRC = 0xa6;
025C 86EA ldi R24,166
025E 80BD out 0x20,R24
0260 .dbline 228
0260 ; UCSRA = 0;
0260 2BB8 out 0xb,R2
0262 .dbline 229
0262 ; UCSRB |= (1<<RXCIE)|(1<<TXCIE);
0262 8AB1 in R24,0xa
0264 806C ori R24,192
0266 8AB9 out 0xa,R24
0268 .dbline -2
0268 .dbline 232
0268 ; //SEI();
0268 ;
0268 ; }
0268 L48:
0268 .dbline 0 ; func end
0268 0895 ret
026A .dbend
026A .dbfunc e timer1_init _timer1_init fV
.even
026A _timer1_init::
026A .dbline -1
026A .dbline 236
026A ;
026A ; //timer 1初始化
026A ; void timer1_init (void)
026A ; {
026A .dbline 237
026A ; TCCR1B=0x00;
026A 2224 clr R2
026C 2EBC out 0x2e,R2
026E .dbline 238
026E ; TCCR1A=0x00;
026E 2FBC out 0x2f,R2
0270 .dbline 239
0270 ; TIFR=0x00;
0270 28BE out 0x38,R2
0272 .dbline 240
0272 ; TIMSK=0x00;
0272 29BE out 0x39,R2
0274 .dbline 241
0274 ; OCR1A=0x4d88;
0274 88E8 ldi R24,19848
0276 9DE4 ldi R25,77
0278 9BBD out 0x2b,R25
027A 8ABD out 0x2a,R24
027C .dbline 243
027C ; //OCR1A=0x4d88;
027C ; TCNT1=0x00;
027C 3324 clr R3
027E 3DBC out 0x2d,R3
0280 2CBC out 0x2c,R2
0282 .dbline 244
0282 ; TIMSK=0x10;
0282 80E1 ldi R24,16
0284 89BF out 0x39,R24
0286 .dbline 245
0286 ; TCCR1B=0x00;
0286 2EBC out 0x2e,R2
0288 .dbline -2
0288 .dbline 246
0288 ; }
0288 L49:
0288 .dbline 0 ; func end
0288 0895 ret
028A .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\icc\examples.avr\230M\dd_isr.c
0000 _crc_tempn::
0000 .blkb 2
0002 .dbsym e crc_tempn _crc_tempn A[2:2]c
0002 _uart_tx_buffer::
0002 .blkb 100
0066 .dbsym e uart_tx_buffer _uart_tx_buffer A[100:100]c
0066 _time_count::
0066 .blkb 1
0067 .dbsym e time_count _time_count c
0067 _rf_tx_state::
0067 .blkb 3
006A .dbsym e rf_tx_state _rf_tx_state A[3:3]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -