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

📄 keypaddrive.ls1

📁 这是用proteus做的基于51核的一个菜单仿真的程序开发环境keil 没有使用os在裸机上跑
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     591     ;                                        if  (Vertical3)
                     592                             ; SOURCE LINE # 189
00B1 300005   F      593             JNB     Vertical3,?C0019
                     594     ;                           {
                     595                             ; SOURCE LINE # 190
                     596     ;                           Temp=KeyElement2[3];
                     597                             ; SOURCE LINE # 191
00B4 900000   F      598             MOV     DPTR,#KeyElement2+03H
00B7                 599     ?C0076:
                     600     ; 
                     601     ;                           KeyPadStatus=1;
                     602                             ; SOURCE LINE # 193
                     603     ;                           break;
                     604                             ; SOURCE LINE # 194
00B7 8035            605             SJMP    ?C0080
                     606     ;                                             }
                     607                             ; SOURCE LINE # 195
                     608     ;                                               }
                     609                             ; SOURCE LINE # 196
00B9                 610     ?C0019:
                     611     ; //------------------------------------------------------------------------------
                     612     ; // scan the fourth  row
                     613     ; //------------------------------------------------------------------------------
                     614     ;                                         KEY_ROW = Row[3];    
                     615                             ; SOURCE LINE # 200
00B9 900000   F      616             MOV     DPTR,#Row+03H
00BC E4              617             CLR     A
00BD 93              618             MOVC    A,@A+DPTR
00BE 902000          619             MOV     DPTR,#02000H
00C1 F0              620             MOVX    @DPTR,A
                     621     ;                       Key=KEY_VERTICAL;
                     622                             ; SOURCE LINE # 201
00C2 90A000          623             MOV     DPTR,#0A000H
00C5 E0              624             MOVX    A,@DPTR
00C6 F500     F      625             MOV     Key,A
                     626     ;                                       if (Key)
                     627                             ; SOURCE LINE # 202
00C8 7003            628             JNZ     $ + 5H
00CA 020000   F      629             LJMP    ?C0065
                     630     ;                                               {
                     631                             ; SOURCE LINE # 203
                     632     ;                                         if (Vertical0)
                     633                             ; SOURCE LINE # 204
00CD 300005   F      634             JNB     Vertical0,?C0025
                     635     ;                                                 {
                     636                             ; SOURCE LINE # 205
                     637     ;                           Temp=KeyElement3[0];
                     638                             ; SOURCE LINE # 206
00D0 900000   F      639             MOV     DPTR,#KeyElement3
00D3                 640     ?C0077:
                     641     ;                                                  KeyPadStatus=1;
                     642                             ; SOURCE LINE # 207
                     643     ;                          break;
                     644                             ; SOURCE LINE # 208
00D3 8019            645             SJMP    ?C0080
                     646     ;                                             }
                     647                             ; SOURCE LINE # 209
00D5                 648     ?C0025:
                     649     ;                                                   
                     650     ;                                         if  (Vertical1)
                     651                             ; SOURCE LINE # 211
A51 MACRO ASSEMBLER  KEYPADDRIVE                                                          06/29/2005 15:41:36 PAGE    11

00D5 300005   F      652             JNB     Vertical1,?C0026
                     653     ;                           {
                     654                             ; SOURCE LINE # 212
                     655     ;                           Temp=KeyElement3[1];
                     656                             ; SOURCE LINE # 213
00D8 900000   F      657             MOV     DPTR,#KeyElement3+01H
00DB                 658     ?C0078:
                     659     ; 
                     660     ;                           KeyPadStatus=1;
                     661                             ; SOURCE LINE # 215
                     662     ;                           break;
                     663                             ; SOURCE LINE # 216
00DB 8011            664             SJMP    ?C0080
                     665     ;                                             }
                     666                             ; SOURCE LINE # 217
00DD                 667     ?C0026:
                     668     ;                       if  (Vertical2)
                     669                             ; SOURCE LINE # 218
00DD 300005   F      670             JNB     Vertical2,?C0027
                     671     ;                           {
                     672                             ; SOURCE LINE # 219
                     673     ;                           Temp=KeyElement3[2];
                     674                             ; SOURCE LINE # 220
00E0 900000   F      675             MOV     DPTR,#KeyElement3+02H
00E3                 676     ?C0079:
                     677     ; 
                     678     ;                           KeyPadStatus=1;
                     679                             ; SOURCE LINE # 222
                     680     ;                           break;
                     681                             ; SOURCE LINE # 223
00E3 8009            682             SJMP    ?C0080
                     683     ;                                             }
                     684                             ; SOURCE LINE # 224
00E5                 685     ?C0027:
                     686     ;                                        if  (Vertical3)
                     687                             ; SOURCE LINE # 225
00E5 200003   F      688             JB      Vertical3,$ + 6H
00E8 020000   F      689             LJMP    ?C0065
                     690     ;                           {
                     691                             ; SOURCE LINE # 226
                     692     ;                           Temp=KeyElement3[3];
                     693                             ; SOURCE LINE # 227
00EB 900000   F      694             MOV     DPTR,#KeyElement3+03H
00EE                 695     ?C0080:
00EE E0              696             MOVX    A,@DPTR
00EF 900000   F      697             MOV     DPTR,#Temp
00F2 F0              698             MOVX    @DPTR,A
                     699     ; 
                     700     ;                           KeyPadStatus=1;
                     701                             ; SOURCE LINE # 229
00F3 7800     F      702             MOV     R0,#LOW (KeyPadStatus)
00F5 7601            703             MOV     @R0,#01H
                     704     ;                           break;
                     705                             ; SOURCE LINE # 230
00F7 22              706             RET     
                     707     ;                                             }
                     708                             ; SOURCE LINE # 231
                     709     ;                                               }
                     710                             ; SOURCE LINE # 232
                     711     ;                                       ///FirstScan();
                     712     ; 
                     713     ;                                        break; 
                     714                             ; SOURCE LINE # 235
                     715     ;     case   1:
                     716                             ; SOURCE LINE # 236
00F8                 717     ?C0029:
A51 MACRO ASSEMBLER  KEYPADDRIVE                                                          06/29/2005 15:41:36 PAGE    12

                     718     ;                               if (Temp!=0)
                     719                             ; SOURCE LINE # 237
00F8 900000   F      720             MOV     DPTR,#Temp
00FB E0              721             MOVX    A,@DPTR
00FC 7003            722             JNZ     $ + 5H
00FE 020000   F      723             LJMP    ?C0065
                     724     ;                                               {
                     725                             ; SOURCE LINE # 238
                     726     ;                                               Delay10ms=0;
                     727                             ; SOURCE LINE # 239
0101 E4              728             CLR     A
0102 900000   F      729             MOV     DPTR,#Delay10ms
0105 F0              730             MOVX    @DPTR,A
                     731     ;                                               KeyPadStatus=2;
                     732                             ; SOURCE LINE # 240
0106 7800     F      733             MOV     R0,#LOW (KeyPadStatus)
0108 7602            734             MOV     @R0,#02H
                     735     ; 
                     736     ;                                               }
                     737                             ; SOURCE LINE # 242
                     738     ;                                               break;
                     739                             ; SOURCE LINE # 243
010A 22              740             RET     
                     741     ;    case  2:
                     742                             ; SOURCE LINE # 244
010B                 743     ?C0031:
                     744     ;                                       if (Delay10ms>=1)
                     745                             ; SOURCE LINE # 245
010B 900000   F      746             MOV     DPTR,#Delay10ms
010E E0              747             MOVX    A,@DPTR
010F C3              748             CLR     C
0110 9401            749             SUBB    A,#01H
0112 5003            750             JNC     $ + 5H
0114 020000   F      751             LJMP    ?C0053
                     752     ;                                               {
                     753                             ; SOURCE LINE # 246
                     754     ;                                                 Delay10ms=0;
                     755                             ; SOURCE LINE # 247
0117 E4              756             CLR     A
0118 F0              757             MOVX    @DPTR,A
                     758     ; //--------------------------------------------------------------------------
                     759     ; // scan the first row
                     760     ; //--------------------------------------------------------------------------
                     761     ;                       KEY_ROW = Row[0];
                     762                             ; SOURCE LINE # 251
0119 900000   F      763             MOV     DPTR,#Row
011C 93              764             MOVC    A,@A+DPTR
011D 902000          765             MOV     DPTR,#02000H
0120 F0              766             MOVX    @DPTR,A
                     767     ;                       Key=KEY_VERTICAL;
                     768                             ; SOURCE LINE # 252
0121 90A000          769             MOV     DPTR,#0A000H
0124 E0              770             MOVX    A,@DPTR
0125 F500     F      771             MOV     Key,A
                     772     ;                                       if (Key)
                     773                             ; SOURCE LINE # 253
0127 6024            774             JZ      ?C0033
                     775     ;                                               {
                     776                             ; SOURCE LINE # 254
                     777     ;                                         if (Vertical0)
                     778                             ; SOURCE LINE # 255
0129 300006   F      779             JNB     Vertical0,?C0034
                     780     ;                                                 {
                     781                             ; SOURCE LINE # 256
                     782     ;                           Temp1=KeyElement0[0];
                     783                             ; SOURCE LINE # 257
A51 MACRO ASSEMBLER  KEYPADDRIVE                                                          06/29/2005 15:41:36 PAGE    13

012C 900000   F      784             MOV     DPTR,#KeyElement0
                     785     ;                                                  KeyPadStatus=3;
                     786                             ; SOURCE LINE # 258
                     787     ;                           break;
                     788                             ; SOURCE LINE # 259
012F 020000   F      789             LJMP    ?C0095
                     790     ;                                             }

⌨️ 快捷键说明

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