📄 adc_port.lst
字号:
04D5 904000C7 LDS R4,adc_data+2
04D7 905000C8 LDS R5,adc_data+3
04D9 902000C5 LDS R2,adc_data
04DB 903000C6 LDS R3,adc_data+1
04DD 925A ST R5,-Y
04DE 924A ST R4,-Y
04DF 923A ST R3,-Y
04E0 922A ST R2,-Y
04E1 E800 LDI R16,0x80
04E2 E014 LDI R17,4
04E3 940E0606 CALL lpm32
04E5 933A ST R19,-Y
04E6 932A ST R18,-Y
04E7 931A ST R17,-Y
04E8 930A ST R16,-Y
04E9 940E077A CALL cmp32f
04EB F41C BGE 0x04EF
(0047) PORTB=~0B010;
04EC EF8D LDI R24,0xFD
04ED BB88 OUT 0x18,R24
04EE C002 RJMP 0x04F1
(0048) else
(0049) PORTB=~0B100; //0.5~3V PB2亮
04EF EF8B LDI R24,0xFB
04F0 BB88 OUT 0x18,R24
(0050) ADCSRA |= 0X40;
04F1 9A36 SBI 0x06,6
04F2 9009 LD R0,Y+
04F3 BE0F OUT 0x3F,R0
04F4 91B9 LD R27,Y+
04F5 91A9 LD R26,Y+
04F6 9199 LD R25,Y+
04F7 9189 LD R24,Y+
04F8 9139 LD R19,Y+
04F9 9129 LD R18,Y+
04FA 9119 LD R17,Y+
04FB 9109 LD R16,Y+
04FC 9059 LD R5,Y+
04FD 9049 LD R4,Y+
04FE 9039 LD R3,Y+
04FF 9029 LD R2,Y+
0500 9019 LD R1,Y+
0501 9009 LD R0,Y+
0502 9518 RETI
_main:
i --> R20
0503 9726 SBIW R28,6
(0051) }
(0052)
(0053)
(0054)
(0055) void main(void)
(0056) {
(0057) uchar i=0;
0504 2744 CLR R20
(0058) DDRA=0X00;
0505 2422 CLR R2
0506 BA2A OUT 0x1A,R2
(0059) PORTA=0XFF;
0507 EF8F LDI R24,0xFF
0508 BB8B OUT 0x1B,R24
(0060) DDRB=0XFF;
0509 BB87 OUT 0x17,R24
(0061) PORTB=0XFF;
050A BB88 OUT 0x18,R24
(0062) DDRC=0X00;
050B BA24 OUT 0x14,R2
(0063) PORTC=0X00;
050C BA25 OUT 0x15,R2
(0064) /**************配置LCD12864*********************/
(0065) DDRC |=BIT(6); //设置输出
050D 9AA6 SBI 0x14,6
(0066) PORTC &= ~BIT(6); //L:serial mode 串行
050E 98AE CBI 0x15,6
(0067) DDRC &= ~BIT(7); //设置输入
050F 98A7 CBI 0x14,7
(0068) PORTC &= ~BIT(7); //LCD的NC脚悬空
0510 98AF CBI 0x15,7
(0069) DDRD &= ~BIT(7); //设置输入
0511 988F CBI 0x11,7
(0070) PORTD &= ~BIT(7); //RST复位低电平有效
0512 9897 CBI 0x12,7
(0071) /*****************************************/
(0072) DDRD=0X00;
0513 BA21 OUT 0x11,R2
(0073) PORTD=0XFF;
0514 BB82 OUT 0x12,R24
(0074) LCD_Init();
0515 DE2D RCALL _LCD_Init
(0075) ADMUX=0X61; //PA1为AD电压采样通道
0516 E681 LDI R24,0x61
0517 B987 OUT 0x07,R24
(0076) ADCSRA=0XCB;
0518 EC8B LDI R24,0xCB
0519 B986 OUT 0x06,R24
(0077) SEI();
051A 9478 BSET 7
051B C074 RJMP 0x0590
(0078) while(1)
(0079) {
(0080) //strcatenate(str20,str2);
(0081) //sprintf(str2,"%f",vcc); // 转换float 到 char
(0082) vcc=(uint)(adc_data*5000/1024);
051C E70C LDI R16,0x7C
051D E014 LDI R17,4
051E 940E0606 CALL lpm32
0520 933A ST R19,-Y
0521 932A ST R18,-Y
0522 931A ST R17,-Y
0523 930A ST R16,-Y
0524 904000C7 LDS R4,adc_data+2
0526 905000C8 LDS R5,adc_data+3
0528 902000C5 LDS R2,adc_data
052A 903000C6 LDS R3,adc_data+1
052C 925A ST R5,-Y
052D 924A ST R4,-Y
052E 923A ST R3,-Y
052F 922A ST R2,-Y
0530 940E07AB CALL empy32fs
0532 E708 LDI R16,0x78
0533 E014 LDI R17,4
0534 940E0606 CALL lpm32
0536 933A ST R19,-Y
0537 932A ST R18,-Y
0538 931A ST R17,-Y
0539 930A ST R16,-Y
053A 940E0720 CALL div32f
053C 01FE MOVW R30,R28
053D 8302 STD Z+2,R16
053E 8313 STD Z+3,R17
053F 8324 STD Z+4,R18
0540 8335 STD Z+5,R19
0541 01FE MOVW R30,R28
0542 8022 LDD R2,Z+2
0543 8033 LDD R3,Z+3
0544 8044 LDD R4,Z+4
0545 8055 LDD R5,Z+5
0546 925A ST R5,-Y
0547 924A ST R4,-Y
0548 923A ST R3,-Y
0549 922A ST R2,-Y
054A E704 LDI R16,0x74
054B E014 LDI R17,4
054C 940E0606 CALL lpm32
054E 933A ST R19,-Y
054F 932A ST R18,-Y
0550 931A ST R17,-Y
0551 930A ST R16,-Y
0552 940E077A CALL cmp32f
0554 F0CC BLT 0x056E
0555 01FE MOVW R30,R28
0556 8022 LDD R2,Z+2
0557 8033 LDD R3,Z+3
0558 8044 LDD R4,Z+4
0559 8055 LDD R5,Z+5
055A 925A ST R5,-Y
055B 924A ST R4,-Y
055C 923A ST R3,-Y
055D 922A ST R2,-Y
055E E704 LDI R16,0x74
055F E014 LDI R17,4
0560 940E0606 CALL lpm32
0562 933A ST R19,-Y
0563 932A ST R18,-Y
0564 931A ST R17,-Y
0565 930A ST R16,-Y
0566 940E06C7 CALL sub32f
0568 940E061A CALL fp2int
056A 01A8 MOVW R20,R16
056B 5040 SUBI R20,0
056C 4850 SBCI R21,0x80
056D C008 RJMP 0x0576
056E 01FE MOVW R30,R28
056F 8102 LDD R16,Z+2
0570 8113 LDD R17,Z+3
0571 8124 LDD R18,Z+4
0572 8135 LDD R19,Z+5
0573 940E061A CALL fp2int
0575 01A8 MOVW R20,R16
0576 935000C4 STS vcc+1,R21
0578 934000C3 STS vcc,R20
(0083) change( vcc ,str2) ; //显示处理
057A EC29 LDI R18,0xC9
057B E030 LDI R19,0
057C 018A MOVW R16,R20
057D DEDF RCALL _change
(0084) delay_ms(20);
057E E104 LDI R16,0x14
057F DECE RCALL _delay_ms
(0085) // LCD_ClearTXT( );
(0086) LCD_PutStr(0,0,str);
0580 EB82 LDI R24,0xB2
0581 E090 LDI R25,0
0582 8399 STD Y+1,R25
0583 8388 STD Y+0,R24
0584 2722 CLR R18
0585 2700 CLR R16
0586 DE0E RCALL _LCD_PutStr
(0087) LCD_PutStr(0,3,str2);
0587 EC89 LDI R24,0xC9
0588 E090 LDI R25,0
0589 8399 STD Y+1,R25
058A 8388 STD Y+0,R24
058B E023 LDI R18,3
058C 2700 CLR R16
058D DE07 RCALL _LCD_PutStr
(0088) delay_ms(2);
FILE: <library>
058E E002 LDI R16,2
058F DEBE RCALL _delay_ms
0590 CF8B RJMP 0x051C
0591 9626 ADIW R28,6
0592 9508 RET
push_arg4:
0593 933A ST R19,-Y
0594 932A ST R18,-Y
push_arg2:
0595 931A ST R17,-Y
0596 930A ST R16,-Y
0597 9508 RET
mod16s:
0598 9468 BSET 6
0599 92DA ST R13,-Y
059A 2ED1 MOV R13,R17
059B C004 RJMP 0x05A0
div16s:
059C 94E8 BCLR 6
059D 92DA ST R13,-Y
059E 2ED1 MOV R13,R17
059F 26D3 EOR R13,R19
05A0 FF17 SBRS R17,7
05A1 C004 RJMP 0x05A6
05A2 9510 COM R17
05A3 9500 COM R16
05A4 5F0F SUBI R16,0xFF
05A5 4F1F SBCI R17,0xFF
05A6 FF37 SBRS R19,7
05A7 C004 RJMP 0x05AC
05A8 9530 COM R19
05A9 9520 COM R18
05AA 5F2F SUBI R18,0xFF
05AB 4F3F SBCI R19,0xFF
05AC 940E05B9 CALL xdiv16u
05AE FED7 SBRS R13,7
05AF C004 RJMP 0x05B4
05B0 9510 COM R17
05B1 9500 COM R16
05B2 5F0F SUBI R16,0xFF
05B3 4F1F SBCI R17,0xFF
05B4 90D9 LD R13,Y+
05B5 9508 RET
mod16u:
05B6 9468 BSET 6
05B7 C001 RJMP xdiv16u
div16u:
05B8 94E8 BCLR 6
xdiv16u:
05B9 92EA ST R14,-Y
05BA 92FA ST R15,-Y
05BB 938A ST R24,-Y
05BC 24EE CLR R14
05BD 24FF CLR R15
05BE E180 LDI R24,0x10
05BF 0F00 LSL R16
05C0 1F11 ROL R17
05C1 1CEE ROL R14
05C2 1CFF ROL R15
05C3 16E2 CP R14,R18
05C4 06F3 CPC R15,R19
05C5 F018 BCS 0x05C9
05C6 1AE2 SUB R14,R18
05C7 0AF3 SBC R15,R19
05C8 9503 INC R16
05C9 958A DEC R24
05CA F7A1 BNE 0x05BF
05CB F416 BRTC 0x05CE
05CC 2D0E MOV R16,R14
05CD 2D1F MOV R17,R15
05CE 9189 LD R24,Y+
05CF 90F9 LD R15,Y+
05D0 90E9 LD R14,Y+
05D1 9508 RET
pop_gset2:
05D2 E0E2 LDI R30,2
05D3 940C05EA JMP pop
pop_gset3:
05D5 E0E4 LDI R30,4
05D6 940C05EA JMP pop
pop_gset4:
05D8 E0E8 LDI R30,0x8
05D9 940C05EA JMP pop
pop_gset5:
05DB 27EE CLR R30
05DC 940C05EA JMP pop
push_gset5:
05DE 92FA ST R15,-Y
05DF 92EA ST R14,-Y
push_gset4:
05E0 92DA ST R13,-Y
05E1 92CA ST R12,-Y
push_gset3:
05E2 92BA ST R11,-Y
05E3 92AA ST R10,-Y
push_gset2:
05E4 937A ST R23,-Y
05E5 936A ST R22,-Y
push_gset1:
05E6 935A ST R21,-Y
05E7 934A ST R20,-Y
05E8 9508 RET
pop_gset1:
05E9 E0E1 LDI R30,1
pop:
05EA 9149 LD R20,Y+
05EB 9159 LD R21,Y+
05EC FDE0 SBRC R30,0
05ED 9508 RET
05EE 9169 LD R22,Y+
05EF 9179 LD R23,Y+
05F0 FDE1 SBRC R30,1
05F1 9508 RET
05F2 90A9 LD R10,Y+
05F3 90B9 LD R11,Y+
05F4 FDE2 SBRC R30,2
05F5 9508 RET
05F6 90C9 LD R12,Y+
05F7 90D9 LD R13,Y+
05F8 FDE3 SBRC R30,3
05F9 9508 RET
05FA 90E9 LD R14,Y+
05FB 90F9 LD R15,Y+
05FC 9508 RET
neg32:
05FD 9500 COM R16
05FE 9510 COM R17
05FF 9520 COM R18
0600 9530 COM R19
0601 5F0F SUBI R16,0xFF
0602 4F1F SBCI R17,0xFF
0603 4F2F SBCI R18,0xFF
0604 4F3F SBCI R19,0xFF
0605 9508 RET
lpm32:
0606 93EA ST R30,-Y
0607 93FA ST R31,-Y
0608 920A ST R0,-Y
0609 2FE0 MOV R30,R16
060A 2FF1 MOV R31,R17
060B 95C8 LPM
060C 2D00 MOV R16,R0
060D 9631 ADIW R30,1
060E 95C8 LPM
060F 2D10 MOV R17,R0
0610 9631 ADIW R30,1
0611 95C8 LPM
0612 2D20 MOV R18,R0
0613 9631 ADIW R30,1
0614 95C8 LPM
0615 2D30 MOV R19,R0
0616 9009 LD R0,Y+
0617 91F9 LD R31,Y+
0618 91E9 LD R30,Y+
0619 9508 RET
fp2int:
061A 940E07F8 CALL savfacc1
061C D014 RCALL FTOI
061D 2F02 MOV R16,R18
061E 2F13 MOV R17,R19
061F FD87 SBRC R24,7
0620 C002 RJMP nojump1
0621 940C07FB JMP restorefacc1
nojump1:
0623 9510 COM R17
0624 9501 NEG R16
0625 4F1F SBCI R17,0xFF
0626 940C07FB JMP restorefacc1
fp2long:
0628 940E07F8 CALL savfacc1
062A D008 RCALL FTOL
062B FF87 SBRS R24,7
062C C002 RJMP nojump2
062D 940E05FD CALL neg32
nojump2:
062F 940C07FB JMP restorefacc1
FTOI:
0631 E0BE LDI R27,0xE
0632 C001 RJMP 0x0634
FTOL:
0633 E1BE LDI R27,0x1E
0634 940E07FE CALL unpackfacc1
0636 F069 BEQ 0x0644
0637 1BB3 SUB R27,R19
0638 F009 BEQ 0x063A
0639 F472 BPL 0x0648
063A 2388 TST R24
063B F022 BMI 0x0640
063C E014 LDI R17,4
063D E808 LDI R16,0x88
063E 940C0606 JMP lpm32
0640 E014 LDI R17,4
0641 E80E LDI R16,0x8E
0642 940C0606 JMP lpm32
0644 E014 LDI R17,4
0645 E80C LDI R16,0x8C
0646 940C0606 JMP lpm32
0648 9533 INC R19
0649 F3D2 BMI 0x0644
064A E030 LDI R19,0
064B 50B8 SUBI R27,0x8
064C F452 BPL 0x0657
064D 5FB8 SUBI R27,0xF8
064E 2F32 MOV R19,R18
064F 2F21 MOV R18,R17
0650 2F10 MOV R17,R16
0651 E800 LDI R16,0x80
0652 C006 RJMP 0x0659
0653 2F01 MOV R16,R17
0654 2F12 MOV R17,R18
0655 E020 LDI R18,0
0656 50B8 SUBI R27,0x8
0657 30B8 CPI R27,0x8
0658 F7D0 BCC 0x0653
0659 23BB TST R27
065A F031 BEQ 0x0661
065B 9536 LSR R19
065C 9527 ROR R18
065D 9517 ROR R17
065E 9507 ROR R16
065F 95BA DEC R27
0660 F7D1 BNE 0x065B
0661 9508 RET
int2fp:
0662 2722 CLR R18
0663 FD17 SBRC R17,7
0664 9520 COM R18
0665 2733 CLR R19
0666 FD27 SBRC R18,7
0667 9530 COM R19
long2fp:
0668 940E07F8 CALL savfacc1
066A D002 RCALL ITOF
066B 940C07FB JMP restorefacc1
ITOF:
066D 2788 CLR R24
066E 2333 TST R19
066F F41A BPL 0x0673
0670 940E05FD CALL neg32
0672 9580 COM R24
0673 2FB0 MOV R27,R16
0674 2BB1 OR R27,R17
0675 2BB2 OR R27,R18
0676 2BB3 OR R27,R19
0677 F411 BNE 0x067A
0678 940C0814 JMP minres
067A E1B6 LDI R27,0x16
067B C005 RJMP itof2
067C 95B3 INC R27
067D 9536 LSR R19
067E 9527 ROR R18
067F 9517 ROR R17
0680 9507 ROR R16
itof2:
0681 2333 TST R19
0682 F7C9 BNE 0x067C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -