1p1s5.lss

来自「cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表」· LSS 代码 · 共 1,717 行 · 第 1/5 页

LSS
1,717
字号

output/1P1S5.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .fuse         00000000  00002200  00002200  00001fb8  2**0
                  CONTENTS
  1 .text         00001e90  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .data         00000094  00800060  00001e90  00001f24  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  3 .bss          00000089  008000f4  008000f4  00001fb8  2**0
                  ALLOC
  4 .noinit       00000000  0080017d  0080017d  00001fb8  2**0
                  CONTENTS
  5 .eeprom       00000000  00810000  00810000  00001fb8  2**0
                  CONTENTS
  6 .stab         00005c88  00000000  00000000  00001fb8  2**2
                  CONTENTS, READONLY, DEBUGGING
  7 .stabstr      00001b14  00000000  00000000  00007c40  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
       0:	76 c0       	rjmp	.+236    	; 0xee <__init>
       2:	8f c0       	rjmp	.+286    	; 0x122 <__bad_interrupt>
       4:	8e c0       	rjmp	.+284    	; 0x122 <__bad_interrupt>
       6:	8d c0       	rjmp	.+282    	; 0x122 <__bad_interrupt>
       8:	8c c0       	rjmp	.+280    	; 0x122 <__bad_interrupt>
       a:	8b c0       	rjmp	.+278    	; 0x122 <__bad_interrupt>
       c:	8a c0       	rjmp	.+276    	; 0x122 <__bad_interrupt>
       e:	89 c0       	rjmp	.+274    	; 0x122 <__bad_interrupt>
      10:	46 c2       	rjmp	.+1164   	; 0x49e <__vector_8>
      12:	5a c1       	rjmp	.+692    	; 0x2c8 <__vector_9>
      14:	86 c0       	rjmp	.+268    	; 0x122 <__bad_interrupt>
      16:	ee cc       	rjmp	.-1572   	; 0xfffff9f4 <__eeprom_end+0xff7ef9f4>
      18:	32 cd       	rjmp	.-1436   	; 0xfffffa7e <__eeprom_end+0xff7efa7e>
      1a:	7d cd       	rjmp	.-1286   	; 0xfffffb16 <__eeprom_end+0xff7efb16>
      1c:	82 c0       	rjmp	.+260    	; 0x122 <__bad_interrupt>
      1e:	81 c0       	rjmp	.+258    	; 0x122 <__bad_interrupt>
      20:	80 c0       	rjmp	.+256    	; 0x122 <__bad_interrupt>
      22:	7f c0       	rjmp	.+254    	; 0x122 <__bad_interrupt>
      24:	7e c0       	rjmp	.+252    	; 0x122 <__bad_interrupt>

00000026 <__ctors_end>:
      26:	78 c4       	rjmp	.+2288   	; 0x918 <MenuDis+0x22>
      28:	77 c4       	rjmp	.+2286   	; 0x918 <MenuDis+0x22>
      2a:	76 c4       	rjmp	.+2284   	; 0x918 <MenuDis+0x22>
      2c:	75 c4       	rjmp	.+2282   	; 0x918 <MenuDis+0x22>
      2e:	74 c4       	rjmp	.+2280   	; 0x918 <MenuDis+0x22>
      30:	73 c4       	rjmp	.+2278   	; 0x918 <MenuDis+0x22>
      32:	72 c4       	rjmp	.+2276   	; 0x918 <MenuDis+0x22>
      34:	ee c4       	rjmp	.+2524   	; 0xa12 <MenuDis+0x11c>
      36:	ed c4       	rjmp	.+2522   	; 0xa12 <MenuDis+0x11c>
      38:	ec c4       	rjmp	.+2520   	; 0xa12 <MenuDis+0x11c>
      3a:	eb c4       	rjmp	.+2518   	; 0xa12 <MenuDis+0x11c>
      3c:	ea c4       	rjmp	.+2516   	; 0xa12 <MenuDis+0x11c>
      3e:	e9 c4       	rjmp	.+2514   	; 0xa12 <MenuDis+0x11c>
      40:	e8 c4       	rjmp	.+2512   	; 0xa12 <MenuDis+0x11c>
      42:	e7 c4       	rjmp	.+2510   	; 0xa12 <MenuDis+0x11c>
      44:	e6 c4       	rjmp	.+2508   	; 0xa12 <MenuDis+0x11c>
      46:	76 c4       	rjmp	.+2284   	; 0x934 <MenuDis+0x3e>
      48:	86 c4       	rjmp	.+2316   	; 0x956 <MenuDis+0x60>
      4a:	9c c4       	rjmp	.+2360   	; 0x984 <MenuDis+0x8e>
      4c:	ac c4       	rjmp	.+2392   	; 0x9a6 <MenuDis+0xb0>
      4e:	bc c4       	rjmp	.+2424   	; 0x9c8 <MenuDis+0xd2>
      50:	c8 c4       	rjmp	.+2448   	; 0x9e2 <MenuDis+0xec>
      52:	d3 c4       	rjmp	.+2470   	; 0x9fa <MenuDis+0x104>
      54:	09 c5       	rjmp	.+2578   	; 0xa68 <KeyTask_MainLoop+0x54>
      56:	0a c5       	rjmp	.+2580   	; 0xa6c <KeyTask_MainLoop+0x58>
      58:	1c c5       	rjmp	.+2616   	; 0xa92 <KeyTask_MainLoop+0x7e>
      5a:	22 c5       	rjmp	.+2628   	; 0xaa0 <KeyTask_MainLoop+0x8c>
      5c:	2a c5       	rjmp	.+2644   	; 0xab2 <KeyTask_MainLoop+0x9e>
      5e:	57 c5       	rjmp	.+2734   	; 0xb0e <KeyTask_MainLoop+0xfa>
      60:	9c c5       	rjmp	.+2872   	; 0xb9a <KeyTask_MainLoop+0x186>
      62:	dd c5       	rjmp	.+3002   	; 0xc1e <KeyTask_MainLoop+0x20a>
      64:	ec cd       	rjmp	.-1064   	; 0xfffffc3e <__eeprom_end+0xff7efc3e>
      66:	f5 cd       	rjmp	.-1046   	; 0xfffffc52 <__eeprom_end+0xff7efc52>
      68:	fc cd       	rjmp	.-1032   	; 0xfffffc62 <__eeprom_end+0xff7efc62>
      6a:	fe cd       	rjmp	.-1028   	; 0xfffffc68 <__eeprom_end+0xff7efc68>
      6c:	00 ce       	rjmp	.-1024   	; 0xfffffc6e <__eeprom_end+0xff7efc6e>
      6e:	02 ce       	rjmp	.-1020   	; 0xfffffc74 <__eeprom_end+0xff7efc74>
      70:	13 ce       	rjmp	.-986    	; 0xfffffc98 <__eeprom_end+0xff7efc98>
      72:	1b ce       	rjmp	.-970    	; 0xfffffcaa <__eeprom_end+0xff7efcaa>

00000074 <LedTab>:
      74:	3f 06 5b 4f 66 6d 7d 07 7f 6f bf 86 db cf e6 ed     ?.[Ofm}..o......
      84:	fd 87 ff ef 77 7c 39 5e 79 71 6f 74 06 1e 00 38     ....w|9^yqot...8
      94:	00 37 3f 73 bf 50 6d 78 3e 3e 00 00 6e 5b 40 00     .7?s.Pmx>>..n[@.

000000a4 <WaitTimeTab>:
      a4:	63 00 72 00 ea 00 f0 00 f8 00 60 00 ed 00           c.r.......`...

000000b2 <KeyTask>:
      b2:	00 00 00 00 00 00 11 10 23 23 10 12 10 10 20 26     ........##.... &
      c2:	25 20 14 28 27                                      % .('

000000c7 <first_menu>:
      c7:	75 00 7b 00 81 00 87 00 8d 00 93 00 99 00           u.{...........

000000d5 <pComData>:
      d5:	0b 01 0a 01 09 01 08 01 07 01 06 01 05 01 04 01     ................
      e5:	03 01 02 01 01 01 00 01 00                          .........

000000ee <__init>:
      ee:	11 24       	eor	r1, r1
      f0:	1f be       	out	0x3f, r1	; 63
      f2:	cf e5       	ldi	r28, 0x5F	; 95
      f4:	d4 e0       	ldi	r29, 0x04	; 4
      f6:	de bf       	out	0x3e, r29	; 62
      f8:	cd bf       	out	0x3d, r28	; 61

000000fa <__do_copy_data>:
      fa:	10 e0       	ldi	r17, 0x00	; 0
      fc:	a0 e6       	ldi	r26, 0x60	; 96
      fe:	b0 e0       	ldi	r27, 0x00	; 0
     100:	e0 e9       	ldi	r30, 0x90	; 144
     102:	fe e1       	ldi	r31, 0x1E	; 30
     104:	02 c0       	rjmp	.+4      	; 0x10a <.do_copy_data_start>

00000106 <.do_copy_data_loop>:
     106:	05 90       	lpm	r0, Z+
     108:	0d 92       	st	X+, r0

0000010a <.do_copy_data_start>:
     10a:	a4 3f       	cpi	r26, 0xF4	; 244
     10c:	b1 07       	cpc	r27, r17
     10e:	d9 f7       	brne	.-10     	; 0x106 <.do_copy_data_loop>

00000110 <__do_clear_bss>:
     110:	11 e0       	ldi	r17, 0x01	; 1
     112:	a4 ef       	ldi	r26, 0xF4	; 244
     114:	b0 e0       	ldi	r27, 0x00	; 0
     116:	01 c0       	rjmp	.+2      	; 0x11a <.do_clear_bss_start>

00000118 <.do_clear_bss_loop>:
     118:	1d 92       	st	X+, r1

0000011a <.do_clear_bss_start>:
     11a:	ad 37       	cpi	r26, 0x7D	; 125
     11c:	b1 07       	cpc	r27, r17
     11e:	e1 f7       	brne	.-8      	; 0x118 <.do_clear_bss_loop>
     120:	01 c0       	rjmp	.+2      	; 0x124 <main>

00000122 <__bad_interrupt>:
     122:	6e cf       	rjmp	.-292    	; 0x0 <__vectors>

00000124 <main>:


//-----------------------------
int main (void)
{   
     124:	cf e5       	ldi	r28, 0x5F	; 95
     126:	d4 e0       	ldi	r29, 0x04	; 4
     128:	de bf       	out	0x3e, r29	; 62
     12a:	cd bf       	out	0x3d, r28	; 61
    SysInit();   
     12c:	78 d0       	rcall	.+240    	; 0x21e <SysInit>
    if (!UP_KEY)
     12e:	b4 99       	sbic	0x16, 4	; 22
     130:	06 c0       	rjmp	.+12     	; 0x13e <main+0x1a>
		__ticks = 1;
	else if (__tmp > 65535)
		__ticks = 0;	/* i.e. 65536 */
	else
		__ticks = (uint16_t)__tmp;
     132:	80 e0       	ldi	r24, 0x00	; 0
     134:	98 e4       	ldi	r25, 0x48	; 72
     136:	01 97       	sbiw	r24, 0x01	; 1
     138:	f1 f7       	brne	.-4      	; 0x136 <main+0x12>
	   {
         _delay_ms(10);      
         if (!UP_KEY)  
     13a:	b4 9b       	sbis	0x16, 4	; 22
		    { Calibrate();}      
     13c:	f4 d8       	rcall	.-3608   	; 0xfffff326 <__eeprom_end+0xff7ef326>
        }
    
    while (1)
       {
           wdt_reset();              //喂狗      
     13e:	a8 95       	wdr
           Timer1_MainLoop();	     //定时时间
     140:	7e d1       	rcall	.+764    	; 0x43e <Timer1_MainLoop>
           ScanKey_MainLoop();       //按键扫描         
     142:	12 d3       	rcall	.+1572   	; 0x768 <ScanKey_MainLoop>
           KeyTask_MainLoop();       //按键任务处理          
     144:	67 d4       	rcall	.+2254   	; 0xa14 <KeyTask_MainLoop>
           WatchKey();      	  
     146:	9b d3       	rcall	.+1846   	; 0x87e <WatchKey>
           DispProcess();		     //显示数据更新
     148:	00 d1       	rcall	.+512    	; 0x34a <DispProcess>
           if (TaskID == 0)
     14a:	c0 91 fe 00 	lds	r28, 0x00FE
     14e:	cc 23       	and	r28, r28
     150:	b1 f7       	brne	.-20     	; 0x13e <main+0x1a>
	          {
		         DealDataMainLoop(); //cs5460数据处理
     152:	6a da       	rcall	.-2860   	; 0xfffff628 <__eeprom_end+0xff7ef628>
       	         WatchDataTask();	 //报警处理
     154:	4d db       	rcall	.-2406   	; 0xfffff7f0 <__eeprom_end+0xff7ef7f0>
       		     Watch5460A(); 		 //5460异常检测
                 Process_Msg(); 	 //通讯处理
               }                    
        }
}
//--------------------------------------------
static  void Watch5460A(void)   //5460异常检测(3秒一次),加载校验值
{
    if (WatchAd.fGetTime) 
     156:	80 91 60 00 	lds	r24, 0x0060
     15a:	88 23       	and	r24, r24
     15c:	a1 f1       	breq	.+104    	; 0x1c6 <main+0xa2>
       {	
	      WatchAd.fGetTime = 0;
     15e:	c0 93 60 00 	sts	0x0060, r28
	      WatchAd.WaitTime = _3S;
     162:	8c e2       	ldi	r24, 0x2C	; 44
     164:	91 e0       	ldi	r25, 0x01	; 1
     166:	90 93 62 00 	sts	0x0062, r25
     16a:	80 93 61 00 	sts	0x0061, r24
		  if (fAdRunning_A)
     16e:	80 91 75 01 	lds	r24, 0x0175
     172:	88 23       	and	r24, r24
     174:	61 f0       	breq	.+24     	; 0x18e <main+0x6a>
		     { fAdRunning_A=0;
     176:	c0 93 75 01 	sts	0x0175, r28
			   Detect_T0++;}
     17a:	80 91 02 01 	lds	r24, 0x0102
     17e:	90 91 03 01 	lds	r25, 0x0103
     182:	01 96       	adiw	r24, 0x01	; 1
     184:	90 93 03 01 	sts	0x0103, r25
     188:	80 93 02 01 	sts	0x0102, r24
     18c:	1c c0       	rjmp	.+56     	; 0x1c6 <main+0xa2>
          else 
             { Detect_T1++;        
     18e:	80 91 00 01 	lds	r24, 0x0100
     192:	90 91 01 01 	lds	r25, 0x0101
     196:	01 96       	adiw	r24, 0x01	; 1
     198:	90 93 01 01 	sts	0x0101, r25
     19c:	80 93 00 01 	sts	0x0100, r24
			   OS_CLOSE_INT();
     1a0:	f8 94       	cli
     1a2:	80 91 f7 00 	lds	r24, 0x00F7
     1a6:	8f 5f       	subi	r24, 0xFF	; 255
     1a8:	80 93 f7 00 	sts	0x00F7, r24
			   Rest5460A();  
     1ac:	8d d7       	rcall	.+3866   	; 0x10c8 <Rest5460A>
    	       Initi5460A();   
     1ae:	67 d8       	rcall	.-3890   	; 0xfffff27e <__eeprom_end+0xff7ef27e>
    	       LoadCalibration();		
     1b0:	fb d6       	rcall	.+3574   	; 0xfa8 <LoadCalibration>
			   OS_OPEN_INT();
     1b2:	80 91 f7 00 	lds	r24, 0x00F7
     1b6:	81 50       	subi	r24, 0x01	; 1
     1b8:	80 93 f7 00 	sts	0x00F7, r24
     1bc:	80 91 f7 00 	lds	r24, 0x00F7
     1c0:	88 23       	and	r24, r24
     1c2:	09 f4       	brne	.+2      	; 0x1c6 <main+0xa2>
     1c4:	78 94       	sei
     1c6:	10 dd       	rcall	.-1504   	; 0xfffffbe8 <__eeprom_end+0xff7efbe8>
     1c8:	ba cf       	rjmp	.-140    	; 0x13e <main+0x1a>

000001ca <PinInit>:
  {  wdt_enable(WDTO_1S); }      //看门狗初始化,溢出时间为1S
//--------------------------------------------------
void PinInit(void)
 {
    DDRB  = 0xc7;
     1ca:	87 ec       	ldi	r24, 0xC7	; 199
     1cc:	87 bb       	out	0x17, r24	; 23
    PORTB = 0xff;
     1ce:	9f ef       	ldi	r25, 0xFF	; 255
     1d0:	98 bb       	out	0x18, r25	; 24

    DDRC  = 0xf7;
     1d2:	87 ef       	ldi	r24, 0xF7	; 247
     1d4:	84 bb       	out	0x14, r24	; 20
    PORTC = 0xff;
     1d6:	95 bb       	out	0x15, r25	; 21

    DDRD  = 0xff;
     1d8:	91 bb       	out	0x11, r25	; 17
    PORTD = 0xff;
     1da:	92 bb       	out	0x12, r25	; 18

//	AlarmSwitch= 0x01;

    IO_HighAlarm = ON;
     1dc:	93 9a       	sbi	0x12, 3	; 18
	fH_Alarm = OFF;
     1de:	10 92 7b 01 	sts	0x017B, r1
		
	IO_LowAlarm = ON;
     1e2:	92 9a       	sbi	0x12, 2	; 18
	fL_Alarm = OFF;
     1e4:	10 92 7c 01 	sts	0x017C, r1
     1e8:	08 95       	ret

000001ea <Timer0Init>:
     1ea:	89 b7       	in	r24, 0x39	; 57
     1ec:	85 60       	ori	r24, 0x05	; 5
     1ee:	89 bf       	out	0x39, r24	; 57
     1f0:	83 b7       	in	r24, 0x33	; 51
     1f2:	83 60       	ori	r24, 0x03	; 3
     1f4:	83 bf       	out	0x33, r24	; 51
     1f6:	8d e8       	ldi	r24, 0x8D	; 141
     1f8:	82 bf       	out	0x32, r24	; 50
     1fa:	8e b5       	in	r24, 0x2e	; 46
     1fc:	83 60       	ori	r24, 0x03	; 3
     1fe:	8e bd       	out	0x2e, r24	; 46
     200:	80 e8       	ldi	r24, 0x80	; 128
     202:	9b ef       	ldi	r25, 0xFB	; 251
     204:	9d bd       	out	0x2d, r25	; 45
     206:	8c bd       	out	0x2c, r24	; 44
     208:	08 95       	ret

0000020a <WatchDogInit>:
     20a:	88 e1       	ldi	r24, 0x18	; 24
     20c:	90 e0       	ldi	r25, 0x00	; 0
     20e:	2e e0       	ldi	r18, 0x0E	; 14
     210:	0f b6       	in	r0, 0x3f	; 63
     212:	f8 94       	cli
     214:	a8 95       	wdr
     216:	81 bd       	out	0x21, r24	; 33
     218:	0f be       	out	0x3f, r0	; 63
     21a:	21 bd       	out	0x21, r18	; 33
     21c:	08 95       	ret

0000021e <SysInit>:
     21e:	f8 94       	cli
     220:	80 91 f7 00 	lds	r24, 0x00F7
     224:	8f 5f       	subi	r24, 0xFF	; 255
     226:	80 93 f7 00 	sts	0x00F7, r24
     22a:	cf df       	rcall	.-98     	; 0x1ca <PinInit>
     22c:	de df       	rcall	.-68     	; 0x1ea <Timer0Init>
     22e:	ed df       	rcall	.-38     	; 0x20a <WatchDogInit>
     230:	c2 98       	cbi	0x18, 2	; 24
     232:	96 98       	cbi	0x12, 6	; 18
     234:	97 98       	cbi	0x12, 7	; 18
     236:	c0 98       	cbi	0x18, 0	; 24
     238:	c1 98       	cbi	0x18, 1	; 24
     23a:	c8 d5       	rcall	.+2960   	; 0xdcc <LoadFunData>

⌨️ 快捷键说明

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