📄 main.lss
字号:
6a0: 80 91 84 00 lds r24, 0x0084
6a4: 80 74 andi r24, 0x40 ; 64
6a6: 80 93 84 00 sts 0x0084, r24
6aa: 90 91 7c 00 lds r25, 0x007C
6ae: 99 0f add r25, r25
6b0: 99 0f add r25, r25
6b2: 99 0f add r25, r25
6b4: 80 91 62 00 lds r24, 0x0062
6b8: 98 0f add r25, r24
6ba: 80 91 84 00 lds r24, 0x0084
6be: 89 2b or r24, r25
6c0: 80 93 84 00 sts 0x0084, r24
6c4: 80 91 85 00 lds r24, 0x0085
6c8: 88 23 and r24, r24
6ca: 21 f0 breq .+8 ; 0x6d4 <main+0x56>
6cc: 10 92 85 00 sts 0x0085, r1
6d0: c8 dd rcall .-1136 ; 0x262 <Voltage_Check>
6d2: 94 dd rcall .-1240 ; 0x1fc <Charge_Check>
6d4: 28 de rcall .-944 ; 0x326 <TaskTurn>
6d6: e4 cf rjmp .-56 ; 0x6a0 <main+0x22>
000006d8 <putc>:
6d8: 5d 9b sbis 0x0b, 5 ; 11
6da: fe cf rjmp .-4 ; 0x6d8 <putc>
6dc: 8c b9 out 0x0c, r24 ; 12
6de: 08 95 ret
000006e0 <getc>:
6e0: 5f 9b sbis 0x0b, 7 ; 11
6e2: fe cf rjmp .-4 ; 0x6e0 <getc>
6e4: 8c b1 in r24, 0x0c ; 12
6e6: 99 27 eor r25, r25
6e8: 08 95 ret
000006ea <puts>:
6ea: cf 93 push r28
6ec: df 93 push r29
6ee: ec 01 movw r28, r24
6f0: 88 81 ld r24, Y
6f2: 88 23 and r24, r24
6f4: 29 f0 breq .+10 ; 0x700 <puts+0x16>
6f6: 89 91 ld r24, Y+
6f8: ef df rcall .-34 ; 0x6d8 <putc>
6fa: 88 81 ld r24, Y
6fc: 88 23 and r24, r24
6fe: d9 f7 brne .-10 ; 0x6f6 <puts+0xc>
700: df 91 pop r29
702: cf 91 pop r28
704: 08 95 ret
00000706 <read_adc>:
}
unsigned int read_adc (uchar r,uchar m)
{
706: 26 2f mov r18, r22
unsigned int adc_rel;
ADMUX=0;
708: 17 b8 out 0x07, r1 ; 7
ADMUX |=(m&0x0F);//选择通道
70a: 2f 70 andi r18, 0x0F ; 15
70c: 97 b1 in r25, 0x07 ; 7
70e: 92 2b or r25, r18
710: 97 b9 out 0x07, r25 ; 7
ADMUX |=(r<<6);//选择基准
712: 99 27 eor r25, r25
714: f6 e0 ldi r31, 0x06 ; 6
716: 88 0f add r24, r24
718: 99 1f adc r25, r25
71a: fa 95 dec r31
71c: e1 f7 brne .-8 ; 0x716 <read_adc+0x10>
71e: 27 b1 in r18, 0x07 ; 7
720: 28 2b or r18, r24
722: 27 b9 out 0x07, r18 ; 7
ADCSRA|=(1<<ADSC);//启动AD转换
724: 36 9a sbi 0x06, 6 ; 6
DelayUs(125);
726: 8d e7 ldi r24, 0x7D ; 125
728: 90 e0 ldi r25, 0x00 ; 0
72a: 4e d1 rcall .+668 ; 0x9c8 <DelayUs>
adc_rel=ADC&0x3FF;
72c: 84 b1 in r24, 0x04 ; 4
72e: 95 b1 in r25, 0x05 ; 5
return(adc_rel);
}
730: 93 70 andi r25, 0x03 ; 3
732: 08 95 ret
00000734 <BT_C>:
unsigned int BT_V(void)
{
unsigned char i;
unsigned int a=0;
unsigned int BT_V;//电池电压
i=read_adc(1,6);//第一次转换,不要
for (i=0;i<16;i++)
{
a+=read_adc(1,6);//内部基准(3.3V),ADC6
}
BT_V=(a>>4);
if(BT_V>65530)
BT_V=0;
return BT_V;
}
unsigned int BT_C(void)
{
734: 1f 93 push r17
736: cf 93 push r28
738: df 93 push r29
unsigned char i;
unsigned int a=0;
73a: c0 e0 ldi r28, 0x00 ; 0
73c: d0 e0 ldi r29, 0x00 ; 0
unsigned int BT_C;//电池电压
i=read_adc(1,7);//第一次转换,不要
73e: 67 e0 ldi r22, 0x07 ; 7
740: 81 e0 ldi r24, 0x01 ; 1
742: e1 df rcall .-62 ; 0x706 <read_adc>
744: 1f e0 ldi r17, 0x0F ; 15
for (i=0;i<16;i++)
{
a+=read_adc(1,7);//内部基准(3.3V),ADC7
746: 67 e0 ldi r22, 0x07 ; 7
748: 81 e0 ldi r24, 0x01 ; 1
74a: dd df rcall .-70 ; 0x706 <read_adc>
74c: c8 0f add r28, r24
74e: d9 1f adc r29, r25
750: 11 50 subi r17, 0x01 ; 1
752: 17 ff sbrs r17, 7
754: f8 cf rjmp .-16 ; 0x746 <BT_C+0x12>
}
BT_C=(a>>4);
756: ce 01 movw r24, r28
758: a4 e0 ldi r26, 0x04 ; 4
75a: 96 95 lsr r25
75c: 87 95 ror r24
75e: aa 95 dec r26
760: e1 f7 brne .-8 ; 0x75a <BT_C+0x26>
if(BT_C>65530)
762: 2f ef ldi r18, 0xFF ; 255
764: 8b 3f cpi r24, 0xFB ; 251
766: 92 07 cpc r25, r18
768: 10 f0 brcs .+4 ; 0x76e <BT_C+0x3a>
BT_C=0;
76a: 80 e0 ldi r24, 0x00 ; 0
76c: 90 e0 ldi r25, 0x00 ; 0
76e: df 91 pop r29
770: cf 91 pop r28
772: 1f 91 pop r17
774: 08 95 ret
00000776 <BT_V>:
776: 1f 93 push r17
778: cf 93 push r28
77a: df 93 push r29
77c: c0 e0 ldi r28, 0x00 ; 0
77e: d0 e0 ldi r29, 0x00 ; 0
780: 66 e0 ldi r22, 0x06 ; 6
782: 81 e0 ldi r24, 0x01 ; 1
784: c0 df rcall .-128 ; 0x706 <read_adc>
786: 1f e0 ldi r17, 0x0F ; 15
788: 66 e0 ldi r22, 0x06 ; 6
78a: 81 e0 ldi r24, 0x01 ; 1
78c: bc df rcall .-136 ; 0x706 <read_adc>
78e: c8 0f add r28, r24
790: d9 1f adc r29, r25
792: 11 50 subi r17, 0x01 ; 1
794: 17 ff sbrs r17, 7
796: f8 cf rjmp .-16 ; 0x788 <BT_V+0x12>
798: ce 01 movw r24, r28
79a: b4 e0 ldi r27, 0x04 ; 4
79c: 96 95 lsr r25
79e: 87 95 ror r24
7a0: ba 95 dec r27
7a2: e1 f7 brne .-8 ; 0x79c <BT_V+0x26>
7a4: 2f ef ldi r18, 0xFF ; 255
7a6: 8b 3f cpi r24, 0xFB ; 251
7a8: 92 07 cpc r25, r18
7aa: 10 f0 brcs .+4 ; 0x7b0 <BT_V+0x3a>
7ac: 80 e0 ldi r24, 0x00 ; 0
7ae: 90 e0 ldi r25, 0x00 ; 0
7b0: df 91 pop r29
7b2: cf 91 pop r28
7b4: 1f 91 pop r17
7b6: 08 95 ret
000007b8 <AD_Shift>:
7b8: 19 dd rcall .-1486 ; 0x1ec <AD_init>
7ba: dd df rcall .-70 ; 0x776 <BT_V>
7bc: 90 93 67 00 sts 0x0067, r25
7c0: 80 93 66 00 sts 0x0066, r24
7c4: b7 df rcall .-146 ; 0x734 <BT_C>
7c6: 90 93 65 00 sts 0x0065, r25
7ca: 80 93 64 00 sts 0x0064, r24
7ce: 81 e0 ldi r24, 0x01 ; 1
7d0: 80 93 85 00 sts 0x0085, r24
7d4: 08 95 ret
000007d6 <__vector_6>:
7d6: 1f 92 push r1
7d8: 0f 92 push r0
7da: 0f b6 in r0, 0x3f ; 63
7dc: 0f 92 push r0
7de: 11 24 eor r1, r1
7e0: 2f 93 push r18
7e2: 3f 93 push r19
7e4: 4f 93 push r20
7e6: 5f 93 push r21
7e8: 6f 93 push r22
7ea: 7f 93 push r23
7ec: 8f 93 push r24
7ee: 9f 93 push r25
7f0: af 93 push r26
7f2: bf 93 push r27
7f4: ef 93 push r30
7f6: ff 93 push r31
7f8: 1d bc out 0x2d, r1 ; 45
7fa: 1c bc out 0x2c, r1 ; 44
7fc: 80 91 6a 00 lds r24, 0x006A
800: 90 91 6b 00 lds r25, 0x006B
804: 01 96 adiw r24, 0x01 ; 1
806: 90 93 6b 00 sts 0x006B, r25
80a: 80 93 6a 00 sts 0x006A, r24
80e: 80 91 6a 00 lds r24, 0x006A
812: 90 91 6b 00 lds r25, 0x006B
816: 84 5f subi r24, 0xF4 ; 244
818: 91 40 sbci r25, 0x01 ; 1
81a: c8 f0 brcs .+50 ; 0x84e <__vector_6+0x78>
81c: 80 91 7b 00 lds r24, 0x007B
820: 8f 5f subi r24, 0xFF ; 255
822: 80 93 7b 00 sts 0x007B, r24
826: 80 91 7b 00 lds r24, 0x007B
82a: 6a e0 ldi r22, 0x0A ; 10
82c: ef d6 rcall .+3550 ; 0x160c <__udivmodqi4>
82e: 80 93 7f 00 sts 0x007F, r24
832: 80 91 7b 00 lds r24, 0x007B
836: ea d6 rcall .+3540 ; 0x160c <__udivmodqi4>
838: 90 93 7e 00 sts 0x007E, r25
83c: 10 92 6b 00 sts 0x006B, r1
840: 10 92 6a 00 sts 0x006A, r1
844: 80 91 81 00 lds r24, 0x0081
848: 8f 5f subi r24, 0xFF ; 255
84a: 80 93 81 00 sts 0x0081, r24
84e: 80 91 7b 00 lds r24, 0x007B
852: 8c 33 cpi r24, 0x3C ; 60
854: 68 f0 brcs .+26 ; 0x870 <__vector_6+0x9a>
856: 10 92 7b 00 sts 0x007B, r1
85a: 80 91 80 00 lds r24, 0x0080
85e: 8f 5f subi r24, 0xFF ; 255
860: 80 93 80 00 sts 0x0080, r24
864: 80 91 80 00 lds r24, 0x0080
868: 8e 31 cpi r24, 0x1E ; 30
86a: 10 f0 brcs .+4 ; 0x870 <__vector_6+0x9a>
86c: 10 92 80 00 sts 0x0080, r1
870: e1 d0 rcall .+450 ; 0xa34 <Show_State>
872: 80 91 72 00 lds r24, 0x0072
876: 8f 5f subi r24, 0xFF ; 255
878: 80 93 72 00 sts 0x0072, r24
87c: 80 91 72 00 lds r24, 0x0072
880: 8a 30 cpi r24, 0x0A ; 10
882: 38 f0 brcs .+14 ; 0x892 <__vector_6+0xbc>
884: 10 92 72 00 sts 0x0072, r1
888: 80 91 78 00 lds r24, 0x0078
88c: 4d dc rcall .-1894 ; 0x128 <KeyScan>
88e: 80 93 78 00 sts 0x0078, r24
892: 80 91 68 00 lds r24, 0x0068
896: 90 91 69 00 lds r25, 0x0069
89a: 01 96 adiw r24, 0x01 ; 1
89c: 90 93 69 00 sts 0x0069, r25
8a0: 80 93 68 00 sts 0x0068, r24
8a4: 80 91 68 00 lds r24, 0x0068
8a8: 90 91 69 00 lds r25, 0x0069
8ac: 84 36 cpi r24, 0x64 ; 100
8ae: 91 05 cpc r25, r1
8b0: 28 f0 brcs .+10 ; 0x8bc <__vector_6+0xe6>
8b2: 82 df rcall .-252 ; 0x7b8 <AD_Shift>
8b4: 10 92 69 00 sts 0x0069, r1
8b8: 10 92 68 00 sts 0x0068, r1
8bc: ff 91 pop r31
8be: ef 91 pop r30
8c0: bf 91 pop r27
8c2: af 91 pop r26
8c4: 9f 91 pop r25
8c6: 8f 91 pop r24
8c8: 7f 91 pop r23
8ca: 6f 91 pop r22
8cc: 5f 91 pop r21
8ce: 4f 91 pop r20
8d0: 3f 91 pop r19
8d2: 2f 91 pop r18
8d4: 0f 90 pop r0
8d6: 0f be out 0x3f, r0 ; 63
8d8: 0f 90 pop r0
8da: 1f 90 pop r1
8dc: 18 95 reti
000008de <Reg_Init>:
// Peripheral specific initialization functions,
// Called from the Init_Device() function
void Reg_Init(void)
{
SREG;
8de: 8f b7 in r24, 0x3f ; 63
SP;
8e0: 8d b7 in r24, 0x3d ; 61
8e2: 9e b7 in r25, 0x3e ; 62
// SPL;
// SPH;
SFIOR=0x00;//[--,--,--,ADHSM,ACME,PUD,PSR2,PSR10]//SFIOR=0x04;
8e4: 10 be out 0x30, r1 ; 48
SPMCR;//[SPMIE,RWWSB,--,RWWSRE,BLBSET,PGWRT,PGERS,SPMEN]
8e6: 87 b7 in r24, 0x37 ; 55
MCUCSR;//[--,--,--,--,WDFR,BORF,EXTRF,PORF]
8e8: 84 b7 in r24, 0x34 ; 52
8ea: 08 95 ret
000008ec <Oscillator_Init>:
}
void Oscillator_Init(void)
{
OSCCAL=0xC0;
8ec: 80 ec ldi r24, 0xC0 ; 192
8ee: 81 bf out 0x31, r24 ; 49
8f0: 08 95 ret
000008f2 <Port_Init>:
}
void Port_Init(void)
{
/*****
PINB;
DDRB=0xBD;//DDRB=0xBF;
PORTB=0B10100000;//PORTB=0x66; //0B01100110
PINC;
DDRC=0x4F;//DDRC=0x0F;
PORTC=0x00;
PIND;
DDRD=0xFF;
PORTD=0x00;
DelayMs(200);
***********/
PINB;
8f2: 86 b3 in r24, 0x16 ; 22
DDRB=0xBD;//DDRB=0xBF;
8f4: 8d eb ldi r24, 0xBD ; 189
8f6: 87 bb out 0x17, r24 ; 23
PORTB=0B11100010;//PORTB=0x66; //0B01100110
8f8: 82 ee ldi r24, 0xE2 ; 226
8fa: 88 bb out 0x18, r24 ; 24
PINC;
8fc: 83 b3 in r24, 0x13 ; 19
DDRC=0x4F;//DDRC=0x0F;
8fe: 8f e4 ldi r24, 0x4F ; 79
900: 84 bb out 0x14, r24 ; 20
PORTC=0xF0;
902: 80 ef ldi r24, 0xF0 ; 240
904: 85 bb out 0x15, r24 ; 21
PIND;
906: 80 b3 in r24, 0x10 ; 16
DDRD=0xFF;
908: 8f ef ldi r24, 0xFF ; 255
90a: 81 bb out 0x11, r24 ; 17
PORTD=0x00;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -