📄 7135_finish.lst
字号:
(0210) {
(0211) PORTB|=(1<<0);
013E 9AC0 SBI 0x18,0
(0212) SEI();
013F 9478 BSET 7
(0213) }
0140 C002 RJMP 0x0143
(0214) else
(0215) {
(0216) PORTB&=~(1<<0);
0141 98C0 CBI 0x18,0
(0217) CLI();
0142 94F8 BCLR 7
(0218) }
0143 9109 LD R16,Y+
0144 BF0F OUT 0x3F,R16
0145 9109 LD R16,Y+
0146 9518 RETI
_DATA_DISPLAY:
temp --> Y+0
i --> R20
data --> R20
0147 940E024F CALL push_gset1
0149 01A8 MOVW R20,R16
014A 9724 SBIW R28,4
(0219) }
(0220) //*****************************************************
(0221) //函数名称:void USART_INIT(void)
(0222) //函数功能:8M,波特率9600
(0223) //注意事项:
(0224) //*****************************************************
(0225) void DATA_DISPLAY(unsigned int data)
(0226) {
(0227) unsigned char temp[4],i;
(0228) temp[0]=data/1000;
014B EE28 LDI R18,0xE8
014C E033 LDI R19,3
014D 018A MOVW R16,R20
014E 940E0189 CALL div16u
0150 8308 STD Y+0,R16
(0229) temp[1]=(data/100)%10;
0151 E624 LDI R18,0x64
0152 E030 LDI R19,0
0153 018A MOVW R16,R20
0154 940E0189 CALL div16u
0156 E02A LDI R18,0xA
0157 E030 LDI R19,0
0158 940E0187 CALL mod16u
015A 8309 STD Y+1,R16
(0230) temp[2]=(data/10)%10;
015B E02A LDI R18,0xA
015C E030 LDI R19,0
015D 018A MOVW R16,R20
015E 940E0189 CALL div16u
0160 E02A LDI R18,0xA
0161 E030 LDI R19,0
0162 940E0187 CALL mod16u
0164 830A STD Y+2,R16
(0231) temp[3]=data%10;
0165 E02A LDI R18,0xA
0166 E030 LDI R19,0
0167 018A MOVW R16,R20
0168 940E0187 CALL mod16u
016A 830B STD Y+3,R16
(0232) for(i=0;i<4;i++)
016B 2744 CLR R20
016C C00B RJMP 0x0178
(0233) {
(0234) USART_TX(temp[i]);
016D 01CE MOVW R24,R28
016E 2FE4 MOV R30,R20
016F 27FF CLR R31
0170 0FE8 ADD R30,R24
0171 1FF9 ADC R31,R25
0172 8100 LDD R16,Z+0
0173 DFB8 RCALL _USART_TX
(0235) DELAY_NMS(1);
0174 E001 LDI R16,1
0175 E010 LDI R17,0
0176 DEDF RCALL _DELAY_NMS
0177 9543 INC R20
0178 3044 CPI R20,4
0179 F398 BCS 0x016D
017A 9624 ADIW R28,4
017B 940E0252 CALL pop_gset1
017D 9508 RET
(0236) }
(0237) }
(0238) //**********************************************************
(0239) //主函数
(0240) //**********************************************************
(0241) void main(void)
(0242) {
(0243) CLI();
_main:
017E 94F8 BCLR 7
(0244) PORT_INIT();
017F DEE3 RCALL _PORT_INIT
(0245) T0_125K();
0180 DEEA RCALL _T0_125K
(0246) INT0_INIT();
0181 DEF4 RCALL _INT0_INIT
(0247) T2_INIT();
0182 DF86 RCALL _T2_INIT
(0248) USART_INIT();
0183 DF9F RCALL _USART_INIT
(0249) SEI();
0184 9478 BSET 7
(0250) //PORTB|=(1<<0);//先不 进行ad采样,等待上位机命令
(0251) while(1)
FILE: <library>
0185 CFFF RJMP 0x0185
0186 9508 RET
mod16u:
0187 9468 BSET 6
0188 C001 RJMP xdiv16u
div16u:
0189 94E8 BCLR 6
xdiv16u:
018A 92EA ST R14,-Y
018B 92FA ST R15,-Y
018C 938A ST R24,-Y
018D 24EE CLR R14
018E 24FF CLR R15
018F E180 LDI R24,0x10
0190 0F00 LSL R16
0191 1F11 ROL R17
0192 1CEE ROL R14
0193 1CFF ROL R15
0194 16E2 CP R14,R18
0195 06F3 CPC R15,R19
0196 F018 BCS 0x019A
0197 1AE2 SUB R14,R18
0198 0AF3 SBC R15,R19
0199 9503 INC R16
019A 958A DEC R24
019B F7A1 BNE 0x0190
019C F416 BRTC 0x019F
019D 2D0E MOV R16,R14
019E 2D1F MOV R17,R15
019F 9189 LD R24,Y+
01A0 90F9 LD R15,Y+
01A1 90E9 LD R14,Y+
01A2 9508 RET
div32u:
01A3 94E8 BCLR 6
01A4 C001 RJMP 0x01A6
mod32u:
01A5 9468 BSET 6
01A6 D02F RCALL long_div_prolog
01A7 24CC CLR R12
01A8 C008 RJMP 0x01B1
div32s:
01A9 94E8 BCLR 6
01AA C001 RJMP 0x01AC
mod32s:
01AB 9468 BSET 6
01AC D029 RCALL long_div_prolog
01AD FD37 SBRC R19,7
01AE D053 RCALL neg_R16_R19
01AF FDB7 SBRC R27,7
01B0 D05A RCALL neg_R24_R27
01B1 2477 CLR R7
01B2 2488 CLR R8
01B3 2499 CLR R9
01B4 24AA CLR R10
01B5 24BB CLR R11
01B6 D041 RCALL tst_R16_R19
01B7 F0C1 BEQ 0x01D0
01B8 D044 RCALL tst_R24_R27
01B9 F0B1 BEQ 0x01D0
01BA E2E8 LDI R30,0x28
01BB 0F00 LSL R16
01BC 1F11 ROL R17
01BD 1F22 ROL R18
01BE 1F33 ROL R19
01BF 1C77 ROL R7
01C0 1C88 ROL R8
01C1 1C99 ROL R9
01C2 1CAA ROL R10
01C3 1CBB ROL R11
01C4 1688 CP R8,R24
01C5 0699 CPC R9,R25
01C6 06AA CPC R10,R26
01C7 06BB CPC R11,R27
01C8 F028 BCS 0x01CE
01C9 1A88 SUB R8,R24
01CA 0A99 SBC R9,R25
01CB 0AAA SBC R10,R26
01CC 0ABB SBC R11,R27
01CD 9503 INC R16
01CE 95EA DEC R30
01CF F759 BNE 0x01BB
01D0 F426 BRTC 0x01D5
01D1 2D08 MOV R16,R8
01D2 2D19 MOV R17,R9
01D3 2D2A MOV R18,R10
01D4 2D3B MOV R19,R11
01D5 C013 RJMP long_div_epilog
long_div_prolog:
01D6 927A ST R7,-Y
01D7 928A ST R8,-Y
01D8 929A ST R9,-Y
01D9 92AA ST R10,-Y
01DA 92BA ST R11,-Y
01DB 92CA ST R12,-Y
01DC 93EA ST R30,-Y
01DD 938A ST R24,-Y
01DE 939A ST R25,-Y
01DF 93AA ST R26,-Y
01E0 93BA ST R27,-Y
01E1 858B LDD R24,Y+11
01E2 859C LDD R25,Y+12
01E3 85AD LDD R26,Y+13
01E4 85BE LDD R27,Y+14
01E5 2EC3 MOV R12,R19
01E6 F00E BRTS 0x01E8
01E7 26CB EOR R12,R27
01E8 9508 RET
long_div_epilog:
01E9 FCC7 SBRC R12,7
01EA D017 RCALL neg_R16_R19
01EB 91B9 LD R27,Y+
01EC 91A9 LD R26,Y+
01ED 9199 LD R25,Y+
01EE 9189 LD R24,Y+
01EF 91E9 LD R30,Y+
01F0 90C9 LD R12,Y+
01F1 90B9 LD R11,Y+
01F2 90A9 LD R10,Y+
01F3 9099 LD R9,Y+
01F4 9089 LD R8,Y+
01F5 9079 LD R7,Y+
01F6 9624 ADIW R28,4
01F7 9508 RET
tst_R16_R19:
01F8 2FE0 MOV R30,R16
01F9 2BE1 OR R30,R17
01FA 2BE2 OR R30,R18
01FB 2BE3 OR R30,R19
01FC 9508 RET
tst_R24_R27:
01FD 2FE8 MOV R30,R24
01FE 2BE9 OR R30,R25
01FF 2BEA OR R30,R26
0200 2BEB OR R30,R27
0201 9508 RET
neg_R16_R19:
0202 9500 COM R16
0203 9510 COM R17
0204 9520 COM R18
0205 9530 COM R19
0206 5F0F SUBI R16,0xFF
0207 4F1F SBCI R17,0xFF
0208 4F2F SBCI R18,0xFF
0209 4F3F SBCI R19,0xFF
020A 9508 RET
neg_R24_R27:
020B 9580 COM R24
020C 9590 COM R25
020D 95A0 COM R26
020E 95B0 COM R27
020F 5F8F SUBI R24,0xFF
0210 4F9F SBCI R25,0xFF
0211 4FAF SBCI R26,0xFF
0212 4FBF SBCI R27,0xFF
0213 9508 RET
empy32u:
empy32s:
0214 940E0266 CALL long_prolog
0216 927F PUSH R7
0217 940E027F CALL tstzero1
0219 F139 BEQ 0x0241
021A 2477 CLR R7
021B 940E0285 CALL tstzero2
021D F419 BNE 0x0221
021E 018C MOVW R16,R24
021F 019D MOVW R18,R26
0220 C020 RJMP 0x0241
0221 9F08 MUL R16,R24
0222 2CB0 MOV R11,R0
0223 2CA1 MOV R10,R1
0224 9F28 MUL R18,R24
0225 2C90 MOV R9,R0
0226 2C81 MOV R8,R1
0227 9F18 MUL R17,R24
0228 0CA0 ADD R10,R0
0229 1C91 ADC R9,R1
022A 1C87 ADC R8,R7
022B 9F09 MUL R16,R25
022C 0CA0 ADD R10,R0
022D 1C91 ADC R9,R1
022E 1C87 ADC R8,R7
022F 9F19 MUL R17,R25
0230 0C90 ADD R9,R0
0231 1C81 ADC R8,R1
0232 9F0A MUL R16,R26
0233 0C90 ADD R9,R0
0234 1C81 ADC R8,R1
0235 9F38 MUL R19,R24
0236 0C80 ADD R8,R0
0237 9F29 MUL R18,R25
0238 0C80 ADD R8,R0
0239 9F1A MUL R17,R26
023A 0C80 ADD R8,R0
023B 9F0B MUL R16,R27
023C 0C80 ADD R8,R0
023D 2D0B MOV R16,R11
023E 2D1A MOV R17,R10
023F 2D29 MOV R18,R9
0240 2D38 MOV R19,R8
0241 907F POP R7
0242 940C0274 JMP long_epilog
pop_gset2:
0244 E0E2 LDI R30,2
0245 940C0253 JMP pop
push_gset5:
0247 92FA ST R15,-Y
0248 92EA ST R14,-Y
push_gset4:
0249 92DA ST R13,-Y
024A 92CA ST R12,-Y
push_gset3:
024B 92BA ST R11,-Y
024C 92AA ST R10,-Y
push_gset2:
024D 937A ST R23,-Y
024E 936A ST R22,-Y
push_gset1:
024F 935A ST R21,-Y
0250 934A ST R20,-Y
0251 9508 RET
pop_gset1:
0252 E0E1 LDI R30,1
pop:
0253 9149 LD R20,Y+
0254 9159 LD R21,Y+
0255 FDE0 SBRC R30,0
0256 9508 RET
0257 9169 LD R22,Y+
0258 9179 LD R23,Y+
0259 FDE1 SBRC R30,1
025A 9508 RET
025B 90A9 LD R10,Y+
025C 90B9 LD R11,Y+
025D FDE2 SBRC R30,2
025E 9508 RET
025F 90C9 LD R12,Y+
0260 90D9 LD R13,Y+
0261 FDE3 SBRC R30,3
0262 9508 RET
0263 90E9 LD R14,Y+
0264 90F9 LD R15,Y+
0265 9508 RET
long_prolog:
0266 928A ST R8,-Y
0267 929A ST R9,-Y
0268 92AA ST R10,-Y
0269 92BA ST R11,-Y
026A 93EA ST R30,-Y
026B 938A ST R24,-Y
026C 939A ST R25,-Y
026D 93AA ST R26,-Y
026E 93BA ST R27,-Y
026F 8589 LDD R24,Y+9
0270 859A LDD R25,Y+10
0271 85AB LDD R26,Y+11
0272 85BC LDD R27,Y+12
0273 9508 RET
long_epilog:
0274 91B9 LD R27,Y+
0275 91A9 LD R26,Y+
0276 9199 LD R25,Y+
0277 9189 LD R24,Y+
0278 91E9 LD R30,Y+
0279 90B9 LD R11,Y+
027A 90A9 LD R10,Y+
027B 9099 LD R9,Y+
027C 9089 LD R8,Y+
027D 9624 ADIW R28,4
027E 9508 RET
tstzero1:
027F 27EE CLR R30
0280 2BE0 OR R30,R16
0281 2BE1 OR R30,R17
0282 2BE2 OR R30,R18
0283 2BE3 OR R30,R19
0284 9508 RET
tstzero2:
0285 27EE CLR R30
0286 2BE8 OR R30,R24
0287 2BE9 OR R30,R25
0288 2BEA OR R30,R26
0289 2BEB OR R30,R27
028A 9508 RET
push_lset:
028B 93FA ST R31,-Y
028C 93EA ST R30,-Y
028D 93BA ST R27,-Y
028E 93AA ST R26,-Y
028F 939A ST R25,-Y
0290 938A ST R24,-Y
0291 933A ST R19,-Y
0292 932A ST R18,-Y
0293 931A ST R17,-Y
0294 930A ST R16,-Y
0295 929A ST R9,-Y
0296 928A ST R8,-Y
0297 927A ST R7,-Y
0298 926A ST R6,-Y
0299 925A ST R5,-Y
029A 924A ST R4,-Y
029B 923A ST R3,-Y
029C 922A ST R2,-Y
029D 921A ST R1,-Y
029E 920A ST R0,-Y
029F B60F IN R0,0x3F
02A0 920A ST R0,-Y
02A1 9508 RET
pop_lset:
02A2 9009 LD R0,Y+
02A3 BE0F OUT 0x3F,R0
02A4 9009 LD R0,Y+
02A5 9019 LD R1,Y+
02A6 9029 LD R2,Y+
02A7 9039 LD R3,Y+
02A8 9049 LD R4,Y+
02A9 9059 LD R5,Y+
02AA 9069 LD R6,Y+
02AB 9079 LD R7,Y+
02AC 9089 LD R8,Y+
02AD 9099 LD R9,Y+
02AE 9109 LD R16,Y+
02AF 9119 LD R17,Y+
02B0 9129 LD R18,Y+
02B1 9139 LD R19,Y+
02B2 9189 LD R24,Y+
02B3 9199 LD R25,Y+
02B4 91A9 LD R26,Y+
02B5 91B9 LD R27,Y+
02B6 91E9 LD R30,Y+
02B7 91F9 LD R31,Y+
02B8 9508 RET
lsr32:
02B9 920F PUSH R0
02BA 9009 LD R0,Y+
02BB 2000 TST R0
02BC F031 BEQ 0x02C3
02BD 9536 LSR R19
02BE 9527 ROR R18
02BF 9517 ROR R17
02C0 9507 ROR R16
02C1 940A DEC R0
02C2 CFF8 RJMP 0x02BB
02C3 900F POP R0
02C4 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -