📄 main.lis
字号:
0366 B901 movw R22,R18
0368 402F mov R20,R16
036A .dbline -1
036A .dbline 250
036A ; }
036A ; void Uart_SendPacket(Uchar len, Uchar *BufferAddress)
036A ; {
036A .dbline 251
036A ; Uart_send_ptr=BufferAddress;
036A 70934400 sts _Uart_send_ptr+1,R23
036E 60934300 sts _Uart_send_ptr,R22
0372 0BC0 xjmp L98
0374 L97:
0374 .dbline 253
0374 .dbline 254
0374 EDDF xcall _Uart_SendByte
0376 .dbline 255
0376 4A95 dec R20
0378 .dbline 256
0378 80914300 lds R24,_Uart_send_ptr
037C 90914400 lds R25,_Uart_send_ptr+1
0380 0196 adiw R24,1
0382 90934400 sts _Uart_send_ptr+1,R25
0386 80934300 sts _Uart_send_ptr,R24
038A .dbline 257
038A L98:
038A .dbline 252
038A ; while(len>0)
038A 2224 clr R2
038C 2416 cp R2,R20
038E 90F3 brlo L97
0390 .dbline -2
0390 L96:
0390 0E940000 xcall pop_gset2
0394 .dbline 0 ; func end
0394 0895 ret
0396 .dbsym r BufferAddress 22 pc
0396 .dbsym r len 20 c
0396 .dbend
0396 .dbfunc e ADC_init _ADC_init fV
.even
0396 _ADC_init::
0396 .dbline -1
0396 .dbline 261
0396 ; {
0396 ; Uart_SendByte();
0396 ; len--;
0396 ; Uart_send_ptr++;
0396 ; }
0396 ; }
0396 ;
0396 ; void ADC_init(void)
0396 ; {
0396 .dbline 262
0396 ; ADCSRA=0x00;
0396 2224 clr R2
0398 26B8 out 0x6,R2
039A .dbline 263
039A ; ADMUX=0x40;
039A 80E4 ldi R24,64
039C 87B9 out 0x7,R24
039E .dbline 264
039E ; ACSR|=(1<<ACD);
039E 479A sbi 0x8,7
03A0 .dbline 265
03A0 ; ADCSRA=(1<<ADEN)|0x06;//不使能中断
03A0 86E8 ldi R24,134
03A2 86B9 out 0x6,R24
03A4 .dbline 266
03A4 ; SFIOR=0x00;
03A4 20BE out 0x30,R2
03A6 .dbline 267
03A6 ; PORTA=0x00;
03A6 2BBA out 0x1b,R2
03A8 .dbline -2
03A8 L100:
03A8 .dbline 0 ; func end
03A8 0895 ret
03AA .dbend
03AA .dbfunc e Read_Adc _Read_Adc fV
03AA ; Msbtemp -> y+10
03AA ; Lsbtemp -> y+0
03AA ; i -> R16
.even
03AA _Read_Adc::
03AA 6497 sbiw R28,20
03AC .dbline -1
03AC .dbline 270
03AC ; }
03AC ; void Read_Adc(void)
03AC ; {
03AC .dbline 274
03AC ; unsigned char i;
03AC ; unsigned char Lsbtemp[10],Msbtemp[10];
03AC ;
03AC ; Lsb_light=0;
03AC 2224 clr R2
03AE 20920F00 sts _Lsb_light,R2
03B2 .dbline 275
03B2 ; Msb_light=0;
03B2 20921000 sts _Msb_light,R2
03B6 .dbline 276
03B6 ; for(i=0;i<1;i++)
03B6 0027 clr R16
03B8 13C0 xjmp L105
03BA L102:
03BA .dbline 277
03BA ; {
03BA .dbline 278
03BA ; ADCSRA|=(1<<ADSC);
03BA 369A sbi 0x6,6
03BC L106:
03BC .dbline 279
03BC L107:
03BC .dbline 279
03BC 349B sbis 0x6,4
03BE FECF rjmp L106
03C0 .dbline 280
03C0 CE01 movw R24,R28
03C2 E02F mov R30,R16
03C4 FF27 clr R31
03C6 E80F add R30,R24
03C8 F91F adc R31,R25
03CA 24B0 in R2,0x4
03CC 2082 std z+0,R2
03CE .dbline 281
03CE CE01 movw R24,R28
03D0 0A96 adiw R24,10
03D2 E02F mov R30,R16
03D4 FF27 clr R31
03D6 E80F add R30,R24
03D8 F91F adc R31,R25
03DA 25B0 in R2,0x5
03DC 2082 std z+0,R2
03DE .dbline 282
03DE L103:
03DE .dbline 276
03DE 0395 inc R16
03E0 L105:
03E0 .dbline 276
03E0 0130 cpi R16,1
03E2 58F3 brlo L102
03E4 .dbline 283
03E4 ; while((ADCSRA&(1<<ADIF))==0);
03E4 ; Lsbtemp[i]=ADCL;
03E4 ; Msbtemp[i]=ADCH;
03E4 ; }
03E4 ; for(i=0;i<1;i++)
03E4 0027 clr R16
03E6 18C0 xjmp L112
03E8 L109:
03E8 .dbline 284
03E8 .dbline 285
03E8 CE01 movw R24,R28
03EA E02F mov R30,R16
03EC FF27 clr R31
03EE E80F add R30,R24
03F0 F91F adc R31,R25
03F2 2080 ldd R2,z+0
03F4 30900F00 lds R3,_Lsb_light
03F8 320C add R3,R2
03FA 30920F00 sts _Lsb_light,R3
03FE .dbline 286
03FE CE01 movw R24,R28
0400 0A96 adiw R24,10
0402 E02F mov R30,R16
0404 FF27 clr R31
0406 E80F add R30,R24
0408 F91F adc R31,R25
040A 2080 ldd R2,z+0
040C 30901000 lds R3,_Msb_light
0410 320C add R3,R2
0412 30921000 sts _Msb_light,R3
0416 .dbline 287
0416 L110:
0416 .dbline 283
0416 0395 inc R16
0418 L112:
0418 .dbline 283
0418 0130 cpi R16,1
041A 30F3 brlo L109
041C .dbline 288
041C ; {
041C ; Lsb_light+=Lsbtemp[i];
041C ; Msb_light+=Msbtemp[i];
041C ; }
041C ; Lsb_light=Lsb_light/1;
041C 20900F00 lds R2,_Lsb_light
0420 20920F00 sts _Lsb_light,R2
0424 .dbline 289
0424 ; Msb_light=Msb_light/1;
0424 20901000 lds R2,_Msb_light
0428 20921000 sts _Msb_light,R2
042C .dbline 290
042C ; voltage_light=Msb_light;
042C 3324 clr R3
042E 30921200 sts _voltage_light+1,R3
0432 20921100 sts _voltage_light,R2
0436 .dbline 291
0436 ; voltage_light=(unsigned int)voltage_light<<8|Lsb_light;
0436 20900F00 lds R2,_Lsb_light
043A 40901100 lds R4,_voltage_light
043E 50901200 lds R5,_voltage_light+1
0442 342C mov R3,R4
0444 30921200 sts _voltage_light+1,R3
0448 20921100 sts _voltage_light,R2
044C .dbline -2
044C L101:
044C 6496 adiw R28,20
044E .dbline 0 ; func end
044E 0895 ret
0450 .dbsym l Msbtemp 10 A[10:10]c
0450 .dbsym l Lsbtemp 0 A[10:10]c
0450 .dbsym r i 16 c
0450 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\PROGRAMS\controller\salvo-M32\main.c
0000 _com_data_buffer::
0000 .blkb 10
000A .dbfile E:\PROGRAMS\controller\salvo-M32/app.h
000A .dbsym e com_data_buffer _com_data_buffer A[10:10]c
000A _com_send_ptr::
000A .blkb 2
000C .dbsym e com_send_ptr _com_send_ptr pc
000C _com_datasen_len::
000C .blkb 1
000D .dbsym e com_datasen_len _com_datasen_len c
000D _SetCompass::
000D .blkb 2
000F .dbsym e SetCompass _SetCompass i
000F _Lsb_light::
000F .blkb 1
0010 .dbsym e Lsb_light _Lsb_light c
0010 _Msb_light::
0010 .blkb 1
0011 .dbsym e Msb_light _Msb_light c
0011 _voltage_light::
0011 .blkb 2
0013 .dbsym e voltage_light _voltage_light i
0013 _Pout_SPI_TranFIfo::
0013 .blkb 2
0015 .dbsym e Pout_SPI_TranFIfo _Pout_SPI_TranFIfo pc
0015 _Pin_SPI_TranFifo::
0015 .blkb 2
0017 .dbsym e Pin_SPI_TranFifo _Pin_SPI_TranFifo pc
0017 _Pout_SPI_RecvFifo::
0017 .blkb 2
0019 .dbsym e Pout_SPI_RecvFifo _Pout_SPI_RecvFifo pc
0019 _Pin_SPI_RecvFifo::
0019 .blkb 2
001B .dbsym e Pin_SPI_RecvFifo _Pin_SPI_RecvFifo pc
001B _SPI_TranFifo::
001B .blkb 16
002B .dbsym e SPI_TranFifo _SPI_TranFifo A[16:16]c
002B _SPI_RecvFifo::
002B .blkb 16
003B .dbsym e SPI_RecvFifo _SPI_RecvFifo A[16:16]c
003B _SPI_DatEnd::
003B .blkb 1
003C .dbsym e SPI_DatEnd _SPI_DatEnd c
003C _SPI_DatCheck::
003C .blkb 1
003D .dbsym e SPI_DatCheck _SPI_DatCheck c
003D _SPI_DatConter::
003D .blkb 1
003E .dbsym e SPI_DatConter _SPI_DatConter c
003E _SPI_DatLen::
003E .blkb 1
003F .dbsym e SPI_DatLen _SPI_DatLen c
003F _SPI_CtrCode::
003F .blkb 1
0040 .dbsym e SPI_CtrCode _SPI_CtrCode c
0040 _SPI_data::
0040 .blkb 1
0041 .dbsym e SPI_data _SPI_data c
0041 _SPI_Status::
0041 .blkb 1
0042 .dbsym e SPI_Status _SPI_Status c
0042 _bit_flag::
0042 .blkb 1
0043 .dbstruct 0 1 data
0043 .dbfield 0 bit0 F[0:1]
0043 .dbfield 0 bit1 F[1:1]
0043 .dbfield 0 bit2 F[2:1]
0043 .dbfield 0 bit3 F[3:1]
0043 .dbfield 0 bit4 F[4:1]
0043 .dbfield 0 bit5 F[5:1]
0043 .dbfield 0 bit6 F[6:1]
0043 .dbfield 0 bit7 F[7:1]
0043 .dbend
0043 .dbsym e bit_flag _bit_flag S[data]
0043 _Uart_send_ptr::
0043 .blkb 2
0045 .dbsym e Uart_send_ptr _Uart_send_ptr pc
0045 _robotDatEnd::
0045 .blkb 1
0046 .dbsym e robotDatEnd _robotDatEnd c
0046 _robotDatCheck::
0046 .blkb 1
0047 .dbsym e robotDatCheck _robotDatCheck c
0047 _robotDatCount::
0047 .blkb 1
0048 .dbsym e robotDatCount _robotDatCount c
0048 _robotDatBuf::
0048 .blkb 10
0052 .dbsym e robotDatBuf _robotDatBuf A[10:10]c
0052 _robotDatLen::
0052 .blkb 1
0053 .dbsym e robotDatLen _robotDatLen c
0053 _robotCtrCode::
0053 .blkb 1
0054 .dbsym e robotCtrCode _robotCtrCode c
0054 _RS485_data::
0054 .blkb 1
0055 .dbsym e RS485_data _RS485_data c
0055 _RS485_status::
0055 .blkb 1
0056 .dbsym e RS485_status _RS485_status c
.area func_lit
0000 3A00 PL_TaskC: .word `_TaskC
0002 3300 PL_TaskB: .word `_TaskB
0004 0000 PL_TaskA: .word `_TaskA
0006 4600 PL_TaskC1: .word `_TaskC1
0008 3800 PL_TaskB1: .word `_TaskB1
000A 2F00 PL_TaskA1: .word `_TaskA1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -