📄 key_ment.lis
字号:
00EC 90E0 ldi R25,>_Armup
00EE 90930100 sts _p+1,R25
00F2 80930000 sts _p,R24
00F6 .dbline 67
00F6 06C0 rjmp L27
00F8 L32:
00F8 .dbline 68
00F8 ; case 3: p=Armdown;break; //甩臂运动
00F8 80E0 ldi R24,<_Armdown
00FA 90E0 ldi R25,>_Armdown
00FC 90930100 sts _p+1,R25
0100 80930000 sts _p,R24
0104 .dbline 68
0104 L26:
0104 L27:
0104 .dbline 70
0104 ; }//end switch
0104 ; switch(temp1){ //存储幅度值
0104 00910000 lds R16,_temp1
0108 1127 clr R17
010A 0030 cpi R16,0
010C 0107 cpc R16,R17
010E 89F0 breq L36
0110 X16:
0110 0130 cpi R16,1
0112 E0E0 ldi R30,0
0114 1E07 cpc R17,R30
0116 A1F0 breq L38
0118 X17:
0118 0230 cpi R16,2
011A E0E0 ldi R30,0
011C 1E07 cpc R17,R30
011E B9F0 breq L40
0120 X18:
0120 0330 cpi R16,3
0122 E0E0 ldi R30,0
0124 1E07 cpc R17,R30
0126 D1F0 breq L42
0128 X19:
0128 0430 cpi R16,4
012A E0E0 ldi R30,0
012C 1E07 cpc R17,R30
012E E9F0 breq L44
0130 X20:
0130 22C0 rjmp L33
0132 L36:
0132 .dbline 71
0132 ; case 0: status[1]=0x3C;break;
0132 8CE3 ldi R24,60
0134 90E0 ldi R25,0
0136 90930300 sts _status+2+1,R25
013A 80930200 sts _status+2,R24
013E .dbline 71
013E 1BC0 rjmp L34
0140 L38:
0140 .dbline 72
0140 ; case 1: status[1]=0x46;break;
0140 86E4 ldi R24,70
0142 90E0 ldi R25,0
0144 90930300 sts _status+2+1,R25
0148 80930200 sts _status+2,R24
014C .dbline 72
014C 14C0 rjmp L34
014E L40:
014E .dbline 73
014E ; case 2: status[1]=0x50;break;
014E 80E5 ldi R24,80
0150 90E0 ldi R25,0
0152 90930300 sts _status+2+1,R25
0156 80930200 sts _status+2,R24
015A .dbline 73
015A 0DC0 rjmp L34
015C L42:
015C .dbline 74
015C ; case 3: status[1]=0x5A;break;
015C 8AE5 ldi R24,90
015E 90E0 ldi R25,0
0160 90930300 sts _status+2+1,R25
0164 80930200 sts _status+2,R24
0168 .dbline 74
0168 06C0 rjmp L34
016A L44:
016A .dbline 75
016A ; case 4: status[1]=0x64;break;
016A 84E6 ldi R24,100
016C 90E0 ldi R25,0
016E 90930300 sts _status+2+1,R25
0172 80930200 sts _status+2,R24
0176 .dbline 75
0176 L33:
0176 L34:
0176 .dbline 77
0176 ; }
0176 ; switch(temp2){ //存储时间值
0176 00910000 lds R16,_temp2
017A 1127 clr R17
017C 0030 cpi R16,0
017E 0107 cpc R16,R17
0180 89F0 breq L49
0182 X21:
0182 0130 cpi R16,1
0184 E0E0 ldi R30,0
0186 1E07 cpc R17,R30
0188 A1F0 breq L51
018A X22:
018A 0230 cpi R16,2
018C E0E0 ldi R30,0
018E 1E07 cpc R17,R30
0190 B9F0 breq L53
0192 X23:
0192 0330 cpi R16,3
0194 E0E0 ldi R30,0
0196 1E07 cpc R17,R30
0198 D1F0 breq L55
019A X24:
019A 0430 cpi R16,4
019C E0E0 ldi R30,0
019E 1E07 cpc R17,R30
01A0 E9F0 breq L57
01A2 X25:
01A2 22C0 rjmp L46
01A4 L49:
01A4 .dbline 78
01A4 ; case 0: status[2]=300;break;
01A4 8CE2 ldi R24,300
01A6 91E0 ldi R25,1
01A8 90930500 sts _status+4+1,R25
01AC 80930400 sts _status+4,R24
01B0 .dbline 78
01B0 1BC0 rjmp L47
01B2 L51:
01B2 .dbline 79
01B2 ; case 1: status[2]=600;break;
01B2 88E5 ldi R24,600
01B4 92E0 ldi R25,2
01B6 90930500 sts _status+4+1,R25
01BA 80930400 sts _status+4,R24
01BE .dbline 79
01BE 14C0 rjmp L47
01C0 L53:
01C0 .dbline 80
01C0 ; case 2: status[2]=900;break;
01C0 84E8 ldi R24,900
01C2 93E0 ldi R25,3
01C4 90930500 sts _status+4+1,R25
01C8 80930400 sts _status+4,R24
01CC .dbline 80
01CC 0DC0 rjmp L47
01CE L55:
01CE .dbline 81
01CE ; case 3: status[2]=1200;break;
01CE 80EB ldi R24,1200
01D0 94E0 ldi R25,4
01D2 90930500 sts _status+4+1,R25
01D6 80930400 sts _status+4,R24
01DA .dbline 81
01DA 06C0 rjmp L47
01DC L57:
01DC .dbline 82
01DC ; case 4: status[2]=1500;break;
01DC 8CED ldi R24,1500
01DE 95E0 ldi R25,5
01E0 90930500 sts _status+4+1,R25
01E4 80930400 sts _status+4,R24
01E8 .dbline 82
01E8 L46:
01E8 L47:
01E8 .dbline 84
01E8 ; }
01E8 ; moto1[2]=status[0]; //存储模式控制字
01E8 20900000 lds R2,_status
01EC 30900100 lds R3,_status+1
01F0 20920200 sts _moto1+2,R2
01F4 .dbline 85
01F4 ; moto2[2]=status[0];
01F4 20920200 sts _moto2+2,R2
01F8 .dbline 86
01F8 ; moto3[2]=status[0];
01F8 20920200 sts _moto3+2,R2
01FC .dbline 87
01FC ; moto4[2]=status[0];
01FC 20920200 sts _moto4+2,R2
0200 .dbline 88
0200 ; page=3; //显示参数值运动界面
0200 83E0 ldi R24,3
0202 80930000 sts _page,R24
0206 .dbline 89
0206 ; flag=1; //flag=1液晶显示
0206 81E0 ldi R24,1
0208 80930000 sts _flag,R24
020C .dbline -2
020C L25:
020C .dbline 0 ; func end
020C 0895 ret
020E .dbend
020E .dbfunc e Keyment _Keyment fV
020E ; Key -> R10
.even
020E _Keyment::
020E 00D0 rcall push_xgset300C
0210 .dbline -1
0210 .dbline 94
0210 ; }
0210 ;
0210 ; /************************键盘处理函数************************/
0210 ; void Keyment(void)
0210 ; {
0210 .dbline 95
0210 ; uchar Key=0;
0210 .dbline 96
0210 ; Key=Keyscan(); //键盘扫描函数
0210 F7DE rcall _Keyscan
0212 A02E mov R10,R16
0214 .dbline 97
0214 ; if(page==1){ //页面1
0214 80910000 lds R24,_page
0218 8130 cpi R24,1
021A 09F0 breq X45
021C 47C0 rjmp L64
021E X45:
021E X26:
021E .dbline 97
021E .dbline 98
021E ; switch(Key){ //判断返回的键值
021E 4A2D mov R20,R10
0220 5527 clr R21
0222 4130 cpi R20,1
0224 E0E0 ldi R30,0
0226 5E07 cpc R21,R30
0228 69F0 breq L69
022A X27:
022A 4230 cpi R20,2
022C E0E0 ldi R30,0
022E 5E07 cpc R21,R30
0230 B1F0 breq L70
0232 X28:
0232 4330 cpi R20,3
0234 E0E0 ldi R30,0
0236 5E07 cpc R21,R30
0238 F9F0 breq L71
023A X29:
023A 4430 cpi R20,4
023C E0E0 ldi R30,0
023E 5E07 cpc R21,R30
0240 41F1 breq L72
0242 X30:
0242 C3C0 rjmp L65
0244 L69:
0244 .dbline 99
0244 ; case 1: status[0]=0x87; page=2;flag=1;break; //被动模式
0244 87E8 ldi R24,135
0246 90E0 ldi R25,0
0248 90930100 sts _status+1,R25
024C 80930000 sts _status,R24
0250 .dbline 99
0250 82E0 ldi R24,2
0252 80930000 sts _page,R24
0256 .dbline 99
0256 81E0 ldi R24,1
0258 80930000 sts _flag,R24
025C .dbline 99
025C B6C0 rjmp L65
025E L70:
025E .dbline 100
025E ; case 2: status[0]=0x78; page=2;flag=1;break; //主动模式
025E 88E7 ldi R24,120
0260 90E0 ldi R25,0
0262 90930100 sts _status+1,R25
0266 80930000 sts _status,R24
026A .dbline 100
026A 82E0 ldi R24,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -