1p1s5.lss
来自「cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表」· LSS 代码 · 共 1,717 行 · 第 1/5 页
LSS
1,717 行
23c: 9c dd rcall .-1224 ; 0xfffffd76 <__eeprom_end+0xff7efd76>
23e: 44 d7 rcall .+3720 ; 0x10c8 <Rest5460A>
240: 1e d8 rcall .-4036 ; 0xfffff27e <__eeprom_end+0xff7ef27e>
242: b2 d6 rcall .+3428 ; 0xfa8 <LoadCalibration>
244: be db rcall .-2180 ; 0xfffff9c2 <__eeprom_end+0xff7ef9c2>
246: 80 91 f7 00 lds r24, 0x00F7
24a: 81 50 subi r24, 0x01 ; 1
24c: 80 93 f7 00 sts 0x00F7, r24
250: 80 91 f7 00 lds r24, 0x00F7
254: 88 23 and r24, r24
256: 09 f4 brne .+2 ; 0x25a <SysInit+0x3c>
258: 78 94 sei
25a: 08 95 ret
0000025c <DispPinInit>:
}
//----------------------------------------------
void DispPinInit(void)
{
PORTB &= 0xF8;
25c: 88 b3 in r24, 0x18 ; 24
25e: 88 7f andi r24, 0xF8 ; 248
260: 88 bb out 0x18, r24 ; 24
PORTD &= 0x3f;
262: 82 b3 in r24, 0x12 ; 18
264: 8f 73 andi r24, 0x3F ; 63
266: 82 bb out 0x12, r24 ; 18
268: 08 95 ret
0000026a <HC164SendByte>:
26a: 95 98 cbi 0x12, 5 ; 18
26c: 97 e0 ldi r25, 0x07 ; 7
26e: 95 98 cbi 0x12, 5 ; 18
270: 87 ff sbrs r24, 7
272: 02 c0 rjmp .+4 ; 0x278 <HC164SendByte+0xe>
274: 94 9a sbi 0x12, 4 ; 18
276: 01 c0 rjmp .+2 ; 0x27a <HC164SendByte+0x10>
278: 94 98 cbi 0x12, 4 ; 18
27a: 88 0f add r24, r24
27c: 95 9a sbi 0x12, 5 ; 18
27e: 91 50 subi r25, 0x01 ; 1
280: 97 ff sbrs r25, 7
282: f5 cf rjmp .-22 ; 0x26e <HC164SendByte+0x4>
284: 08 95 ret
00000286 <SETB_IO>:
286: c2 98 cbi 0x18, 2 ; 24
288: 96 98 cbi 0x12, 6 ; 18
28a: 97 98 cbi 0x12, 7 ; 18
28c: c0 98 cbi 0x18, 0 ; 24
28e: c1 98 cbi 0x18, 1 ; 24
290: 99 27 eor r25, r25
292: 82 30 cpi r24, 0x02 ; 2
294: 91 05 cpc r25, r1
296: 91 f0 breq .+36 ; 0x2bc <SETB_IO+0x36>
298: 83 30 cpi r24, 0x03 ; 3
29a: 91 05 cpc r25, r1
29c: 2c f4 brge .+10 ; 0x2a8 <SETB_IO+0x22>
29e: 00 97 sbiw r24, 0x00 ; 0
2a0: 49 f0 breq .+18 ; 0x2b4 <SETB_IO+0x2e>
2a2: 01 97 sbiw r24, 0x01 ; 1
2a4: 49 f0 breq .+18 ; 0x2b8 <SETB_IO+0x32>
2a6: 08 95 ret
2a8: 83 30 cpi r24, 0x03 ; 3
2aa: 91 05 cpc r25, r1
2ac: 49 f0 breq .+18 ; 0x2c0 <SETB_IO+0x3a>
2ae: 04 97 sbiw r24, 0x04 ; 4
2b0: 49 f0 breq .+18 ; 0x2c4 <SETB_IO+0x3e>
2b2: 08 95 ret
2b4: c2 9a sbi 0x18, 2 ; 24
2b6: 08 95 ret
2b8: 96 9a sbi 0x12, 6 ; 18
2ba: 08 95 ret
2bc: 97 9a sbi 0x12, 7 ; 18
2be: 08 95 ret
2c0: c0 9a sbi 0x18, 0 ; 24
2c2: 08 95 ret
2c4: c1 9a sbi 0x18, 1 ; 24
2c6: 08 95 ret
000002c8 <__vector_9>:
2c8: 1f 92 push r1
2ca: 0f 92 push r0
2cc: 0f b6 in r0, 0x3f ; 63
2ce: 0f 92 push r0
2d0: 11 24 eor r1, r1
2d2: 2f 93 push r18
2d4: 3f 93 push r19
2d6: 4f 93 push r20
2d8: 5f 93 push r21
2da: 6f 93 push r22
2dc: 7f 93 push r23
2de: 8f 93 push r24
2e0: 9f 93 push r25
2e2: af 93 push r26
2e4: bf 93 push r27
2e6: ef 93 push r30
2e8: ff 93 push r31
2ea: 8d e8 ldi r24, 0x8D ; 141
2ec: 82 bf out 0x32, r24 ; 50
2ee: b6 df rcall .-148 ; 0x25c <DispPinInit>
2f0: 80 91 f5 00 lds r24, 0x00F5
2f4: e8 2f mov r30, r24
2f6: ff 27 eor r31, r31
2f8: e3 5a subi r30, 0xA3 ; 163
2fa: fe 4f sbci r31, 0xFE ; 254
2fc: 80 81 ld r24, Z
2fe: b5 df rcall .-150 ; 0x26a <HC164SendByte>
300: 80 91 f5 00 lds r24, 0x00F5
304: 85 30 cpi r24, 0x05 ; 5
306: 30 f0 brcs .+12 ; 0x314 <__vector_9+0x4c>
308: c2 98 cbi 0x18, 2 ; 24
30a: 96 98 cbi 0x12, 6 ; 18
30c: 97 98 cbi 0x12, 7 ; 18
30e: c0 98 cbi 0x18, 0 ; 24
310: c1 98 cbi 0x18, 1 ; 24
312: 01 c0 rjmp .+2 ; 0x316 <__vector_9+0x4e>
314: b8 df rcall .-144 ; 0x286 <SETB_IO>
316: 80 91 f5 00 lds r24, 0x00F5
31a: 8f 5f subi r24, 0xFF ; 255
31c: 80 93 f5 00 sts 0x00F5, r24
320: 85 30 cpi r24, 0x05 ; 5
322: 11 f4 brne .+4 ; 0x328 <__vector_9+0x60>
324: 10 92 f5 00 sts 0x00F5, r1
328: ff 91 pop r31
32a: ef 91 pop r30
32c: bf 91 pop r27
32e: af 91 pop r26
330: 9f 91 pop r25
332: 8f 91 pop r24
334: 7f 91 pop r23
336: 6f 91 pop r22
338: 5f 91 pop r21
33a: 4f 91 pop r20
33c: 3f 91 pop r19
33e: 2f 91 pop r18
340: 0f 90 pop r0
342: 0f be out 0x3f, r0 ; 63
344: 0f 90 pop r0
346: 1f 90 pop r1
348: 18 95 reti
0000034a <DispProcess>:
34a: cf 93 push r28
34c: df 93 push r29
34e: 80 91 63 00 lds r24, 0x0063
352: 88 23 and r24, r24
354: 29 f4 brne .+10 ; 0x360 <DispProcess+0x16>
356: 80 91 f4 00 lds r24, 0x00F4
35a: 88 23 and r24, r24
35c: 09 f4 brne .+2 ; 0x360 <DispProcess+0x16>
35e: 6a c0 rjmp .+212 ; 0x434 <DispProcess+0xea>
360: 10 92 63 00 sts 0x0063, r1
364: 82 e3 ldi r24, 0x32 ; 50
366: 90 e0 ldi r25, 0x00 ; 0
368: 90 93 65 00 sts 0x0065, r25
36c: 80 93 64 00 sts 0x0064, r24
370: 80 91 fe 00 lds r24, 0x00FE
374: 88 23 and r24, r24
376: b9 f4 brne .+46 ; 0x3a6 <DispProcess+0x5c>
378: 8f e2 ldi r24, 0x2F ; 47
37a: 80 93 5b 01 sts 0x015B, r24
37e: 80 91 76 01 lds r24, 0x0176
382: 90 91 77 01 lds r25, 0x0177
386: a0 91 78 01 lds r26, 0x0178
38a: b0 91 79 01 lds r27, 0x0179
38e: ac 01 movw r20, r24
390: bd 01 movw r22, r26
392: 87 e5 ldi r24, 0x57 ; 87
394: 91 e0 ldi r25, 0x01 ; 1
396: d1 d0 rcall .+418 ; 0x53a <DoPot>
398: 80 91 ff 00 lds r24, 0x00FF
39c: 81 30 cpi r24, 0x01 ; 1
39e: 19 f4 brne .+6 ; 0x3a6 <DispProcess+0x5c>
3a0: 8e e2 ldi r24, 0x2E ; 46
3a2: 80 93 5b 01 sts 0x015B, r24
3a6: 80 91 f6 00 lds r24, 0x00F6
3aa: 8f 5f subi r24, 0xFF ; 255
3ac: 80 93 f6 00 sts 0x00F6, r24
3b0: cd e5 ldi r28, 0x5D ; 93
3b2: d1 e0 ldi r29, 0x01 ; 1
3b4: a7 e5 ldi r26, 0x57 ; 87
3b6: b1 e0 ldi r27, 0x01 ; 1
3b8: 94 e0 ldi r25, 0x04 ; 4
3ba: 8d 91 ld r24, X+
3bc: e8 2f mov r30, r24
3be: ff 27 eor r31, r31
3c0: ec 58 subi r30, 0x8C ; 140
3c2: ff 4f sbci r31, 0xFF ; 255
3c4: 84 91 lpm r24, Z
3c6: 89 93 st Y+, r24
3c8: 91 50 subi r25, 0x01 ; 1
3ca: 97 ff sbrs r25, 7
3cc: f6 cf rjmp .-20 ; 0x3ba <DispProcess+0x70>
3ce: 80 91 f6 00 lds r24, 0x00F6
3d2: 82 30 cpi r24, 0x02 ; 2
3d4: 78 f1 brcs .+94 ; 0x434 <DispProcess+0xea>
3d6: 10 92 f6 00 sts 0x00F6, r1
3da: 80 91 fe 00 lds r24, 0x00FE
3de: 88 23 and r24, r24
3e0: 49 f5 brne .+82 ; 0x434 <DispProcess+0xea>
3e2: 80 91 6d 01 lds r24, 0x016D
3e6: 80 fd sbrc r24, 0
3e8: 09 c0 rjmp .+18 ; 0x3fc <DispProcess+0xb2>
3ea: 80 91 7b 01 lds r24, 0x017B
3ee: 88 23 and r24, r24
3f0: 29 f0 breq .+10 ; 0x3fc <DispProcess+0xb2>
3f2: 66 e6 ldi r22, 0x66 ; 102
3f4: 70 e0 ldi r23, 0x00 ; 0
3f6: 8b e5 ldi r24, 0x5B ; 91
3f8: 91 e0 ldi r25, 0x01 ; 1
3fa: 5d d2 rcall .+1210 ; 0x8b6 <Dis_info>
3fc: 80 91 6d 01 lds r24, 0x016D
400: 80 fd sbrc r24, 0
402: 09 c0 rjmp .+18 ; 0x416 <DispProcess+0xcc>
404: 80 91 7c 01 lds r24, 0x017C
408: 88 23 and r24, r24
40a: 29 f0 breq .+10 ; 0x416 <DispProcess+0xcc>
40c: 6c e6 ldi r22, 0x6C ; 108
40e: 70 e0 ldi r23, 0x00 ; 0
410: 8b e5 ldi r24, 0x5B ; 91
412: 91 e0 ldi r25, 0x01 ; 1
414: 50 d2 rcall .+1184 ; 0x8b6 <Dis_info>
416: cd e5 ldi r28, 0x5D ; 93
418: d1 e0 ldi r29, 0x01 ; 1
41a: a7 e5 ldi r26, 0x57 ; 87
41c: b1 e0 ldi r27, 0x01 ; 1
41e: 94 e0 ldi r25, 0x04 ; 4
420: 8d 91 ld r24, X+
422: e8 2f mov r30, r24
424: ff 27 eor r31, r31
426: ec 58 subi r30, 0x8C ; 140
428: ff 4f sbci r31, 0xFF ; 255
42a: 84 91 lpm r24, Z
42c: 89 93 st Y+, r24
42e: 91 50 subi r25, 0x01 ; 1
430: 97 ff sbrs r25, 7
432: f6 cf rjmp .-20 ; 0x420 <DispProcess+0xd6>
434: 10 92 f4 00 sts 0x00F4, r1
438: df 91 pop r29
43a: cf 91 pop r28
43c: 08 95 ret
0000043e <Timer1_MainLoop>:
{
uint8 i;
WAIT_TIME_STRUCT *pWaitTime;
if (fTimer1_500ms)
43e: 80 91 56 01 lds r24, 0x0156
442: 88 23 and r24, r24
444: 59 f1 breq .+86 ; 0x49c <__stack+0x3d>
{
fTimer1_500ms = 0;
446: 10 92 56 01 sts 0x0156, r1
44a: 51 e0 ldi r21, 0x01 ; 1
44c: 46 e0 ldi r20, 0x06 ; 6
44e: 20 e0 ldi r18, 0x00 ; 0
450: 30 e0 ldi r19, 0x00 ; 0
for (i=0; i<WAIT_EVENT_CNT; i++)
{
OS_CLOSE_INT();
452: f8 94 cli
454: 80 91 f7 00 lds r24, 0x00F7
458: 8f 5f subi r24, 0xFF ; 255
45a: 80 93 f7 00 sts 0x00F7, r24
pWaitTime = (WAIT_TIME_STRUCT *)pgm_read_word(&WaitTimeTab[i]);
45e: f9 01 movw r30, r18
460: ec 55 subi r30, 0x5C ; 92
462: ff 4f sbci r31, 0xFF ; 255
464: a5 91 lpm r26, Z+
466: b4 91 lpm r27, Z
if ((pWaitTime->WaitTime > 0) && (--pWaitTime->WaitTime == 0))
468: fd 01 movw r30, r26
46a: 81 81 ldd r24, Z+1 ; 0x01
46c: 92 81 ldd r25, Z+2 ; 0x02
46e: 00 97 sbiw r24, 0x00 ; 0
470: 31 f0 breq .+12 ; 0x47e <__stack+0x1f>
472: 01 97 sbiw r24, 0x01 ; 1
474: 92 83 std Z+2, r25 ; 0x02
476: 81 83 std Z+1, r24 ; 0x01
478: 89 2b or r24, r25
47a: 09 f4 brne .+2 ; 0x47e <__stack+0x1f>
{
pWaitTime->fGetTime = 1;
47c: 5c 93 st X, r21
}
OS_OPEN_INT();
47e: 80 91 f7 00 lds r24, 0x00F7
482: 81 50 subi r24, 0x01 ; 1
484: 80 93 f7 00 sts 0x00F7, r24
488: 80 91 f7 00 lds r24, 0x00F7
48c: 88 23 and r24, r24
48e: 09 f4 brne .+2 ; 0x492 <__stack+0x33>
490: 78 94 sei
492: 41 50 subi r20, 0x01 ; 1
494: 2e 5f subi r18, 0xFE ; 254
496: 3f 4f sbci r19, 0xFF ; 255
498: 47 ff sbrs r20, 7
49a: db cf rjmp .-74 ; 0x452 <Timer1_MainLoop+0x14>
49c: 08 95 ret
0000049e <__vector_8>:
}
}
}
//------------------------------------------
SIGNAL(SIG_OVERFLOW1)
{
49e: 1f 92 push r1
4a0: 0f 92 push r0
4a2: 0f b6 in r0, 0x3f ; 63
4a4: 0f 92 push r0
4a6: 11 24 eor r1, r1
4a8: 8f 93 push r24
4aa: 9f 93 push r25
TCNT1 = 0x10000 - (uint32)((float)F_CPU * CLOCK_TIME1 / F_N_TIME1 / 1000); //500MS
4ac: 80 e8 ldi r24, 0x80 ; 128
4ae: 9b ef ldi r25, 0xFB ; 251
4b0: 9d bd out 0x2d, r25 ; 45
4b2: 8c bd out 0x2c, r24 ; 44
fTimer1_500ms = 1;
4b4: 81 e0 ldi r24, 0x01 ; 1
4b6: 80 93 56 01 sts 0x0156, r24
4ba: 9f 91 pop r25
4bc: 8f 91 pop r24
4be: 0f 90 pop r0
4c0: 0f be out 0x3f, r0 ; 63
4c2: 0f 90 pop r0
4c4: 1f 90 pop r1
4c6: 18 95 reti
000004c8 <HexToBcd>:
uint16 DealRms(uint8 *pBuf,uint32 Kval);
//--------------------------------
void HexToBcd(uint8 *pBuf,uint16 temp)
{
4c8: fc 01 movw r30, r24
4ca: dc 01 movw r26, r24
4cc: 83 e0 ldi r24, 0x03 ; 3
uint8 i;
for (i=0; i<4; i++) {pBuf[i] = 0;}
4ce: 1d 92 st X+, r1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?