?? lyj.lis
字號:
0342 .dbline -2
0342 L40:
0342 .dbline 0 ; func end
0342 0895 ret
0344 .dbsym r iPos 16 c
0344 .dbsym r iNowBit 18 c
0344 .dbend
0344 .dbfunc e CheckIrCmd _CheckIrCmd fV
0344 ; i -> R16
.even
0344 _CheckIrCmd::
0344 .dbline -1
0344 .dbline 331
0344 ; default:
0344 ; iIrMode=0;
0344 ; break;
0344 ; }
0344 ; }
0344 ;
0344 ; //對紅外命令判斷操作
0344 ; void CheckIrCmd()
0344 ; {uchar i;
0344 .dbline 332
0344 ; bIrCmdOk=0;
0344 2224 clr R2
0346 20920B00 sts _bIrCmdOk,R2
034A .dbline 333
034A ; if (iIrData[0]!=(~iIrData[1]))
034A 20900100 lds R2,_iIrData+1
034E 2094 com R2
0350 30900000 lds R3,_iIrData
0354 3214 cp R3,R2
0356 09F0 breq L77
0358 .dbline 334
0358 ; { return;//custom碼就不對
0358 .dbline 334
0358 46C0 rjmp L76
035A L77:
035A .dbline 336
035A ; }
035A ; if (iIrData[2]!=(~iIrData[3])) return;//按鍵碼不對
035A 20900300 lds R2,_iIrData+3
035E 2094 com R2
0360 30900200 lds R3,_iIrData+2
0364 3214 cp R3,R2
0366 09F0 breq L80
0368 .dbline 336
0368 3EC0 rjmp L76
036A L80:
036A .dbline 338
036A ;
036A ; i=iIrData[2]&0x0f;
036A 00910200 lds R16,_iIrData+2
036E 0F70 andi R16,15
0370 .dbline 340
0370 ; //BeepN(i&0x0f);
0370 ; switch (i)
0370 1127 clr R17
0372 0230 cpi R16,2
0374 E0E0 ldi R30,0
0376 1E07 cpc R17,R30
0378 49F1 breq L91
037A 0230 cpi R16,2
037C E0E0 ldi R30,0
037E 1E07 cpc R17,R30
0380 94F1 brlt L85
0382 L93:
0382 0730 cpi R16,7
0384 E0E0 ldi R30,0
0386 1E07 cpc R17,R30
0388 D1F0 breq L90
038A 0A30 cpi R16,10
038C E0E0 ldi R30,0
038E 1E07 cpc R17,R30
0390 49F0 breq L88
0392 0B30 cpi R16,11
0394 E0E0 ldi R30,0
0396 1E07 cpc R17,R30
0398 59F0 breq L89
039A 0E30 cpi R16,14
039C E0E0 ldi R30,0
039E 1E07 cpc R17,R30
03A0 E1F0 breq L92
03A2 21C0 rjmp L85
03A4 X13:
03A4 .dbline 341
03A4 ; { case IRSTOP:
03A4 L88:
03A4 .dbline 342
03A4 ; bCmdOk=1;iCmd=CSTOP;
03A4 81E0 ldi R24,1
03A6 80930C00 sts _bCmdOk,R24
03AA .dbline 342
03AA 80930900 sts _iCmd,R24
03AE .dbline 343
03AE ; break;
03AE 1BC0 rjmp L86
03B0 L89:
03B0 .dbline 345
03B0 ; case IRUP:
03B0 ; bCmdOk=1;iCmd=CUP;
03B0 81E0 ldi R24,1
03B2 80930C00 sts _bCmdOk,R24
03B6 .dbline 345
03B6 82E0 ldi R24,2
03B8 80930900 sts _iCmd,R24
03BC .dbline 346
03BC ; break;
03BC 14C0 rjmp L86
03BE L90:
03BE .dbline 348
03BE ; case IRDOWN:
03BE ; bCmdOk=1;iCmd=CDOWN;
03BE 81E0 ldi R24,1
03C0 80930C00 sts _bCmdOk,R24
03C4 .dbline 348
03C4 83E0 ldi R24,3
03C6 80930900 sts _iCmd,R24
03CA .dbline 349
03CA ; break;
03CA 0DC0 rjmp L86
03CC L91:
03CC .dbline 351
03CC ; case IRLAMP:
03CC ; bCmdOk=1;iCmd=CLAMP;
03CC 81E0 ldi R24,1
03CE 80930C00 sts _bCmdOk,R24
03D2 .dbline 351
03D2 84E0 ldi R24,4
03D4 80930900 sts _iCmd,R24
03D8 .dbline 352
03D8 ; break;
03D8 06C0 rjmp L86
03DA L92:
03DA .dbline 354
03DA ; case IRDIS:
03DA ; bCmdOk=1;iCmd=CDIS;
03DA 81E0 ldi R24,1
03DC 80930C00 sts _bCmdOk,R24
03E0 .dbline 354
03E0 85E0 ldi R24,5
03E2 80930900 sts _iCmd,R24
03E6 .dbline 355
03E6 ; break;
03E6 L85:
03E6 L86:
03E6 .dbline -2
03E6 L76:
03E6 .dbline 0 ; func end
03E6 0895 ret
03E8 .dbsym r i 16 c
03E8 .dbend
03E8 .dbfunc e CheckStop _CheckStop fV
.even
03E8 _CheckStop::
03E8 .dbline -1
03E8 .dbline 361
03E8 ; }
03E8 ; }
03E8 ;
03E8 ; //判斷限位開關
03E8 ; void CheckStop()
03E8 ; {
03E8 .dbline 362
03E8 ; if (((PIND&(1<<UPX))==0) || ((PIND&(1<<DWNX))==0))
03E8 829B sbis 0x10,2
03EA 02C0 rjmp L97
03EC 8399 sbic 0x10,3
03EE 04C0 rjmp L95
03F0 L97:
03F0 .dbline 363
03F0 .dbline 363
03F0 13D0 rcall _MotorStop
03F2 .dbline 364
03F2 02E0 ldi R16,2
03F4 10E0 ldi R17,0
03F6 2ED0 rcall _BeepN
03F8 .dbline 365
03F8 L95:
03F8 .dbline -2
03F8 L94:
03F8 .dbline 0 ; func end
03F8 0895 ret
03FA .dbend
03FA .dbfunc e TimerFunc _TimerFunc fV
.even
03FA _TimerFunc::
03FA .dbline -1
03FA .dbline 370
03FA ; { MotorStop();
03FA ; BeepN(2);
03FA ; }
03FA ;
03FA ; }
03FA ;
03FA ; void TimerFunc()
03FA ; {
03FA .dbline 371
03FA ; bTimer=0;
03FA 2224 clr R2
03FC 20920D00 sts _bTimer,R2
0400 .dbline 372
0400 ; CPL(PORTB,LED);
0400 82E0 ldi R24,2
0402 28B2 in R2,0x18
0404 2826 eor R2,R24
0406 28BA out 0x18,R2
0408 .dbline 376
0408 ; //CPL(PORTC,BEEP);
0408 ; //CPL(PORTC,LAMP);
0408 ; //CPL(PORTD,DOWN);
0408 ; WDR();//clear WDT
0408 A895 wdr
040A .dbline -2
040A L98:
040A .dbline 0 ; func end
040A 0895 ret
040C .dbend
040C .dbfunc e MotorUp _MotorUp fV
.even
040C _MotorUp::
040C .dbline -1
040C .dbline 380
040C ; }
040C ;
040C ; void MotorUp()
040C ; {
040C .dbline 381
040C ; CLR(PORTD,UP);
040C 9598 cbi 0x12,5
040E .dbline 382
040E ; SET(PORTD,DOWN);
040E 969A sbi 0x12,6
0410 .dbline -2
0410 L99:
0410 .dbline 0 ; func end
0410 0895 ret
0412 .dbend
0412 .dbfunc e MotorDown _MotorDown fV
.even
0412 _MotorDown::
0412 .dbline -1
0412 .dbline 386
0412 ; }
0412 ;
0412 ; void MotorDown()
0412 ; {
0412 .dbline 387
0412 ; SET(PORTD,UP);
0412 959A sbi 0x12,5
0414 .dbline 388
0414 ; CLR(PORTD,DOWN);
0414 9698 cbi 0x12,6
0416 .dbline -2
0416 L100:
0416 .dbline 0 ; func end
0416 0895 ret
0418 .dbend
0418 .dbfunc e MotorStop _MotorStop fV
.even
0418 _MotorStop::
0418 .dbline -1
0418 .dbline 392
0418 ; }
0418 ;
0418 ; void MotorStop()
0418 ; {
0418 .dbline 393
0418 ; CLR(PORTD,UP);
0418 9598 cbi 0x12,5
041A .dbline 394
041A ; CLR(PORTD,DOWN);
041A 9698 cbi 0x12,6
041C .dbline -2
041C L101:
041C .dbline 0 ; func end
041C 0895 ret
041E .dbend
041E .dbfunc e LampOn _LampOn fV
.even
041E _LampOn::
041E .dbline -1
041E .dbline 398
041E ; }
041E ;
041E ; void LampOn()
041E ; {
041E .dbline 399
041E ; SET(PORTC,LAMP);
041E AA9A sbi 0x15,2
0420 .dbline -2
0420 L102:
0420 .dbline 0 ; func end
0420 0895 ret
0422 .dbend
0422 .dbfunc e LampOff _LampOff fV
.even
0422 _LampOff::
0422 .dbline -1
0422 .dbline 403
0422 ; }
0422 ;
0422 ; void LampOff()
0422 ; {
0422 .dbline 404
0422 ; CLR(PORTC,LAMP);
0422 AA98 cbi 0x15,2
0424 .dbline -2
0424 L103:
0424 .dbline 0 ; func end
0424 0895 ret
0426 .dbend
0426 .dbfunc e LampOnOff _LampOnOff fV
.even
0426 _LampOnOff::
0426 .dbline -1
0426 .dbline 408
0426 ; }
0426 ;
0426 ; void LampOnOff()
0426 ; {
0426 .dbline 409
0426 ; CPL(PORTC,LAMP);
0426 84E0 ldi R24,4
0428 25B2 in R2,0x15
042A 2826 eor R2,R24
042C 25BA out 0x15,R2
042E .dbline -2
042E L104:
042E .dbline 0 ; func end
042E 0895 ret
0430 .dbend
0430 .dbfunc e DisOn _DisOn fV
.even
0430 _DisOn::
0430 .dbline -1
0430 .dbline 413
0430 ; }
0430 ;
0430 ; void DisOn()
0430 ; {
0430 .dbline 414
0430 ; SET(PORTC,DIS);
0430 AB9A sbi 0x15,3
0432 .dbline -2
0432 L105:
0432 .dbline 0 ; func end
0432 0895 ret
0434 .dbend
0434 .dbfunc e DisOff _DisOff fV
.even
0434 _DisOff::
0434 .dbline -1
0434 .dbline 418
0434 ; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -