⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lyj.lst

📁 AVR下的红外解码程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
    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 + -