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

📄 key_ment.lis

📁 基于ATmega8开发的关于医疗康复的机器人
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 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 + -