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

📄 ir_test.lis

📁 mega16_32实验板上的程序:mega16+LCD1602+遥控器输入
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0104 01E0              ldi R16,1
 0106 10E0              ldi R17,0
 0108                   .dbline 43
 0108           ;   bitcnt++;
 0108 80910100          lds R24,_bitcnt
 010C 8F5F              subi R24,255    ; addi 1
 010E 80930100          sts _bitcnt,R24
 0112                   .dbline 44
 0112           ;   if(bitcnt<16) //开始接收前16位
 0112 8031              cpi R24,16
 0114 50F4              brsh L28
 0116           X10:
 0116                   .dbline 45
 0116           ;   {
 0116                   .dbline 46
 0116           ;    user_code++;
 0116 80910200          lds R24,_user_code
 011A 8F5F              subi R24,255    ; addi 1
 011C 80930200          sts _user_code,R24
 0120                   .dbline 47
 0120           ;    user_code<<=1;
 0120 282E              mov R2,R24
 0122 220C              lsl R2
 0124 20920200          sts _user_code,R2
 0128                   .dbline 48
 0128           ;   }
 0128 3BC0              xjmp L27
 012A           L28:
 012A                   .dbline 49
 012A           ;   else if(bitcnt==16)
 012A 80910100          lds R24,_bitcnt
 012E 8031              cpi R24,16
 0130 31F4              brne L30
 0132           X11:
 0132                   .dbline 50
 0132           ;    user_code++;
 0132 80910200          lds R24,_user_code
 0136 8F5F              subi R24,255    ; addi 1
 0138 80930200          sts _user_code,R24
 013C 31C0              xjmp L27
 013E           L30:
 013E                   .dbline 51
 013E           ;   else if(bitcnt<32) //开始接收后16位
 013E 80910100          lds R24,_bitcnt
 0142 8032              cpi R24,32
 0144 50F4              brsh L32
 0146           X12:
 0146                   .dbline 52
 0146           ;   {
 0146                   .dbline 53
 0146           ;    operate_code++;
 0146 80910300          lds R24,_operate_code
 014A 8F5F              subi R24,255    ; addi 1
 014C 80930300          sts _operate_code,R24
 0150                   .dbline 54
 0150           ;    operate_code<<=1;
 0150 282E              mov R2,R24
 0152 220C              lsl R2
 0154 20920300          sts _operate_code,R2
 0158                   .dbline 55
 0158           ;   }
 0158 23C0              xjmp L27
 015A           L32:
 015A                   .dbline 56
 015A           ;   else if(bitcnt>=32)
 015A 80910100          lds R24,_bitcnt
 015E 8032              cpi R24,32
 0160 F8F0              brlo L27
 0162           X13:
 0162                   .dbline 57
 0162           ;   {
 0162                   .dbline 58
 0162           ;    operate_code++;
 0162 80910300          lds R24,_operate_code
 0166 8F5F              subi R24,255    ; addi 1
 0168 80930300          sts _operate_code,R24
 016C                   .dbline 59
 016C           ;    ir_rx_complete_flag=1;//接收完最后一位
 016C 81E0              ldi R24,1
 016E 80930000          sts _ir_rx_complete_flag,R24
 0172                   .dbline 60
 0172           ;    bitcnt=40; 
 0172 88E2              ldi R24,40
 0174 80930100          sts _bitcnt,R24
 0178                   .dbline 61
 0178           ;    return;
 0178 13C0              xjmp L16
 017A           L26:
 017A                   .dbline 64
 017A           ;   }
 017A           ;  }
 017A           ;  else if(temp>10000&&temp<15000) //判断引导码信号,返回,等待下次开始接收
 017A 80E1              ldi R24,10000
 017C 97E2              ldi R25,39
 017E 8017              cp R24,R16
 0180 9107              cpc R25,R17
 0182 70F4              brsh L36
 0184           X14:
 0184 0839              cpi R16,152
 0186 EAE3              ldi R30,58
 0188 1E07              cpc R17,R30
 018A 50F4              brsh L36
 018C           X15:
 018C                   .dbline 65
 018C           ;  {
 018C                   .dbline 66
 018C           ;   codebegin=1;
 018C 81E0              ldi R24,1
 018E 80930400          sts _codebegin,R24
 0192                   .dbline 67
 0192           ;   bitcnt=0;
 0192 2224              clr R2
 0194 20920100          sts _bitcnt,R2
 0198                   .dbline 68
 0198           ;   user_code=0;
 0198 20920200          sts _user_code,R2
 019C                   .dbline 69
 019C           ;   operate_code=0;
 019C 20920300          sts _operate_code,R2
 01A0                   .dbline 70
 01A0           ;  }
 01A0           L36:
 01A0           L27:
 01A0           L19:
 01A0                   .dbline -2
 01A0           L16:
 01A0                   .dbline 0 ; func end
 01A0 1990              ld R1,y+
 01A2 1FBE              out 0x3f,R1
 01A4 E991              ld R30,y+
 01A6 9991              ld R25,y+
 01A8 8991              ld R24,y+
 01AA 3991              ld R19,y+
 01AC 2991              ld R18,y+
 01AE 1991              ld R17,y+
 01B0 0991              ld R16,y+
 01B2 3990              ld R3,y+
 01B4 2990              ld R2,y+
 01B6 1990              ld R1,y+
 01B8 1895              reti
 01BA                   .dbsym r newFall 18 i
 01BA                   .dbsym r temp 16 i
 01BA                   .dbend
 01BA                   .dbfunc e get_ir_code _get_ir_code fV
                        .even
 01BA           _get_ir_code::
 01BA 4A93              st -y,R20
 01BC 5A93              st -y,R21
 01BE 2297              sbiw R28,2
 01C0                   .dbline -1
 01C0                   .dbline 74
 01C0           ; }
 01C0           ; 
 01C0           ; void get_ir_code(void)
 01C0           ; {
 01C0                   .dbline 75
 01C0           ;  if(ir_rx_complete_flag==1)
 01C0 80910000          lds R24,_ir_rx_complete_flag
 01C4 8130              cpi R24,1
 01C6 09F0              breq X66
 01C8 D6C1              xjmp L39
 01CA           X66:
 01CA           X19:
 01CA                   .dbline 76
 01CA           ;  {
 01CA                   .dbline 77
 01CA           ;   if((codebegin==1)&&(bitcnt==40))
 01CA 80910400          lds R24,_codebegin
 01CE 8130              cpi R24,1
 01D0 09F0              breq X67
 01D2 D1C1              xjmp L41
 01D4           X67:
 01D4           X20:
 01D4 80910100          lds R24,_bitcnt
 01D8 8832              cpi R24,40
 01DA 09F0              breq X68
 01DC CCC1              xjmp L41
 01DE           X68:
 01DE           X21:
 01DE                   .dbline 78
 01DE           ;   {
 01DE                   .dbline 79
 01DE           ;    switch(operate_code)
 01DE 40910300          lds R20,_operate_code
 01E2 5527              clr R21
 01E4 4438              cpi R20,132
 01E6 E0E0              ldi R30,0
 01E8 5E07              cpc R21,R30
 01EA 09F4              brne X69
 01EC E9C0              xjmp L47
 01EE           X69:
 01EE           X22:
 01EE 84E8              ldi R24,132
 01F0 90E0              ldi R25,0
 01F2 8417              cp R24,R20
 01F4 9507              cpc R25,R21
 01F6 0CF4              brge X70
 01F8 6BC0              xjmp L75
 01FA           X70:
 01FA           X23:
 01FA           L74:
 01FA 4833              cpi R20,56
 01FC E0E0              ldi R30,0
 01FE 5E07              cpc R21,R30
 0200 09F4              brne X71
 0202 94C1              xjmp L73
 0204           X71:
 0204           X24:
 0204 88E3              ldi R24,56
 0206 90E0              ldi R25,0
 0208 8417              cp R24,R20
 020A 9507              cpc R25,R21
 020C 0CF4              brge X72
 020E 30C0              xjmp L77
 0210           X72:
 0210           X25:
 0210           L76:
 0210 4831              cpi R20,24
 0212 E0E0              ldi R30,0
 0214 5E07              cpc R21,R30
 0216 09F4              brne X73
 0218 35C1              xjmp L61
 021A           X73:
 021A           X26:
 021A 88E1              ldi R24,24
 021C 90E0              ldi R25,0
 021E 8417              cp R24,R20
 0220 9507              cpc R25,R21
 0222 84F0              brlt L79
 0224           X27:
 0224           L78:
 0224 4430              cpi R20,4
 0226 E0E0              ldi R30,0
 0228 5E07              cpc R21,R30
 022A 09F4              brne X74
 022C C2C0              xjmp L46
 022E           X74:
 022E           X28:
 022E 4430              cpi R20,4
 0230 E0E0              ldi R30,0
 0232 5E07              cpc R21,R30
 0234 0CF4              brge X75
 0236 80C1              xjmp L44
 0238           X75:
 0238           X29:
 0238           L80:
 0238 4431              cpi R20,20
 023A E0E0              ldi R30,0
 023C 5E07              cpc R21,R30
 023E 09F4              brne X76
 0240 F0C0              xjmp L54
 0242           X76:
 0242           X30:
 0242 7AC1              xjmp L44
 0244           L79:
 0244 4432              cpi R20,36
 0246 E0E0              ldi R30,0
 0248 5E07              cpc R21,R30
 024A 09F4              brne X77
 024C CEC0              xjmp L50
 024E           X77:
 024E           X31:
 024E 84E2              ldi R24,36
 0250 90E0              ldi R25,0
 0252 8417              cp R24,R20
 0254 9507              cpc R25,R21
 0256 34F0              brlt L82
 0258           X32:
 0258           L81:
 0258 4032              cpi R20,32
 025A E0E0              ldi R30,0
 025C 5E07              cpc R21,R30
 025E 09F4              brne X78
 0260 26C1              xjmp L64
 0262           X78:
 0262           X33:
 0262 6AC1              xjmp L44
 0264           L82:
 0264 4D32              cpi R20,45
 0266 E0E0              ldi R30,0
 0268 5E07              cpc R21,R30
 026A 09F4              brne X79
 026C 12C1              xjmp L62
 026E           X79:
 026E           X34:
 026E 64C1              xjmp L44
 0270           L77:
 0270 4934              cpi R20,73
 0272 E0E0              ldi R30,0
 0274 5E07              cpc R21,R30
 0276 09F4              brne X80
 0278 E9C0              xjmp L57
 027A           X80:
 027A           X35:
 027A 89E4              ldi R24,73
 027C 90E0              ldi R25,0
 027E 8417              cp R24,R20
 0280 9507              cpc R25,R21
 0282 84F0              brlt L84
 0284           X36:
 0284           L83:
 0284 4E33              cpi R20,62
 0286 E0E0              ldi R30,0
 0288 5E07              cpc R21,R30
 028A 09F4              brne X81
 028C 1EC1              xjmp L66
 028E           X81:
 028E           X37:
 028E 4E33              cpi R20,62
 0290 E0E0              ldi R30,0
 0292 5E07              cpc R21,R30
 0294 0CF4              brge X82
 0296 50C1              xjmp L44
 0298           X82:
 0298           X38:
 0298           L85:
 0298 4434              cpi R20,68
 029A E0E0              ldi R30,0
 029C 5E07              cpc R21,R30
 029E 09F4              brne X83
 02A0 96C0              xjmp L48
 02A2           X83:
 02A2           X39:
 02A2 4AC1              xjmp L44
 02A4           L84:
 02A4 4436              cpi R20,100
 02A6 E0E0              ldi R30,0
 02A8 5E07              cpc R21,R30
 02AA 09F4              brne X84
 02AC ACC0              xjmp L52
 02AE           X84:
 02AE           X40:
 02AE 84E6              ldi R24,100
 02B0 90E0              ldi R25,0
 02B2 8417              cp R24,R20
 02B4 9507              cpc R25,R21
 02B6 34F0              brlt L87
 02B8           X41:
 02B8           L86:
 02B8 4A35              cpi R20,90
 02BA E0E0              ldi R30,0
 02BC 5E07              cpc R21,R30
 02BE 09F4              brne X85
 02C0 19C1              xjmp L69
 02C2           X85:
 02C2           X42:
 02C2 3AC1              xjmp L44
 02C4           L87:
 02C4 4837              cpi R20,120
 02C6 E0E0              ldi R30,0
 02C8 5E07              cpc R21,R30
 02CA 09F4              brne X86
 02CC C6C0              xjmp L58

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -