📄 remote.lis
字号:
00F2 .dbline 115
00F2 ; }
00F2 L20:
00F2 .dbline 117
00F2 ;
00F2 ; if (Key == DOWN)
00F2 80910200 lds R24,_Key
00F6 8430 cpi R24,4
00F8 11F4 brne L22
00FA .dbline 118
00FA ; {
00FA .dbline 119
00FA ; SendKey(0x01);
00FA 01E0 ldi R16,1
00FC 43D3 rcall _SendKey
00FE .dbline 120
00FE ; }
00FE L22:
00FE .dbline 122
00FE ;
00FE ; if (Key == SHIFT_DOWN)
00FE 80910200 lds R24,_Key
0102 8438 cpi R24,132
0104 11F4 brne L24
0106 .dbline 123
0106 ; {
0106 .dbline 124
0106 ; SendKey(0x81);
0106 01E8 ldi R16,129
0108 3DD3 rcall _SendKey
010A .dbline 125
010A ; }
010A L24:
010A .dbline 127
010A ;
010A ; if (Key == UP)
010A 80910200 lds R24,_Key
010E 8032 cpi R24,32
0110 11F4 brne L26
0112 .dbline 128
0112 ; {
0112 .dbline 129
0112 ; SendKey(0x02);
0112 02E0 ldi R16,2
0114 37D3 rcall _SendKey
0116 .dbline 130
0116 ; }
0116 L26:
0116 .dbline 132
0116 ;
0116 ; if (Key == SHIFT_UP)
0116 80910200 lds R24,_Key
011A 8039 cpi R24,144
011C 11F4 brne L28
011E .dbline 133
011E ; {
011E .dbline 134
011E ; SendKey(0x82);
011E 02E8 ldi R16,130
0120 31D3 rcall _SendKey
0122 .dbline 135
0122 ; }
0122 L28:
0122 .dbline 137
0122 ;
0122 ; if (Key == LEFT)
0122 80910200 lds R24,_Key
0126 8230 cpi R24,2
0128 11F4 brne L30
012A .dbline 138
012A ; {
012A .dbline 139
012A ; SendKey(0x04);
012A 04E0 ldi R16,4
012C 2BD3 rcall _SendKey
012E .dbline 140
012E ; }
012E L30:
012E .dbline 142
012E ;
012E ; if (Key == RIGHT)
012E 80910200 lds R24,_Key
0132 8830 cpi R24,8
0134 11F4 brne L32
0136 .dbline 143
0136 ; {
0136 .dbline 144
0136 ; SendKey(0x08);
0136 08E0 ldi R16,8
0138 25D3 rcall _SendKey
013A .dbline 145
013A ; }
013A L32:
013A .dbline 147
013A ;
013A ; if (Key == SHIFT_RIGHT)
013A 80910200 lds R24,_Key
013E 8838 cpi R24,136
0140 C9F4 brne L34
0142 .dbline 148
0142 ; {
0142 .dbline 149
0142 ; Cont++;
0142 80910900 lds R24,_Cont
0146 8F5F subi R24,255 ; addi 1
0148 80930900 sts _Cont,R24
014C .dbline 150
014C ; if (Cont > 0x7f) Cont = 0;
014C 8FE7 ldi R24,127
014E 20900900 lds R2,_Cont
0152 8215 cp R24,R2
0154 18F4 brsh L36
0156 .dbline 150
0156 2224 clr R2
0158 20920900 sts _Cont,R2
015C L36:
015C .dbline 151
015C ; LcdContrast(Cont);
015C 00910900 lds R16,_Cont
0160 00D0 rcall _LcdContrast
0162 .dbline 152
0162 ; EEPROM_WRITE(0x10, Cont);
0162 81E0 ldi R24,1
0164 90E0 ldi R25,0
0166 9983 std y+1,R25
0168 8883 std y+0,R24
016A 20E0 ldi R18,<_Cont
016C 30E0 ldi R19,>_Cont
016E 00E1 ldi R16,16
0170 10E0 ldi R17,0
0172 00D0 rcall _EEPROMWriteBytes
0174 .dbline 153
0174 ; }
0174 L34:
0174 .dbline 155
0174 ;
0174 ; if (Key == SHIFT_LEFT)
0174 80910200 lds R24,_Key
0178 8238 cpi R24,130
017A B1F4 brne L38
017C .dbline 156
017C ; {
017C .dbline 157
017C ; Cont--;
017C 80910900 lds R24,_Cont
0180 8150 subi R24,1
0182 80930900 sts _Cont,R24
0186 .dbline 158
0186 ; if (Cont == 0x00) Cont = 0x7f;
0186 8823 tst R24
0188 19F4 brne L40
018A .dbline 158
018A 8FE7 ldi R24,127
018C 80930900 sts _Cont,R24
0190 L40:
0190 .dbline 159
0190 ; LcdContrast(Cont);
0190 00910900 lds R16,_Cont
0194 00D0 rcall _LcdContrast
0196 .dbline 160
0196 ; EEPROM_WRITE(0x10, Cont);
0196 81E0 ldi R24,1
0198 90E0 ldi R25,0
019A 9983 std y+1,R25
019C 8883 std y+0,R24
019E 20E0 ldi R18,<_Cont
01A0 30E0 ldi R19,>_Cont
01A2 00E1 ldi R16,16
01A4 10E0 ldi R17,0
01A6 00D0 rcall _EEPROMWriteBytes
01A8 .dbline 161
01A8 ; }
01A8 L38:
01A8 .dbline 163
01A8 ;
01A8 ; Key = NONE;
01A8 2224 clr R2
01AA 20920200 sts _Key,R2
01AE .dbline 164
01AE ; }
01AE .dbline 165
01AE ; }
01AE 1DC0 rjmp L13
01B0 L12:
01B0 .dbline 167
01B0 ; else
01B0 ; {
01B0 .dbline 169
01B0 ; // Go in DEEP SLEEP
01B0 ; LcdClear();
01B0 00D0 rcall _LcdClear
01B2 .dbline 170
01B2 ; LcdPower(FALSE);
01B2 0027 clr R16
01B4 00D0 rcall _LcdPower
01B6 .dbline 171
01B6 ; PORTD &= ~VRX; // Disable Receiver
01B6 9498 cbi 0x12,4
01B8 .dbline 174
01B8 ; // Disable Timer0 overflow because the LCD must be init first
01B8 ; // after wake up
01B8 ; TIMSK &= ~0x01;
01B8 89B7 in R24,0x39
01BA 8E7F andi R24,254
01BC 89BF out 0x39,R24
01BE .dbline 176
01BE ;
01BE ; MCUCR = 0xa0; // Power Down MCU and int0 low level
01BE 80EA ldi R24,160
01C0 85BF out 0x35,R24
01C2 .dbline 177
01C2 ; SLEEP();
01C2 8895 sleep
01C4 .dbline 179
01C4 ;
01C4 ; TimeOut = 0;
01C4 2224 clr R2
01C6 3324 clr R3
01C8 30920100 sts _TimeOut+1,R3
01CC 20920000 sts _TimeOut,R2
01D0 .dbline 180
01D0 ; LcdPower(TRUE);
01D0 01E0 ldi R16,1
01D2 00D0 rcall _LcdPower
01D4 .dbline 181
01D4 ; LcdContrast(Cont);
01D4 00910900 lds R16,_Cont
01D8 00D0 rcall _LcdContrast
01DA .dbline 182
01DA ; PORTD |= VRX; // Enable Receiver
01DA 949A sbi 0x12,4
01DC .dbline 183
01DC ; Presentation();
01DC 18D0 rcall _Presentation
01DE .dbline 184
01DE ; LineDisplay();
01DE 4CD0 rcall _LineDisplay
01E0 .dbline 185
01E0 ; TIMSK |= 0x01; // Timer0 overflow interrupt enable
01E0 89B7 in R24,0x39
01E2 8160 ori R24,1
01E4 89BF out 0x39,R24
01E6 .dbline 186
01E6 ; MCUCR = 0x02; // int0 on falling eage level
01E6 82E0 ldi R24,2
01E8 85BF out 0x35,R24
01EA .dbline 187
01EA ; }
01EA L13:
01EA .dbline 188
01EA L10:
01EA .dbline 83
01EA 45CF rjmp L9
01EC X0:
01EC .dbline -2
01EC .dbline 189
01EC ; }
01EC ; }
01EC L4:
01EC 2296 adiw R28,2
01EE .dbline 0 ; func end
01EE 0895 ret
01F0 .dbend
01F0 .dbfunc e _StackOverflowed __StackOverflowed fV
01F0 ; c -> R20
.even
01F0 __StackOverflowed::
01F0 00D0 rcall push_gset1
01F2 402F mov R20,R16
01F4 .dbline -1
01F4 .dbline 195
01F4 ;
01F4 ; //*************************************
01F4 ; // void _StackOverflowed(char c)
01F4 ; //*************************************
01F4 ; void _StackOverflowed(char c)
01F4 ; {
01F4 .dbline 196
01F4 ; CLI();
01F4 F894 cli
01F6 .dbline 197
01F6 ; LcdClear();
01F6 00D0 rcall _LcdClear
01F8 .dbline 198
01F8 ; LcdGotoXY(1,3);
01F8 23E0 ldi R18,3
01FA 01E0 ldi R16,1
01FC 00D0 rcall _LcdGotoXY
01FE .dbline 199
01FE ; LcdStrConst(1,"Stack Crash...\0");
01FE 20E0 ldi R18,<L43
0200 30E0 ldi R19,>L43
0202 01E0 ldi R16,1
0204 00D0 rcall _LcdStrConst
0206 .dbline 200
0206 ; LcdUpdate();
0206 00D0 rcall _LcdUpdate
0208 L44:
0208 .dbline 201
0208 L45:
0208 .dbline 201
0208 FFCF rjmp L44
020A X3:
020A .dbline -2
020A .dbline 202
020A ; while(1);
020A ; }
020A L42:
020A 00D0 rcall pop_gset1
020C .dbline 0 ; func end
020C 0895 ret
020E .dbsym r c 20 c
020E .dbend
020E .dbfunc e Presentation _Presentation fV
020E ; i -> R20
.even
020E _Presentation::
020E 00D0 rcall push_gset1
0210 2597 sbiw R28,5
0212 .dbline -1
0212 .dbline 208
0212 ;
0212 ; //*************************************
0212 ; // void Presentation(void)
0212 ; //*************************************
0212 ; void Presentation(void)
0212 ; {
0212 .dbline 211
0212 ; unsigned char i;
0212 ;
0212 ; LcdClear();
0212 00D0 rcall _LcdClear
0214 .dbline 212
0214 ; LcdGotoXY(3,1);
0214 21E0 ldi R18,1
0216 03E0 ldi R16,3
0218 00D0 rcall _LcdGotoXY
021A .dbline 213
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -