📄 keyscan.lis
字号:
0240 ; ++MenuLevel;
0240 80910800 lds R24,_MenuLevel
0244 8F5F subi R24,255 ; addi 1
0246 80930800 sts _MenuLevel,R24
024A .dbline 164
024A ; if(MenuLevel==1) //enter the menu
024A 8130 cpi R24,1
024C 01F4 brne L41
024E .dbline 165
024E ; {
024E .dbline 167
024E ;
024E ; }
024E L41:
024E .dbline 168
024E ; LCD_BGColor=0xff;
024E 8FEF ldi R24,255
0250 90E0 ldi R25,0
0252 90930100 sts _LCD_BGColor+1,R25
0256 80930000 sts _LCD_BGColor,R24
025A .dbline 169
025A ; LCD_EraseBlock(0,0,97,66);
025A 82E4 ldi R24,66
025C 8A83 std y+2,R24
025E 81E6 ldi R24,97
0260 8883 std y+0,R24
0262 2227 clr R18
0264 0027 clr R16
0266 0E940000 xcall _LCD_EraseBlock
026A .dbline 170
026A ; LCD_BGColor=0b11100000;
026A 80EE ldi R24,224
026C 90E0 ldi R25,0
026E 90930100 sts _LCD_BGColor+1,R25
0272 80930000 sts _LCD_BGColor,R24
0276 .dbline 171
0276 ; LCD_EraseBlock(10,10,87,56);
0276 88E3 ldi R24,56
0278 8A83 std y+2,R24
027A 87E5 ldi R24,87
027C 8883 std y+0,R24
027E 2AE0 ldi R18,10
0280 0AE0 ldi R16,10
0282 0E940000 xcall _LCD_EraseBlock
0286 .dbline 172
0286 ; LCD_WriteEnglishString("Confirm Key",10 , 25);
0286 89E1 ldi R24,25
0288 8883 std y+0,R24
028A 2AE0 ldi R18,10
028C 00E0 ldi R16,<L43
028E 10E0 ldi R17,>L43
0290 0E940000 xcall _LCD_WriteEnglishString
0294 .dbline 173
0294 ; break;
0294 BCC0 xjmp L38
0296 L44:
0296 .dbline 176
0296 ; }
0296 ; case 2://up
0296 ; {
0296 .dbline 177
0296 ; LCD_BGColor=0b11100000;
0296 80EE ldi R24,224
0298 90E0 ldi R25,0
029A 90930100 sts _LCD_BGColor+1,R25
029E 80930000 sts _LCD_BGColor,R24
02A2 .dbline 178
02A2 ; LCD_EraseBlock(10,10,87,56);
02A2 88E3 ldi R24,56
02A4 8A83 std y+2,R24
02A6 87E5 ldi R24,87
02A8 8883 std y+0,R24
02AA 2AE0 ldi R18,10
02AC 0AE0 ldi R16,10
02AE 0E940000 xcall _LCD_EraseBlock
02B2 .dbline 179
02B2 ; LCD_WriteEnglishString("Up Key",10 , 25);
02B2 89E1 ldi R24,25
02B4 8883 std y+0,R24
02B6 2AE0 ldi R18,10
02B8 00E0 ldi R16,<L45
02BA 10E0 ldi R17,>L45
02BC 0E940000 xcall _LCD_WriteEnglishString
02C0 .dbline 180
02C0 ; break;
02C0 A6C0 xjmp L38
02C2 L46:
02C2 .dbline 183
02C2 ; }
02C2 ; case 3://cancel
02C2 ; {
02C2 .dbline 184
02C2 ; if(MenuLevel>0)
02C2 2224 clr R2
02C4 30900800 lds R3,_MenuLevel
02C8 2314 cp R2,R3
02CA 28F4 brsh L47
02CC .dbline 185
02CC ; --MenuLevel;
02CC 832D mov R24,R3
02CE 8150 subi R24,1
02D0 80930800 sts _MenuLevel,R24
02D4 03C0 xjmp L48
02D6 L47:
02D6 .dbline 187
02D6 ; else
02D6 ; MenuLevel=0;
02D6 2224 clr R2
02D8 20920800 sts _MenuLevel,R2
02DC L48:
02DC .dbline 189
02DC ;
02DC ; LCD_BGColor=0b11100000;
02DC 80EE ldi R24,224
02DE 90E0 ldi R25,0
02E0 90930100 sts _LCD_BGColor+1,R25
02E4 80930000 sts _LCD_BGColor,R24
02E8 .dbline 190
02E8 ; LCD_EraseBlock(10,10,87,56);
02E8 88E3 ldi R24,56
02EA 8A83 std y+2,R24
02EC 87E5 ldi R24,87
02EE 8883 std y+0,R24
02F0 2AE0 ldi R18,10
02F2 0AE0 ldi R16,10
02F4 0E940000 xcall _LCD_EraseBlock
02F8 .dbline 191
02F8 ; LCD_WriteEnglishString("Cancel Key",10 , 25);
02F8 89E1 ldi R24,25
02FA 8883 std y+0,R24
02FC 2AE0 ldi R18,10
02FE 00E0 ldi R16,<L49
0300 10E0 ldi R17,>L49
0302 0E940000 xcall _LCD_WriteEnglishString
0306 .dbline 192
0306 ; break;
0306 83C0 xjmp L38
0308 L50:
0308 .dbline 195
0308 ; }
0308 ; case 4: //left
0308 ; {
0308 .dbline 196
0308 ; LCD_BGColor=0b11100000;
0308 80EE ldi R24,224
030A 90E0 ldi R25,0
030C 90930100 sts _LCD_BGColor+1,R25
0310 80930000 sts _LCD_BGColor,R24
0314 .dbline 197
0314 ; LCD_EraseBlock(10,10,87,56);
0314 88E3 ldi R24,56
0316 8A83 std y+2,R24
0318 87E5 ldi R24,87
031A 8883 std y+0,R24
031C 2AE0 ldi R18,10
031E 0AE0 ldi R16,10
0320 0E940000 xcall _LCD_EraseBlock
0324 .dbline 198
0324 ; LCD_WriteEnglishString("Left Key",10 , 25);
0324 89E1 ldi R24,25
0326 8883 std y+0,R24
0328 2AE0 ldi R18,10
032A 00E0 ldi R16,<L51
032C 10E0 ldi R17,>L51
032E 0E940000 xcall _LCD_WriteEnglishString
0332 .dbline 199
0332 ; break;
0332 6DC0 xjmp L38
0334 L52:
0334 .dbline 202
0334 ; }
0334 ; case 5://confirm
0334 ; {
0334 .dbline 203
0334 ; LCD_BGColor=0b11100000;
0334 80EE ldi R24,224
0336 90E0 ldi R25,0
0338 90930100 sts _LCD_BGColor+1,R25
033C 80930000 sts _LCD_BGColor,R24
0340 .dbline 204
0340 ; LCD_EraseBlock(10,10,87,56);
0340 88E3 ldi R24,56
0342 8A83 std y+2,R24
0344 87E5 ldi R24,87
0346 8883 std y+0,R24
0348 2AE0 ldi R18,10
034A 0AE0 ldi R16,10
034C 0E940000 xcall _LCD_EraseBlock
0350 .dbline 205
0350 ; LCD_WriteEnglishString("Confirm Key",10 , 25);
0350 89E1 ldi R24,25
0352 8883 std y+0,R24
0354 2AE0 ldi R18,10
0356 00E0 ldi R16,<L43
0358 10E0 ldi R17,>L43
035A 0E940000 xcall _LCD_WriteEnglishString
035E .dbline 206
035E ; break;
035E 57C0 xjmp L38
0360 L53:
0360 .dbline 209
0360 ; }
0360 ; case 6://right
0360 ; {
0360 .dbline 210
0360 ; LCD_BGColor=0b11100000;
0360 80EE ldi R24,224
0362 90E0 ldi R25,0
0364 90930100 sts _LCD_BGColor+1,R25
0368 80930000 sts _LCD_BGColor,R24
036C .dbline 211
036C ; LCD_EraseBlock(10,10,87,56);
036C 88E3 ldi R24,56
036E 8A83 std y+2,R24
0370 87E5 ldi R24,87
0372 8883 std y+0,R24
0374 2AE0 ldi R18,10
0376 0AE0 ldi R16,10
0378 0E940000 xcall _LCD_EraseBlock
037C .dbline 212
037C ; LCD_WriteEnglishString("Right Key",10 , 25);
037C 89E1 ldi R24,25
037E 8883 std y+0,R24
0380 2AE0 ldi R18,10
0382 00E0 ldi R16,<L54
0384 10E0 ldi R17,>L54
0386 0E940000 xcall _LCD_WriteEnglishString
038A .dbline 213
038A ; break;
038A 41C0 xjmp L38
038C X4:
038C .dbline 216
038C ; }
038C ; case 7: //
038C ; {
038C .dbline 218
038C ; //LCD_WriteEnglishString("KeyValue=7",10 , 25);
038C ; break;
038C L56:
038C .dbline 221
038C ; }
038C ; case 8://down
038C ; {
038C .dbline 222
038C ; LCD_BGColor=0b11100000;
038C 80EE ldi R24,224
038E 90E0 ldi R25,0
0390 90930100 sts _LCD_BGColor+1,R25
0394 80930000 sts _LCD_BGColor,R24
0398 .dbline 223
0398 ; LCD_EraseBlock(10,10,87,56);
0398 88E3 ldi R24,56
039A 8A83 std y+2,R24
039C 87E5 ldi R24,87
039E 8883 std y+0,R24
03A0 2AE0 ldi R18,10
03A2 0AE0 ldi R16,10
03A4 0E940000 xcall _LCD_EraseBlock
03A8 .dbline 224
03A8 ; LCD_WriteEnglishString("Down Key",10 , 25);
03A8 89E1 ldi R24,25
03AA 8883 std y+0,R24
03AC 2AE0 ldi R18,10
03AE 00E0 ldi R16,<L57
03B0 10E0 ldi R17,>L57
03B2 0E940000 xcall _LCD_WriteEnglishString
03B6 .dbline 225
03B6 ; break;
03B6 2BC0 xjmp L38
03B8 X5:
03B8 .dbline 228
03B8 ; }
03B8 ; case 9://
03B8 ; {
03B8 .dbline 230
03B8 ; //LCD_WriteEnglishString("KeyValue=9",10 , 25);
03B8 ; break;
03B8 .dbline 233
03B8 ; }
03B8 ; case 0: //
03B8 ; {
03B8 .dbline 235
03B8 ; //LCD_WriteEnglishString("KeyValue=0",10 , 25);
03B8 ; break;
03B8 L60:
03B8 .dbline 238
03B8 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -