📄 adc_sram.lst
字号:
1337 .L36:
1338 074e 8091 2B00 lds r24,43
1339 0752 9927 clr r25
1340 0754 8074 andi r24,lo8(64)
1341 0756 9070 andi r25,hi8(64)
1342 0758 0097 sbiw r24,0
1343 075a C9F3 breq .L36
226:G:/HVCBASOFT/AD/adc_sram.c **** UCSR0A=UCSR0A|(1<<TXC0);//因为没有使用发送结束中断,所以通过置数将TXC清零
1345 .LM136:
1346 075c 8091 2B00 lds r24,43
1347 0760 8064 ori r24,lo8(64)
1348 0762 8093 2B00 sts 43,r24
227:G:/HVCBASOFT/AD/adc_sram.c **** cbi(PORTE,2);//改为接收状态
1350 .LM137:
1351 0766 8091 2300 lds r24,35
1352 076a 8B7F andi r24,lo8(-5)
1353 076c 8093 2300 sts 35,r24
228:G:/HVCBASOFT/AD/adc_sram.c **** }
1355 .LM138:
1356 .LBE6:
1357 /* epilogue: frame size=2 */
1358 0770 2296 adiw r28,2
1359 0772 0FB6 in __tmp_reg__,__SREG__
1360 0774 F894 cli
1361 0776 DEBF out __SP_H__,r29
1362 0778 0FBE out __SREG__,__tmp_reg__
1363 077a CDBF out __SP_L__,r28
1364 077c DF91 pop r29
1365 077e CF91 pop r28
1366 0780 0895 ret
1367 /* epilogue end (size=9) */
1368 /* function UART_DATA_BYTE_SEND size 73 (54) */
1373 .Lscope13:
1377 .global SEND_ONE_PACKAGE
1379 SEND_ONE_PACKAGE:
229:G:/HVCBASOFT/AD/adc_sram.c ****
230:G:/HVCBASOFT/AD/adc_sram.c ****
231:G:/HVCBASOFT/AD/adc_sram.c **** //发送一包数据,temp_data为包序号,从1开始编号
232:G:/HVCBASOFT/AD/adc_sram.c **** void SEND_ONE_PACKAGE(uint8_t temp_data)
233:G:/HVCBASOFT/AD/adc_sram.c **** {
1381 .LM139:
1382 /* prologue: frame size=520 */
1383 0782 0F93 push r16
1384 0784 1F93 push r17
1385 0786 CF93 push r28
1386 0788 DF93 push r29
1387 078a CDB7 in r28,__SP_L__
1388 078c DEB7 in r29,__SP_H__
1389 078e C850 subi r28,lo8(520)
1390 0790 D240 sbci r29,hi8(520)
1391 0792 0FB6 in __tmp_reg__,__SREG__
1392 0794 F894 cli
1393 0796 DEBF out __SP_H__,r29
1394 0798 0FBE out __SREG__,__tmp_reg__
1395 079a CDBF out __SP_L__,r28
1396 /* prologue end (size=13) */
1397 079c 8983 std Y+1,r24
234:G:/HVCBASOFT/AD/adc_sram.c **** //变量定义
235:G:/HVCBASOFT/AD/adc_sram.c **** uint8_t crc16,temp_array[512];
236:G:/HVCBASOFT/AD/adc_sram.c **** uint16_t i;
237:G:/HVCBASOFT/AD/adc_sram.c **** uint32_t address;
238:G:/HVCBASOFT/AD/adc_sram.c **** //校验码初始化
239:G:/HVCBASOFT/AD/adc_sram.c **** crc16=0;
1399 .LM140:
1400 .LBB7:
1401 079e 1A82 std Y+2,__zero_reg__
240:G:/HVCBASOFT/AD/adc_sram.c **** crc16=crc16+2+temp_data;//加入地址和包序号校验
1403 .LM141:
1404 07a0 9A81 ldd r25,Y+2
1405 07a2 8981 ldd r24,Y+1
1406 07a4 890F add r24,r25
1407 07a6 8E5F subi r24,lo8(-(2))
1408 07a8 8A83 std Y+2,r24
241:G:/HVCBASOFT/AD/adc_sram.c **** //根据包序号获得相应的数据,包序号从1开始编号
242:G:/HVCBASOFT/AD/adc_sram.c **** //合闸线圈电流数据地址
243:G:/HVCBASOFT/AD/adc_sram.c **** if((temp_data>=1)&&(temp_data<=8)){address=(temp_data-1)*512;}
1410 .LM142:
1411 07aa 8981 ldd r24,Y+1
1412 07ac 8823 tst r24
1413 07ae E9F0 breq .L41
1414 07b0 8981 ldd r24,Y+1
1415 07b2 8930 cpi r24,lo8(9)
1416 07b4 D0F4 brsh .L41
1417 07b6 FE01 movw r30,r28
1418 07b8 EB5F subi r30,lo8(-(517))
1419 07ba FD4F sbci r31,hi8(-(517))
1420 07bc 8981 ldd r24,Y+1
1421 07be 282F mov r18,r24
1422 07c0 3327 clr r19
1423 07c2 80E0 ldi r24,lo8(512)
1424 07c4 92E0 ldi r25,hi8(512)
1425 07c6 289F mul r18,r24
1426 07c8 A001 movw r20,r0
1427 07ca 299F mul r18,r25
1428 07cc 500D add r21,r0
1429 07ce 389F mul r19,r24
1430 07d0 500D add r21,r0
1431 07d2 1124 clr r1
1432 07d4 CA01 movw r24,r20
1433 07d6 8050 subi r24,lo8(-(-512))
1434 07d8 9240 sbci r25,hi8(-(-512))
1435 07da AA27 clr r26
1436 07dc 97FD sbrc r25,7
1437 07de A095 com r26
1438 07e0 BA2F mov r27,r26
1439 07e2 8083 st Z,r24
1440 07e4 9183 std Z+1,r25
1441 07e6 A283 std Z+2,r26
1442 07e8 B383 std Z+3,r27
1443 .L41:
244:G:/HVCBASOFT/AD/adc_sram.c **** //分闸线圈电流数据地址
245:G:/HVCBASOFT/AD/adc_sram.c **** if((temp_data>=9)&&(temp_data<=16)){address=(temp_data-8-1)*512+10000;}
1445 .LM143:
1446 07ea 8981 ldd r24,Y+1
1447 07ec 8930 cpi r24,lo8(9)
1448 07ee E8F0 brlo .L42
1449 07f0 8981 ldd r24,Y+1
1450 07f2 8131 cpi r24,lo8(17)
1451 07f4 D0F4 brsh .L42
1452 07f6 FE01 movw r30,r28
1453 07f8 EB5F subi r30,lo8(-(517))
1454 07fa FD4F sbci r31,hi8(-(517))
1455 07fc 8981 ldd r24,Y+1
1456 07fe 282F mov r18,r24
1457 0800 3327 clr r19
1458 0802 80E0 ldi r24,lo8(512)
1459 0804 92E0 ldi r25,hi8(512)
1460 0806 289F mul r18,r24
1461 0808 A001 movw r20,r0
1462 080a 299F mul r18,r25
1463 080c 500D add r21,r0
1464 080e 389F mul r19,r24
1465 0810 500D add r21,r0
1466 0812 1124 clr r1
1467 0814 CA01 movw r24,r20
1468 0816 805F subi r24,lo8(-(5392))
1469 0818 9A4E sbci r25,hi8(-(5392))
1470 081a AA27 clr r26
1471 081c 97FD sbrc r25,7
1472 081e A095 com r26
1473 0820 BA2F mov r27,r26
1474 0822 8083 st Z,r24
1475 0824 9183 std Z+1,r25
1476 0826 A283 std Z+2,r26
1477 0828 B383 std Z+3,r27
1478 .L42:
246:G:/HVCBASOFT/AD/adc_sram.c **** //电机电流数据地址
247:G:/HVCBASOFT/AD/adc_sram.c **** if((temp_data>=17)&&(temp_data<=24)){address=(temp_data-16-1)*512+30000;}
1480 .LM144:
1481 082a 8981 ldd r24,Y+1
1482 082c 8131 cpi r24,lo8(17)
1483 082e E8F0 brlo .L43
1484 0830 8981 ldd r24,Y+1
1485 0832 8931 cpi r24,lo8(25)
1486 0834 D0F4 brsh .L43
1487 0836 FE01 movw r30,r28
1488 0838 EB5F subi r30,lo8(-(517))
1489 083a FD4F sbci r31,hi8(-(517))
1490 083c 8981 ldd r24,Y+1
1491 083e 282F mov r18,r24
1492 0840 3327 clr r19
1493 0842 80E0 ldi r24,lo8(512)
1494 0844 92E0 ldi r25,hi8(512)
1495 0846 289F mul r18,r24
1496 0848 A001 movw r20,r0
1497 084a 299F mul r18,r25
1498 084c 500D add r21,r0
1499 084e 389F mul r19,r24
1500 0850 500D add r21,r0
1501 0852 1124 clr r1
1502 0854 CA01 movw r24,r20
1503 0856 805D subi r24,lo8(-(21296))
1504 0858 9C4A sbci r25,hi8(-(21296))
1505 085a AA27 clr r26
1506 085c 97FD sbrc r25,7
1507 085e A095 com r26
1508 0860 BA2F mov r27,r26
1509 0862 8083 st Z,r24
1510 0864 9183 std Z+1,r25
1511 0866 A283 std Z+2,r26
1512 0868 B383 std Z+3,r27
1513 .L43:
248:G:/HVCBASOFT/AD/adc_sram.c **** //操作电压数据地址
249:G:/HVCBASOFT/AD/adc_sram.c **** if((temp_data>=25)&&(temp_data<=32)){address=(temp_data-24-1)*512+20000;}
1515 .LM145:
1516 086a 8981 ldd r24,Y+1
1517 086c 8931 cpi r24,lo8(25)
1518 086e E8F0 brlo .L44
1519 0870 8981 ldd r24,Y+1
1520 0872 8132 cpi r24,lo8(33)
1521 0874 D0F4 brsh .L44
1522 0876 FE01 movw r30,r28
1523 0878 EB5F subi r30,lo8(-(517))
1524 087a FD4F sbci r31,hi8(-(517))
1525 087c 8981 ldd r24,Y+1
1526 087e 282F mov r18,r24
1527 0880 3327 clr r19
1528 0882 80E0 ldi r24,lo8(512)
1529 0884 92E0 ldi r25,hi8(512)
1530 0886 289F mul r18,r24
1531 0888 A001 movw r20,r0
1532 088a 299F mul r18,r25
1533 088c 500D add r21,r0
1534 088e 389F mul r19,r24
1535 0890 500D add r21,r0
1536 0892 1124 clr r1
1537 0894 CA01 movw r24,r20
1538 0896 805E subi r24,lo8(-(7200))
1539 0898 934E sbci r25,hi8(-(7200))
1540 089a AA27 clr r26
1541 089c 97FD sbrc r25,7
1542 089e A095 com r26
1543 08a0 BA2F mov r27,r26
1544 08a2 8083 st Z,r24
1545 08a4 9183 std Z+1,r25
1546 08a6 A283 std Z+2,r26
1547 08a8 B383 std Z+3,r27
1548 .L44:
250:G:/HVCBASOFT/AD/adc_sram.c **** //根据地址给要发送的一个数组的数据和校验码赋值
251:G:/HVCBASOFT/AD/adc_sram.c **** for(i=0;i<512;i++)
1550 .LM146:
1551 08aa FE01 movw r30,r28
1552 08ac ED5F subi r30,lo8(-(515))
1553 08ae FD4F sbci r31,hi8(-(515))
1554 08b0 1082 st Z,__zero_reg__
1555 08b2 1182 std Z+1,__zero_reg__
1556 .L45:
1557 08b4 FE01 movw r30,r28
1558 08b6 ED5F subi r30,lo8(-(515))
1559 08b8 FD4F sbci r31,hi8(-(515))
1560 08ba 8081 ld r24,Z
1561 08bc 9181 ldd r25,Z+1
1562 08be 52E0 ldi r21,hi8(512)
1563 08c0 8030 cpi r24,lo8(512)
1564 08c2 9507 cpc r25,r21
1565 08c4 08F0 brlo .L48
1566 08c6 42C0 rjmp .L46
1567 .L48:
252:G:/HVCBASOFT/AD/adc_sram.c **** {
253:G:/HVCBASOFT/AD/adc_sram.c **** temp_array[i]=SRAM_1M_8_READ(address+i);//读取数据
1569 .LM147:
1570 08c8 FE01 movw r30,r28
1571 08ca ED5F subi r30,lo8(-(515))
1572 08cc FD4F sbci r31,hi8(-(515))
1573 08ce 2081 ld r18,Z
1574 08d0 3181 ldd r19,Z+1
1575 08d2 CE01 movw r24,r28
1576 08d4 0196 adiw r24,1
1577 08d6 820F add r24,r18
1578 08d8 931F adc r25,r19
1579 08da 8C01 movw r16,r24
1580 08dc 0E5F subi r16,lo8(-(2))
1581 08de 1F4F sbci r17,hi8(-(2))
1582 08e0 DE01 movw r26,r28
1583 08e2 AB5F subi r26,lo8(-(517))
1584 08e4 BD4F sbci r27,hi8(-(517))
1585 08e6 FE01 movw r30,r28
1586 08e8 ED5F subi r30,lo8(-(515))
1587 08ea FD4F sbci r31,hi8(-(515))
1588 08ec 8081 ld r24,Z
1589 08ee 9181 ldd r25,Z+1
1590 08f0 9C01 movw r18,r24
1591 08f2 4427 clr r20
1592 08f4 5527 clr r21
1593 08f6 8D91 ld r24,X+
1594 08f8 9D91 ld r25,X+
1595 08fa 0D90 ld __tmp_reg__,X+
1596 08fc BC91 ld r27,X
1597 08fe A02D mov r26,__tmp_reg__
1598 0900 820F add r24,r18
1599 0902 931F adc r25,r19
1600 0904 A41F adc r26,r20
1601 0906 B51F adc r27,r21
1602 0908 BC01 movw r22,r24
1603 090a CD01 movw r24,r26
1604 090c 0E94 0000 call SRAM_1M_8_READ
1605 0910 F801 movw r30,r16
1606 0912 8083 st Z,r24
254:G:/HVCBASOFT/AD/adc_sram.c **** crc16+=temp_array[i];//累加校验码
1608 .LM148:
1609 0914 FE01 movw r30,r28
1610 0916 ED5F subi r30,lo8(-(515))
1611 0918 FD4F sbci r31,hi8(-(515))
1612 091a 2081 ld r18,Z
1613 091c 3181 ldd r19,Z+1
1614 091e CE01 movw r24,r28
1615 0920 0196 adiw r24,1
1616 0922 820F add r24,r18
1617 0924 931F adc r25,r19
1618 0926 FC01 movw r30,r24
1619 0928 3296 adiw r30,2
1620 092a 9A81 ldd r25,Y+2
1621 092c 8081 ld r24,Z
1622 092e 890F add r24,r25
1623 0930 8A83 std Y+2,r24
1625 .LM149:
1626 0932 DE01 movw r26,r28
1627 0934 AD5F subi r26,lo8(-(515))
1628 0936 BD4F sbci r27,hi8(-(515))
1629 0938 FE01 movw r30,r28
1630 093a ED5F subi r30,lo8(-(515))
1631 093c FD4F sbci r31,hi8(-(515))
1632 093e 8081 ld r24,Z
1633 0940 9181 ldd r25,Z+1
1634 0942 0196 adiw r24,1
1635 0944 8D93 st X+,r24
1636 0946 9C93 st X,r25
1637 0948 1197 sbiw r26,1
1638 094a B4CF rjmp .L45
1639 .L46:
255:G:/HVCBASOFT/AD/adc_sram.c **** }
256:G:/HVCBASOFT/AD/adc_sram.c **** //发送数据包
257:G:/HVCBASOFT/AD/adc_sram.c **** UART_DATA_BYTE_SEND(2);//发送地址
1641 .LM150:
1642 094c 82E0 ldi r24,lo8(2)
1643 094e 0E94 0000 call UART_DATA_BYTE_SEND
258:G:/HVCBASOFT/AD/adc_sram.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -