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

📄 7022b.lss

📁 7022b 操作代码
💻 LSS
📖 第 1 页 / 共 3 页
字号:

7022b.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000000  00800100  000005d6  0000066a  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         000005d6  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          0000012c  00800100  00800100  0000066a  2**0
                  ALLOC
  3 .noinit       00000000  0080022c  0080022c  0000066a  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000066a  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  0000066a  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 000000cf  00000000  00000000  0000067e  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   00000516  00000000  00000000  0000074d  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 00000142  00000000  00000000  00000c63  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   0000044f  00000000  00000000  00000da5  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    00000192  00000000  00000000  000011f4  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 46 00 	jmp	0x8c
   4:	0c 94 63 00 	jmp	0xc6
   8:	0c 94 63 00 	jmp	0xc6
   c:	0c 94 63 00 	jmp	0xc6
  10:	0c 94 63 00 	jmp	0xc6
  14:	0c 94 63 00 	jmp	0xc6
  18:	0c 94 63 00 	jmp	0xc6
  1c:	0c 94 63 00 	jmp	0xc6
  20:	0c 94 63 00 	jmp	0xc6
  24:	0c 94 63 00 	jmp	0xc6
  28:	0c 94 63 00 	jmp	0xc6
  2c:	0c 94 63 00 	jmp	0xc6
  30:	0c 94 63 00 	jmp	0xc6
  34:	0c 94 63 00 	jmp	0xc6
  38:	0c 94 63 00 	jmp	0xc6
  3c:	0c 94 63 00 	jmp	0xc6
  40:	0c 94 63 00 	jmp	0xc6
  44:	0c 94 63 00 	jmp	0xc6
  48:	0c 94 63 00 	jmp	0xc6
  4c:	0c 94 63 00 	jmp	0xc6
  50:	0c 94 63 00 	jmp	0xc6
  54:	0c 94 63 00 	jmp	0xc6
  58:	0c 94 63 00 	jmp	0xc6
  5c:	0c 94 63 00 	jmp	0xc6
  60:	0c 94 63 00 	jmp	0xc6
  64:	0c 94 63 00 	jmp	0xc6
  68:	0c 94 63 00 	jmp	0xc6
  6c:	0c 94 63 00 	jmp	0xc6
  70:	0c 94 63 00 	jmp	0xc6
  74:	0c 94 63 00 	jmp	0xc6
  78:	0c 94 63 00 	jmp	0xc6
  7c:	0c 94 63 00 	jmp	0xc6
  80:	0c 94 63 00 	jmp	0xc6
  84:	0c 94 63 00 	jmp	0xc6
  88:	0c 94 63 00 	jmp	0xc6

0000008c <__ctors_end>:
  8c:	11 24       	eor	r1, r1
  8e:	1f be       	out	0x3f, r1	; 63
  90:	cf ef       	ldi	r28, 0xFF	; 255
  92:	d0 e1       	ldi	r29, 0x10	; 16
  94:	de bf       	out	0x3e, r29	; 62
  96:	cd bf       	out	0x3d, r28	; 61

00000098 <__do_copy_data>:
  98:	11 e0       	ldi	r17, 0x01	; 1
  9a:	a0 e0       	ldi	r26, 0x00	; 0
  9c:	b1 e0       	ldi	r27, 0x01	; 1
  9e:	e6 ed       	ldi	r30, 0xD6	; 214
  a0:	f5 e0       	ldi	r31, 0x05	; 5
  a2:	00 e0       	ldi	r16, 0x00	; 0
  a4:	0b bf       	out	0x3b, r16	; 59
  a6:	02 c0       	rjmp	.+4      	; 0xac

000000a8 <.__do_copy_data_loop>:
  a8:	07 90       	elpm	r0, Z+
  aa:	0d 92       	st	X+, r0

000000ac <.__do_copy_data_start>:
  ac:	a0 30       	cpi	r26, 0x00	; 0
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8

000000b2 <__do_clear_bss>:
  b2:	12 e0       	ldi	r17, 0x02	; 2
  b4:	a0 e0       	ldi	r26, 0x00	; 0
  b6:	b1 e0       	ldi	r27, 0x01	; 1
  b8:	01 c0       	rjmp	.+2      	; 0xbc

000000ba <.do_clear_bss_loop>:
  ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
  bc:	ac 32       	cpi	r26, 0x2C	; 44
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba
  c2:	0c 94 96 02 	jmp	0x52c

000000c6 <__bad_interrupt>:
  c6:	0c 94 00 00 	jmp	0x0

000000ca <Power_signal>:

void jisuan(char num);

int		Power_signal(long P_data)                    	//单项功率计算
	{	return((int)(P_data>>8));	}
  ca:	dc 01       	movw	r26, r24
  cc:	cb 01       	movw	r24, r22
  ce:	89 2f       	mov	r24, r25
  d0:	9a 2f       	mov	r25, r26
  d2:	ab 2f       	mov	r26, r27
  d4:	bb 27       	eor	r27, r27
  d6:	a7 fd       	sbrc	r26, 7
  d8:	ba 95       	dec	r27
  da:	08 95       	ret

000000dc <Power_more>:
long	Power_more(long P_data)                    	//多项功率计算
	{	return(P_data>>6);	}
  dc:	dc 01       	movw	r26, r24
  de:	cb 01       	movw	r24, r22
  e0:	36 e0       	ldi	r19, 0x06	; 6
  e2:	b5 95       	asr	r27
  e4:	a7 95       	ror	r26
  e6:	97 95       	ror	r25
  e8:	87 95       	ror	r24
  ea:	3a 95       	dec	r19
  ec:	d1 f7       	brne	.-12     	; 0xe2
  ee:	bc 01       	movw	r22, r24
  f0:	cd 01       	movw	r24, r26
  f2:	08 95       	ret

000000f4 <effec_VI>:
int		effec_VI(long VI_data)                       	//电压电流有效值计算
	{	return((int)(VI_data>>13));}
  f4:	dc 01       	movw	r26, r24
  f6:	cb 01       	movw	r24, r22
  f8:	4d e0       	ldi	r20, 0x0D	; 13
  fa:	b5 95       	asr	r27
  fc:	a7 95       	ror	r26
  fe:	97 95       	ror	r25
 100:	87 95       	ror	r24
 102:	4a 95       	dec	r20
 104:	d1 f7       	brne	.-12     	; 0xfa
 106:	08 95       	ret

00000108 <Power_factor>:
char	Power_factor(long PF_data)                  	//功率因数计算
	{	return((char)(PF_data>>23));}
 108:	dc 01       	movw	r26, r24
 10a:	cb 01       	movw	r24, r22
 10c:	57 e1       	ldi	r21, 0x17	; 23
 10e:	b5 95       	asr	r27
 110:	a7 95       	ror	r26
 112:	97 95       	ror	r25
 114:	87 95       	ror	r24
 116:	5a 95       	dec	r21
 118:	d1 f7       	brne	.-12     	; 0x10e
 11a:	99 27       	eor	r25, r25
 11c:	08 95       	ret

0000011e <wire_freq>:
int		wire_freq(long WF_data)                       	//线频率计算
	{	return((int)(WF_data>>13));}
 11e:	dc 01       	movw	r26, r24
 120:	cb 01       	movw	r24, r22
 122:	6d e0       	ldi	r22, 0x0D	; 13
 124:	b5 95       	asr	r27
 126:	a7 95       	ror	r26
 128:	97 95       	ror	r25
 12a:	87 95       	ror	r24
 12c:	6a 95       	dec	r22
 12e:	d1 f7       	brne	.-12     	; 0x124
 130:	08 95       	ret

00000132 <Tem_T>:
char	Tem_T(long T_data)                            	//温度计算
	{	return((char)(T_data&0x0000ff));}
 132:	dc 01       	movw	r26, r24
 134:	cb 01       	movw	r24, r22
 136:	99 27       	eor	r25, r25
 138:	08 95       	ret

0000013a <P_D>:
char	P_D(long D_data) 								//功率方向,Bit0-3对应有功功率方向,
	{	return((char)(D_data&0x0000ff));}			//Bit4-7对应无功功率方向,0表示正,1表示负 
 13a:	dc 01       	movw	r26, r24
 13c:	cb 01       	movw	r24, r22
 13e:	99 27       	eor	r25, r25
 140:	08 95       	ret

00000142 <Phase_V>:
char	Phase_V(long PV_data)                         	//电压相序,1为次箜,0为正确
	{	if((PV_data>>3)&0x000001)	return(0x0f);     	//错误
 142:	e3 e0       	ldi	r30, 0x03	; 3
 144:	95 95       	asr	r25
 146:	87 95       	ror	r24
 148:	77 95       	ror	r23
 14a:	67 95       	ror	r22
 14c:	ea 95       	dec	r30
 14e:	d1 f7       	brne	.-12     	; 0x144
 150:	61 70       	andi	r22, 0x01	; 1
 152:	70 70       	andi	r23, 0x00	; 0
 154:	80 70       	andi	r24, 0x00	; 0
 156:	90 70       	andi	r25, 0x00	; 0
 158:	61 15       	cp	r22, r1
 15a:	71 05       	cpc	r23, r1
 15c:	19 f0       	breq	.+6      	; 0x164
 15e:	8f e0       	ldi	r24, 0x0F	; 15
 160:	90 e0       	ldi	r25, 0x00	; 0
 162:	08 95       	ret
		else						return(0x00); }   	//正确
 164:	cb 01       	movw	r24, r22
 166:	08 95       	ret
 168:	08 95       	ret

0000016a <Phase_I>:
char	Phase_I(long PI_data)                           //电流相序,1为错,0为正确
	{	if((PI_data>>4)&0x000001)	return(0xf0);     	//错误
 16a:	f4 e0       	ldi	r31, 0x04	; 4
 16c:	95 95       	asr	r25
 16e:	87 95       	ror	r24
 170:	77 95       	ror	r23
 172:	67 95       	ror	r22
 174:	fa 95       	dec	r31
 176:	d1 f7       	brne	.-12     	; 0x16c
 178:	61 70       	andi	r22, 0x01	; 1
 17a:	70 70       	andi	r23, 0x00	; 0
 17c:	80 70       	andi	r24, 0x00	; 0
 17e:	90 70       	andi	r25, 0x00	; 0
 180:	61 15       	cp	r22, r1
 182:	71 05       	cpc	r23, r1
 184:	19 f0       	breq	.+6      	; 0x18c
 186:	80 ef       	ldi	r24, 0xF0	; 240
 188:	90 e0       	ldi	r25, 0x00	; 0
 18a:	08 95       	ret
		else						return(0x00); }   	//正确 
 18c:	cb 01       	movw	r24, r22
 18e:	08 95       	ret
 190:	08 95       	ret

00000192 <ReadSpi>:




long	ReadSpi(char Com1)    	//SPI读操作
	{   char Y_N0,n1,m1;
 192:	98 2f       	mov	r25, r24
		long Data1;
		CS_1;
 194:	c0 9a       	sbi	0x18, 0	; 24
		SCLK_0;
 196:	c1 98       	cbi	0x18, 1	; 24
		CS_0;
 198:	c0 98       	cbi	0x18, 0	; 24
		for(n1=8;n1>0;n1--)
 19a:	28 e0       	ldi	r18, 0x08	; 8
		{
			SCLK_1;
 19c:	c1 9a       	sbi	0x18, 1	; 24
			Y_N0=Com1&0x01;
 19e:	89 2f       	mov	r24, r25
 1a0:	81 70       	andi	r24, 0x01	; 1
			Com1=Com1>>1;
 1a2:	96 95       	lsr	r25
			if(Y_N0)	
 1a4:	88 23       	and	r24, r24
 1a6:	11 f0       	breq	.+4      	; 0x1ac
				DIN_1;
 1a8:	c2 9a       	sbi	0x18, 2	; 24
 1aa:	01 c0       	rjmp	.+2      	; 0x1ae
			else   			    
				DIN_0;
 1ac:	c2 98       	cbi	0x18, 2	; 24
			SCLK_0;
 1ae:	c1 98       	cbi	0x18, 1	; 24
 1b0:	21 50       	subi	r18, 0x01	; 1
 1b2:	a1 f7       	brne	.-24     	; 0x19c
		__ticks = 1;
	else if (__tmp > 255)
		__ticks = 0;	/* i.e. 256 */
	else
		__ticks = (uint8_t)__tmp;
 1b4:	88 e0       	ldi	r24, 0x08	; 8
 1b6:	8a 95       	dec	r24
 1b8:	f1 f7       	brne	.-4      	; 0x1b6
		}
		_delay_us(3);
		
		for(m1=24,Data1=0;m1>0;m1--)
 1ba:	28 e1       	ldi	r18, 0x18	; 24
 1bc:	60 e0       	ldi	r22, 0x00	; 0
 1be:	70 e0       	ldi	r23, 0x00	; 0
 1c0:	80 e0       	ldi	r24, 0x00	; 0
 1c2:	90 e0       	ldi	r25, 0x00	; 0
		{
			SCLK_1;
 1c4:	c1 9a       	sbi	0x18, 1	; 24
			if(PORTB&0X08)
 1c6:	c3 9b       	sbis	0x18, 3	; 24
 1c8:	02 c0       	rjmp	.+4      	; 0x1ce
				Data1=Data1|0x800000;
 1ca:	80 68       	ori	r24, 0x80	; 128
 1cc:	02 c0       	rjmp	.+4      	; 0x1d2

⌨️ 快捷键说明

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