?? dtm8-td.lst
字號:
00E9 1A20 SUB R2,R16
00EA 0A31 SBC R3,R17
00EB 2444 CLR R4
00EC 2455 CLR R5
00ED 1442 CP R4,R2
00EE 0453 CPC R5,R3
00EF F44C BGE 0x00F9
(0145) {
(0146) flag=0;
00F0 2422 CLR R2
00F1 92200066 STS flag,R2
(0147) bc=mark-bb;
00F3 91400060 LDS R20,mark
00F5 91500061 LDS R21,mark+1
00F7 1B40 SUB R20,R16
00F8 0B51 SBC R21,R17
(0148) }
(0149) if(bc<=25) { LED1; } else { LED0; }
00F9 E189 LDI R24,0x19
00FA E090 LDI R25,0
00FB 1784 CP R24,R20
00FC 0795 CPC R25,R21
00FD F014 BLT 0x0100
00FE 9AC3 SBI 0x18,3
00FF C001 RJMP 0x0101
0100 98C3 CBI 0x18,3
(0150) if(bc<=50) return(0);
0101 E382 LDI R24,0x32
0102 E090 LDI R25,0
0103 1784 CP R24,R20
0104 0795 CPC R25,R21
0105 F01C BLT 0x0109
0106 2700 CLR R16
0107 2711 CLR R17
0108 C00A RJMP 0x0113
(0151) if(bc>=300) return(250);
0109 324C CPI R20,0x2C
010A E0E1 LDI R30,1
010B 075E CPC R21,R30
010C F01C BLT 0x0110
010D EF0A LDI R16,0xFA
010E E010 LDI R17,0
010F C003 RJMP 0x0113
(0152) return(bc-50);
0110 018A MOVW R16,R20
0111 5302 SUBI R16,0x32
0112 4010 SBCI R17,0
0113 D096 RCALL pop_gset1
0114 9508 RET
(0153) }
(0154)
(0155) void cy(void)
(0156) {
(0157) if(!(PINC&0x04))
_cy:
0115 999A SBIC 0x13,2
0116 C012 RJMP 0x0129
(0158) {
(0159) TCNT1=0;
0117 2422 CLR R2
0118 2433 CLR R3
0119 BC3D OUT 0x2D,R3
011A BC2C OUT 0x2C,R2
011B C001 RJMP 0x011D
(0160) while(!(PINC&0x04)) WDR();
011C 95A8 WDR
011D 9B9A SBIS 0x13,2
011E CFFD RJMP 0x011C
(0161) aa=TCNT1;
011F B42C IN R2,0x2C
0120 B43D IN R3,0x2D
0121 9230006B STS aa+1,R3
0123 9220006A STS aa,R2
(0162) zb=fenc(aa);
0125 0181 MOVW R16,R2
0126 DF94 RCALL _fenc
0127 93000064 STS zb,R16
(0163) }
0129 9508 RET
_main:
012A 9722 SBIW R28,2
(0164) }
(0165)
(0166) void main()
(0167) {
(0168) EEPROM_READ(0x10,ai);//校正振蕩頻率
012B E082 LDI R24,2
012C E090 LDI R25,0
012D 8399 STD Y+1,R25
012E 8388 STD Y+0,R24
012F E62C LDI R18,0x6C
0130 E030 LDI R19,0
0131 E100 LDI R16,0x10
0132 E010 LDI R17,0
0133 D09E RCALL _EEPROMReadBytes
(0169) OSCCAL=ai;
0134 9020006C LDS R2,ai
0136 9030006D LDS R3,ai+1
0138 BE21 OUT 0x31,R2
(0170) init_devices();
0139 DF21 RCALL _init_devices
(0171)
(0172) EEPROM_READ(0x112,ai);
013A E082 LDI R24,2
013B E090 LDI R25,0
013C 8399 STD Y+1,R25
013D 8388 STD Y+0,R24
013E E62C LDI R18,0x6C
013F E030 LDI R19,0
0140 E102 LDI R16,0x12
0141 E011 LDI R17,1
0142 D08F RCALL _EEPROMReadBytes
(0173)
(0174)
(0175) if(ai==0xFFFF)
0143 9180006C LDS R24,ai
0145 9190006D LDS R25,ai+1
0147 3F8F CPI R24,0xFF
0148 EFEF LDI R30,0xFF
0149 079E CPC R25,R30
014A F4F1 BNE 0x0169
(0176) {
(0177) mark=1500; //0xD805
014B ED8C LDI R24,0xDC
014C E095 LDI R25,5
014D 93900061 STS mark+1,R25
014F 93800060 STS mark,R24
(0178) EEPROM_WRITE(0x110,mark);
0151 E082 LDI R24,2
0152 E090 LDI R25,0
0153 8399 STD Y+1,R25
0154 8388 STD Y+0,R24
0155 E620 LDI R18,0x60
0156 E030 LDI R19,0
0157 E100 LDI R16,0x10
0158 E011 LDI R17,1
0159 D099 RCALL _EEPROMWriteBytes
(0179) aa=0;
015A 2422 CLR R2
015B 2433 CLR R3
015C 9230006B STS aa+1,R3
015E 9220006A STS aa,R2
(0180) EEPROM_WRITE(0x112,aa);
0160 E082 LDI R24,2
0161 E090 LDI R25,0
0162 8399 STD Y+1,R25
0163 8388 STD Y+0,R24
0164 E62A LDI R18,0x6A
0165 E030 LDI R19,0
0166 E102 LDI R16,0x12
0167 E011 LDI R17,1
0168 D08A RCALL _EEPROMWriteBytes
(0181) }
(0182) EEPROM_READ(0x110,mark);
0169 E082 LDI R24,2
016A E090 LDI R25,0
016B 8399 STD Y+1,R25
016C 8388 STD Y+0,R24
016D E620 LDI R18,0x60
016E E030 LDI R19,0
016F E100 LDI R16,0x10
0170 E011 LDI R17,1
0171 D060 RCALL _EEPROMReadBytes
0172 C025 RJMP 0x0198
(0183)
(0184)
(0185) while(1)
(0186) {
(0187)
(0188) cy();
0173 DFA1 RCALL _cy
(0189) WDR();
0174 95A8 WDR
(0190)
(0191)
(0192) if(!(PINB&0x20))
0175 99B5 SBIC 0x16,5
0176 C021 RJMP 0x0198
(0193) {
(0194) delay(10);
0177 E00A LDI R16,0xA
0178 E010 LDI R17,0
0179 DEFF RCALL _delay
(0195) if(!(PINB&0x20))
017A 99B5 SBIC 0x16,5
017B C01C RJMP 0x0198
(0196) {
(0197) cy();
017C DF98 RCALL _cy
(0198) WDR();
017D 95A8 WDR
(0199) LED1;
017E 9AC3 SBI 0x18,3
(0200) delay(10);
017F E00A LDI R16,0xA
0180 E010 LDI R17,0
0181 DEF7 RCALL _delay
(0201) mark=aa; EEPROM_WRITE(0x110,mark);
0182 9020006A LDS R2,aa
0184 9030006B LDS R3,aa+1
0186 92300061 STS mark+1,R3
0188 92200060 STS mark,R2
018A E082 LDI R24,2
018B E090 LDI R25,0
018C 8399 STD Y+1,R25
018D 8388 STD Y+0,R24
018E E620 LDI R18,0x60
018F E030 LDI R19,0
0190 E100 LDI R16,0x10
0191 E011 LDI R17,1
0192 D060 RCALL _EEPROMWriteBytes
(0202) CLI();
0193 94F8 BCLR 7
(0203) delay(500);
0194 EF04 LDI R16,0xF4
0195 E011 LDI R17,1
0196 DEE2 RCALL _delay
(0204) SEI();
FILE: <library>
0197 9478 BSET 7
0198 CFDA RJMP 0x0173
0199 9622 ADIW R28,2
019A 9508 RET
pop_gset2:
019B E0E2 LDI R30,2
019C C00E RJMP pop
pop_gset4:
019D E0E8 LDI R30,0x8
019E C00C RJMP pop
push_gset5:
019F 92FA ST R15,-Y
01A0 92EA ST R14,-Y
push_gset4:
01A1 92DA ST R13,-Y
01A2 92CA ST R12,-Y
push_gset3:
01A3 92BA ST R11,-Y
01A4 92AA ST R10,-Y
push_gset2:
01A5 937A ST R23,-Y
01A6 936A ST R22,-Y
push_gset1:
01A7 935A ST R21,-Y
01A8 934A ST R20,-Y
01A9 9508 RET
pop_gset1:
01AA E0E1 LDI R30,1
pop:
01AB 9149 LD R20,Y+
01AC 9159 LD R21,Y+
01AD FDE0 SBRC R30,0
01AE 9508 RET
01AF 9169 LD R22,Y+
01B0 9179 LD R23,Y+
01B1 FDE1 SBRC R30,1
01B2 9508 RET
01B3 90A9 LD R10,Y+
01B4 90B9 LD R11,Y+
01B5 FDE2 SBRC R30,2
01B6 9508 RET
01B7 90C9 LD R12,Y+
01B8 90D9 LD R13,Y+
01B9 FDE3 SBRC R30,3
01BA 9508 RET
01BB 90E9 LD R14,Y+
01BC 90F9 LD R15,Y+
01BD 9508 RET
_EEPROMread:
01BE BB1F OUT 0x1F,R17
01BF BB0E OUT 0x1E,R16
01C0 9AE0 SBI 0x1C,0
01C1 B30D IN R16,0x1D
01C2 9508 RET
_EEPROMwrite:
01C3 DFE3 RCALL push_gset1
01C4 BB1F OUT 0x1F,R17
01C5 BB0E OUT 0x1E,R16
01C6 BB2D OUT 0x1D,R18
01C7 B74F IN R20,0x3F
01C8 94F8 BCLR 7
01C9 9AE2 SBI 0x1C,2
01CA 9AE1 SBI 0x1C,1
01CB 99E1 SBIC 0x1C,1
01CC CFFE RJMP 0x01CB
01CD BF4F OUT 0x3F,R20
01CE 2700 CLR R16
01CF 2711 CLR R17
01D0 DFD9 RCALL pop_gset1
01D1 9508 RET
_EEPROMReadBytes:
01D2 DFCE RCALL push_gset4
01D3 2EC2 MOV R12,R18
01D4 2ED3 MOV R13,R19
01D5 2EA0 MOV R10,R16
01D6 2EB1 MOV R11,R17
01D7 8568 LDD R22,Y+8
01D8 8579 LDD R23,Y+9
01D9 2D4C MOV R20,R12
01DA 2D5D MOV R21,R13
01DB C00D RJMP 0x01E9
01DC 2D0A MOV R16,R10
01DD 2D1B MOV R17,R11
01DE DFDF RCALL _EEPROMread
01DF 2FE4 MOV R30,R20
01E0 2FF5 MOV R31,R21
01E1 8300 STD Z+0,R16
01E2 2D8A MOV R24,R10
01E3 2D9B MOV R25,R11
01E4 9601 ADIW R24,1
01E5 2EA8 MOV R10,R24
01E6 2EB9 MOV R11,R25
01E7 5F4F SUBI R20,0xFF
01E8 4F5F SBCI R21,0xFF
01E9 2E26 MOV R2,R22
01EA 2E37 MOV R3,R23
01EB 5061 SUBI R22,1
01EC 4070 SBCI R23,0
01ED 2022 TST R2
01EE F769 BNE 0x01DC
01EF 2033 TST R3
01F0 F759 BNE 0x01DC
01F1 DFAB RCALL pop_gset4
01F2 9508 RET
_EEPROMWriteBytes:
01F3 DFAD RCALL push_gset4
01F4 2EC2 MOV R12,R18
01F5 2ED3 MOV R13,R19
01F6 2EA0 MOV R10,R16
01F7 2EB1 MOV R11,R17
01F8 8568 LDD R22,Y+8
01F9 8579 LDD R23,Y+9
01FA 2D4C MOV R20,R12
01FB 2D5D MOV R21,R13
01FC C00D RJMP 0x020A
01FD 2FE4 MOV R30,R20
01FE 2FF5 MOV R31,R21
01FF 8120 LDD R18,Z+0
0200 2D0A MOV R16,R10
0201 2D1B MOV R17,R11
0202 DFC0 RCALL _EEPROMwrite
0203 2D8A MOV R24,R10
0204 2D9B MOV R25,R11
0205 9601 ADIW R24,1
0206 2EA8 MOV R10,R24
0207 2EB9 MOV R11,R25
0208 5F4F SUBI R20,0xFF
0209 4F5F SBCI R21,0xFF
020A 2E26 MOV R2,R22
020B 2E37 MOV R3,R23
020C 5061 SUBI R22,1
020D 4070 SBCI R23,0
020E 2022 TST R2
020F F769 BNE 0x01FD
0210 2033 TST R3
0211 F759 BNE 0x01FD
0212 DF8A RCALL pop_gset4
0213 9508 RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -