?? lyj.lst
字號:
0235 2628 EOR R2,R24
0236 BA28 OUT 0x18,R2
(0373) //CPL(PORTC,BEEP);
(0374) //CPL(PORTC,LAMP);
(0375) //CPL(PORTD,DOWN);
(0376) WDR();//clear WDT
0237 95A8 WDR
0238 9508 RET
(0377) }
(0378)
(0379) void MotorUp()
(0380) {
(0381) CLR(PORTD,UP);
_MotorUp:
0239 9895 CBI 0x12,5
(0382) SET(PORTD,DOWN);
023A 9A96 SBI 0x12,6
023B 9508 RET
(0383) }
(0384)
(0385) void MotorDown()
(0386) {
(0387) SET(PORTD,UP);
_MotorDown:
023C 9A95 SBI 0x12,5
(0388) CLR(PORTD,DOWN);
023D 9896 CBI 0x12,6
023E 9508 RET
(0389) }
(0390)
(0391) void MotorStop()
(0392) {
(0393) CLR(PORTD,UP);
_MotorStop:
023F 9895 CBI 0x12,5
(0394) CLR(PORTD,DOWN);
0240 9896 CBI 0x12,6
0241 9508 RET
(0395) }
(0396)
(0397) void LampOn()
(0398) {
(0399) SET(PORTC,LAMP);
_LampOn:
0242 9AAA SBI 0x15,2
0243 9508 RET
(0400) }
(0401)
(0402) void LampOff()
(0403) {
(0404) CLR(PORTC,LAMP);
_LampOff:
0244 98AA CBI 0x15,2
0245 9508 RET
(0405) }
(0406)
(0407) void LampOnOff()
(0408) {
(0409) CPL(PORTC,LAMP);
_LampOnOff:
0246 E084 LDI R24,4
0247 B225 IN R2,0x15
0248 2628 EOR R2,R24
0249 BA25 OUT 0x15,R2
024A 9508 RET
(0410) }
(0411)
(0412) void DisOn()
(0413) {
(0414) SET(PORTC,DIS);
_DisOn:
024B 9AAB SBI 0x15,3
024C 9508 RET
(0415) }
(0416)
(0417) void DisOff()
(0418) {
(0419) CLR(PORTC,DIS);
_DisOff:
024D 98AB CBI 0x15,3
024E 9508 RET
(0420) }
(0421)
(0422) void DisOnOff()
(0423) {
(0424) CPL(PORTC,DIS);
_DisOnOff:
024F E088 LDI R24,0x8
0250 B225 IN R2,0x15
0251 2628 EOR R2,R24
0252 BA25 OUT 0x15,R2
0253 9508 RET
(0425) }
(0426)
(0427) void BeepOn()
(0428) {
(0429) SET(PORTC,BEEP);
_BeepOn:
0254 9AA8 SBI 0x15,0
0255 9508 RET
(0430) }
(0431)
(0432) void BeepOff()
(0433) {
(0434) CLR(PORTC,BEEP);
_BeepOff:
0256 98A8 CBI 0x15,0
0257 9508 RET
(0435) }
(0436)
(0437) void Beep()
(0438) {
(0439) SET(PORTC,BEEP);
_Beep:
0258 9AA8 SBI 0x15,0
(0440) DelayMs(100);
0259 E604 LDI R16,0x64
025A D02E RCALL _DelayMs
(0441) CLR(PORTC,BEEP);
025B 98A8 CBI 0x15,0
025C 9508 RET
_BeepN:
i --> R20
n --> R22
025D D050 RCALL push_gset2
025E 2F60 MOV R22,R16
(0442) }
(0443)
(0444) void BeepN(uchar n)
(0445) {uchar i;
(0446) for (i=0;i<n;i++)
025F 2744 CLR R20
0260 C005 RJMP 0x0266
(0447) { Beep();
0261 DFF6 RCALL _Beep
(0448) WDR();
0262 95A8 WDR
(0449) DelayMs(100);
0263 E604 LDI R16,0x64
0264 D024 RCALL _DelayMs
0265 9543 INC R20
0266 1746 CP R20,R22
0267 F3C8 BCS 0x0261
0268 D03B RCALL pop_gset2
0269 9508 RET
_ReadSN:
i --> Y+3
Buf --> Y+2
026A 972A SBIW R28,0xA
(0450) }
(0451)
(0452) }
(0453)
(0454) void ReadSN()
(0455) { char Buf[8],i;
(0456) EEPROMReadBytes( 0x20, Buf,8 );
026B E088 LDI R24,0x8
026C E090 LDI R25,0
026D 8399 STD Y+1,R25
026E 8388 STD Y+0,R24
026F 019E MOVW R18,R28
0270 5F2E SUBI R18,0xFE
0271 4F3F SBCI R19,0xFF
0272 E200 LDI R16,0x20
0273 E010 LDI R17,0
0274 D094 RCALL _EEPROMReadBytes
0275 962A ADIW R28,0xA
0276 9508 RET
_WriteSN:
i --> Y+3
Buf --> Y+2
0277 972A SBIW R28,0xA
(0457) }
(0458)
(0459) void WriteSN()
(0460) {char Buf[8],i;
(0461)
(0462) EEPROMWriteBytes(0x20, Buf, 8);
0278 E088 LDI R24,0x8
0279 E090 LDI R25,0
027A 8399 STD Y+1,R25
027B 8388 STD Y+0,R24
027C 019E MOVW R18,R28
027D 5F2E SUBI R18,0xFE
027E 4F3F SBCI R19,0xFF
027F E200 LDI R16,0x20
0280 E010 LDI R17,0
0281 D0A8 RCALL _EEPROMWriteBytes
0282 962A ADIW R28,0xA
0283 9508 RET
(0463)
(0464) }
(0465)
(0466)
(0467) void SystemIni(void)
(0468) {
(0469) ReadSN();
_SystemIni:
0284 DFE5 RCALL _ReadSN
(0470) T0Cnt=T0N;
0285 E08A LDI R24,0xA
0286 9380006A STS T0Cnt,R24
0288 9508 RET
_DelayMs:
i --> R20
ms --> R22
0289 D024 RCALL push_gset2
028A 2F60 MOV R22,R16
(0471) }
(0472)
(0473)
(0474) void DelayMs(char ms)
(0475) {char i;
(0476) for (i=0;i<ms;i++)
028B 2744 CLR R20
028C C004 RJMP 0x0291
(0477) {DelayUs(1000);
028D EE08 LDI R16,0xE8
028E E013 LDI R17,3
028F D005 RCALL _DelayUs
0290 9543 INC R20
0291 1746 CP R20,R22
0292 F3D0 BCS 0x028D
(0478) }
(0479) return;
0293 D010 RCALL pop_gset2
0294 9508 RET
_DelayUs:
i --> R20
us --> R16
0295 D01A RCALL push_gset1
(0480) }
(0481)
(0482) void DelayUs(uint us)
(0483) {uint i;
(0484)
(0485) for (i=0;i<us;i++)
0296 2744 CLR R20
0297 2755 CLR R21
0298 C006 RJMP 0x029F
(0486) {NOP();NOP();NOP();NOP();
FILE: <library>
0299 0000 NOP
029A 0000 NOP
029B 0000 NOP
029C 0000 NOP
029D 5F4F SUBI R20,0xFF
029E 4F5F SBCI R21,0xFF
029F 1740 CP R20,R16
02A0 0751 CPC R21,R17
02A1 F3B8 BCS 0x0299
02A2 D010 RCALL pop_gset1
02A3 9508 RET
pop_gset2:
02A4 E0E2 LDI R30,2
02A5 C00E RJMP pop
pop_gset4:
02A6 E0E8 LDI R30,0x8
02A7 C00C RJMP pop
push_gset5:
02A8 92FA ST R15,-Y
02A9 92EA ST R14,-Y
push_gset4:
02AA 92DA ST R13,-Y
02AB 92CA ST R12,-Y
push_gset3:
02AC 92BA ST R11,-Y
02AD 92AA ST R10,-Y
push_gset2:
02AE 937A ST R23,-Y
02AF 936A ST R22,-Y
push_gset1:
02B0 935A ST R21,-Y
02B1 934A ST R20,-Y
02B2 9508 RET
pop_gset1:
02B3 E0E1 LDI R30,1
pop:
02B4 9149 LD R20,Y+
02B5 9159 LD R21,Y+
02B6 FDE0 SBRC R30,0
02B7 9508 RET
02B8 9169 LD R22,Y+
02B9 9179 LD R23,Y+
02BA FDE1 SBRC R30,1
02BB 9508 RET
02BC 90A9 LD R10,Y+
02BD 90B9 LD R11,Y+
02BE FDE2 SBRC R30,2
02BF 9508 RET
02C0 90C9 LD R12,Y+
02C1 90D9 LD R13,Y+
02C2 FDE3 SBRC R30,3
02C3 9508 RET
02C4 90E9 LD R14,Y+
02C5 90F9 LD R15,Y+
02C6 9508 RET
push_lset:
02C7 93FA ST R31,-Y
02C8 93EA ST R30,-Y
02C9 93BA ST R27,-Y
02CA 93AA ST R26,-Y
02CB 939A ST R25,-Y
02CC 938A ST R24,-Y
02CD 933A ST R19,-Y
02CE 932A ST R18,-Y
02CF 931A ST R17,-Y
02D0 930A ST R16,-Y
02D1 929A ST R9,-Y
02D2 928A ST R8,-Y
02D3 927A ST R7,-Y
02D4 926A ST R6,-Y
02D5 925A ST R5,-Y
02D6 924A ST R4,-Y
02D7 923A ST R3,-Y
02D8 922A ST R2,-Y
02D9 921A ST R1,-Y
02DA 920A ST R0,-Y
02DB B60F IN R0,0x3F
02DC 920A ST R0,-Y
02DD 9508 RET
pop_lset:
02DE 9009 LD R0,Y+
02DF BE0F OUT 0x3F,R0
02E0 9009 LD R0,Y+
02E1 9019 LD R1,Y+
02E2 9029 LD R2,Y+
02E3 9039 LD R3,Y+
02E4 9049 LD R4,Y+
02E5 9059 LD R5,Y+
02E6 9069 LD R6,Y+
02E7 9079 LD R7,Y+
02E8 9089 LD R8,Y+
02E9 9099 LD R9,Y+
02EA 9109 LD R16,Y+
02EB 9119 LD R17,Y+
02EC 9129 LD R18,Y+
02ED 9139 LD R19,Y+
02EE 9189 LD R24,Y+
02EF 9199 LD R25,Y+
02F0 91A9 LD R26,Y+
02F1 91B9 LD R27,Y+
02F2 91E9 LD R30,Y+
02F3 91F9 LD R31,Y+
02F4 9508 RET
_EEPROMread:
02F5 BB1F OUT 0x1F,R17
02F6 BB0E OUT 0x1E,R16
02F7 9AE0 SBI 0x1C,0
02F8 B30D IN R16,0x1D
02F9 9508 RET
_EEPROMwrite:
02FA DFB5 RCALL push_gset1
02FB BB1F OUT 0x1F,R17
02FC BB0E OUT 0x1E,R16
02FD BB2D OUT 0x1D,R18
02FE B74F IN R20,0x3F
02FF 94F8 BCLR 7
0300 9AE2 SBI 0x1C,2
0301 9AE1 SBI 0x1C,1
0302 99E1 SBIC 0x1C,1
0303 CFFE RJMP 0x0302
0304 BF4F OUT 0x3F,R20
0305 2700 CLR R16
0306 2711 CLR R17
0307 DFAB RCALL pop_gset1
0308 9508 RET
_EEPROMReadBytes:
0309 DFA0 RCALL push_gset4
030A 2EC2 MOV R12,R18
030B 2ED3 MOV R13,R19
030C 2EA0 MOV R10,R16
030D 2EB1 MOV R11,R17
030E 8568 LDD R22,Y+8
030F 8579 LDD R23,Y+9
0310 2D4C MOV R20,R12
0311 2D5D MOV R21,R13
0312 C00D RJMP 0x0320
0313 2D0A MOV R16,R10
0314 2D1B MOV R17,R11
0315 DFDF RCALL _EEPROMread
0316 2FE4 MOV R30,R20
0317 2FF5 MOV R31,R21
0318 8300 STD Z+0,R16
0319 2D8A MOV R24,R10
031A 2D9B MOV R25,R11
031B 9601 ADIW R24,1
031C 2EA8 MOV R10,R24
031D 2EB9 MOV R11,R25
031E 5F4F SUBI R20,0xFF
031F 4F5F SBCI R21,0xFF
0320 2E26 MOV R2,R22
0321 2E37 MOV R3,R23
0322 5061 SUBI R22,1
0323 4070 SBCI R23,0
0324 2022 TST R2
0325 F769 BNE 0x0313
0326 2033 TST R3
0327 F759 BNE 0x0313
0328 DF7D RCALL pop_gset4
0329 9508 RET
_EEPROMWriteBytes:
032A DF7F RCALL push_gset4
032B 2EC2 MOV R12,R18
032C 2ED3 MOV R13,R19
032D 2EA0 MOV R10,R16
032E 2EB1 MOV R11,R17
032F 8568 LDD R22,Y+8
0330 8579 LDD R23,Y+9
0331 2D4C MOV R20,R12
0332 2D5D MOV R21,R13
0333 C00D RJMP 0x0341
0334 2FE4 MOV R30,R20
0335 2FF5 MOV R31,R21
0336 8120 LDD R18,Z+0
0337 2D0A MOV R16,R10
0338 2D1B MOV R17,R11
0339 DFC0 RCALL _EEPROMwrite
033A 2D8A MOV R24,R10
033B 2D9B MOV R25,R11
033C 9601 ADIW R24,1
033D 2EA8 MOV R10,R24
033E 2EB9 MOV R11,R25
033F 5F4F SUBI R20,0xFF
0340 4F5F SBCI R21,0xFF
0341 2E26 MOV R2,R22
0342 2E37 MOV R3,R23
0343 5061 SUBI R22,1
0344 4070 SBCI R23,0
0345 2022 TST R2
0346 F769 BNE 0x0334
0347 2033 TST R3
0348 F759 BNE 0x0334
0349 DF5C RCALL pop_gset4
034A 9508 RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -