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

📄 ex3-9.lst

📁 《PIC单片机应用开发典型模块》源代码及图片
💻 LST
📖 第 1 页 / 共 5 页
字号:
045F F8              762            MOV R0,A;   ;KEYVALUE;
0460 75A0FF          763            MOV KEYIN,#0FFH;
0463                 764      KEYBOARDEND:
0463 22              765            RET;
                     766      ;;;;;;;;;;READKEY;;;;;;;;;;;;;;;
0464 900608          767      READKEY: MOV DPTR,#KEYVA;
0467 E8              768               MOV A,R0;
0468 93              769               MOVC A,@A+DPTR;
0469 F8              770               MOV R0,A;
046A 22              771               RET;
                     772      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     773      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
046B 9164            774       KEYEXE: CALL READKEY;
046D B80104          775        KEY1: CJNE R0,#01H,KEY2;
0470 91DE            776              CALL KEYE1;
0472 8069            777              JMP KEYEND;
0474 B80204          778        KEY2: CJNE R0,#02H,KEY3;
0477 91E9            779              CALL KEYE2;
0479 8062            780              JMP KEYEND;
047B B80304          781        KEY3: CJNE R0,#03H,KEY4;
047E 91F4            782              CALL KEYE3;
0480 805B            783              JMP KEYEND;
0482 B80404          784        KEY4: CJNE R0,#04H,KEY5;
A51 MACRO ASSEMBLER  EX3_9                                                                06/23/2007 17:15:17 PAGE    13

0485 91FF            785              CALL KEYE4;
0487 8054            786              JMP KEYEND;
0489 B80504          787        KEY5: CJNE R0,#05H,KEY6;
048C B102            788              CALL KEYE5;
048E 804D            789              JMP KEYEND;
0490 B80604          790        KEY6: CJNE R0,#06H,KEY7;
0493 B105            791              CALL KEYE6;
0495 8046            792              JMP KEYEND;
0497 B80704          793        KEY7: CJNE R0,#07H,KEY8;
049A B110            794              CALL KEYE7;
049C 803F            795              JMP KEYEND;
049E B80804          796        KEY8: CJNE R0,#08H,KEY9;
04A1 B113            797              CALL KEYE8;
04A3 8038            798              JMP KEYEND;
04A5 B80904          799        KEY9: CJNE R0,#09H,KEY0;
04A8 B116            800              CALL KEYE9;
04AA 8031            801              JMP KEYEND;
04AC B80004          802        KEY0: CJNE R0,#00H,KEYA;
04AF B119            803              CALL KEYE0;
04B1 802A            804              JMP KEYEND;
04B3 B80A04          805        KEYA: CJNE R0,#0AH,KEYB;
04B6 B11A            806              CALL KEYEA;
04B8 8023            807              JMP KEYEND;
04BA B80B04          808        KEYB: CJNE R0,#0BH,KEYC;
04BD B11B            809              CALL KEYEB;
04BF 801C            810              JMP KEYEND;
04C1 B80C04          811        KEYC: CJNE R0,#0CH,KEYD;
04C4 B11C            812              CALL KEYEC;
04C6 8015            813              JMP KEYEND;
04C8 B80D04          814        KEYD: CJNE R0,#0DH,KEYE;
04CB B11D            815              CALL KEYED;
04CD 800E            816              JMP KEYEND;
04CF B80E04          817        KEYE: CJNE R0,#0EH,KEYF;
04D2 B11E            818              CALL KEYEE;
04D4 8007            819              JMP KEYEND;
04D6 B80F04          820        KEYF: CJNE R0,#0FH,KEYEND;
04D9 B11F            821              CALL KEYEF;
04DB 8000            822              JMP KEYEND;
04DD                 823        KEYEND:
04DD 22              824               RET;
                     825      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
04DE                 826      KEYE1:
                     827            ;MOV R0,#01H;
04DE E53E            828             MOV A,DIR;
04E0 C4              829             SWAP A;
04E1 440F            830             ORL A,#00001111B;
04E3 78F2            831             MOV R0,#11110010B;
                     832     
04E5 58              833             ANL A,R0;
04E6 F53E            834             MOV DIR,A;
04E8 22              835             RET;
                     836      ;;;;;;;;;;;;KEYE2;;;;;;;;;;;;
04E9 E53E            837      KEYE2: MOV A,DIR;
04EB C4              838             SWAP A;
04EC 440F            839             ORL A,#00001111B;
04EE 78F8            840             MOV R0,#11111000B;
                     841     
04F0 58              842             ANL A,R0;
04F1 F53E            843             MOV DIR,A;
                     844             ;MOV R0,#02H;
                     845             ;LCALL KEYINPUT;
04F3 22              846             RET;
                     847      ;;;;;;;;;;;;KEYE3;;;;;;;;;;;;;
04F4 E53E            848      KEYE3: MOV A,DIR;
04F6 C4              849             SWAP A;
04F7 440F            850             ORL A,#00001111B;
A51 MACRO ASSEMBLER  EX3_9                                                                06/23/2007 17:15:17 PAGE    14

04F9 78F1            851             MOV R0,#11110001B;
                     852     
04FB 58              853             ANL A,R0;
04FC F53E            854             MOV DIR,A;
                     855             ;MOV R0,#03H;
                     856             ;LCALL KEYINPUT;
04FE 22              857             RET;
                     858      ;;;;;;;;;;;;KEYE4;;;;;;;;;;;;;
04FF 7804            859      KEYE4:  MOV R0,#04H;
0501 22              860             RET;
                     861      ;;;;;;;;;;;;KEYE5;;;;;;;;;;;;;
0502 7805            862      KEYE5:  MOV R0,#05H;
                     863               ;LCALL KEYINPUT;
0504 22              864             RET;
                     865      ;;;;;;;;;;;;KEYE6;;;;;;;;;;;;;
0505 E53E            866      KEYE6: MOV A,DIR;
0507 C4              867             SWAP A;
0508 440F            868             ORL A,#00001111B;
050A 78F4            869             MOV R0,#11110100B;
                     870     
050C 58              871             ANL A,R0;
050D F53E            872             MOV DIR,A;
                     873             ; MOV R0,#06H;
050F 22              874             RET;
                     875      ;;;;;;;;;;;;KEYE7;;;;;;;;;;;;;
0510 7807            876      KEYE7:   MOV R0,#07H;
0512 22              877             RET;
                     878      ;;;;;;;;;;;;KEYE8;;;;;;;;;;;;;
0513 7808            879      KEYE8:   MOV R0,#08H;
0515 22              880             RET;
                     881      ;;;;;;;;;;;;KEYE9;;;;;;;;;;;;;
0516 7809            882      KEYE9:   MOV R0,#09H;
0518 22              883             RET;
                     884      ;;;;;;;;;;;;KEYE0;;;;;;;;;;;;;
0519                 885      KEYE0:
0519 22              886               RET;
                     887      ;;;;;;;;;;;;KEYEA  TO STORE CIRCLE;;;;;;
051A                 888      KEYEA:
051A 22              889               RET;
                     890      ;;;;;;;;;;;;KEYEB TO STORE ANGLE;;;;;;;;;;;;;
051B                 891      KEYEB:
051B 22              892               RET;
                     893      ;;;;;;;;;;;;;TO STORE POS OR NEG;;;;;;;;;;;;;;;;
051C                 894      KEYEC:
051C 22              895               RET;
                     896      ;;;;;;;;;;;;KEYED TO STORE SPEED;;;;;;;;;;;;;
051D                 897      KEYED:
051D 22              898               RET;
                     899      ;;;;;;;;;;;;KEYEE  TO START MOTOR;;;;;;;;;;;;;
051E                 900      KEYEE:
051E 22              901               RET;
                     902      ;;;;;;;;;;;;KEYEF  ;;;;;;;;;;;;;
051F                 903      KEYEF:
                     904                           ; TO CLEAR ALL THE DATA AND TO THE START STATE;
                     905                           ; FROM TAILXA TO HEADXA
051F A842            906            MOV R0,TAILXA;
0521 A943            907            MOV R1,TAILYA;
0523 AA41            908            MOV R2,SNAGLNG;
0525                 909      KEYEF1:
0525 8638            910            MOV PX,@R0;
0527 8739            911            MOV PY,@R1;
                     912            
0529 E8              913            MOV A,R0;
052A C0E0            914            PUSH ACC;
052C E9              915            MOV A,R1;
052D C0E0            916            PUSH ACC;
A51 MACRO ASSEMBLER  EX3_9                                                                06/23/2007 17:15:17 PAGE    15

052F EA              917            MOV A,R2;
0530 C0E0            918            PUSH ACC;
                     919            
0532 1201A6          920            LCALL UNDISPXY;
                     921            
0535 D0E0            922            POP ACC
0537 FA              923            MOV R2,A;
0538 D0E0            924            POP ACC
053A F9              925            MOV R1,A;
053B D0E0            926            POP ACC
053D F8              927            MOV R0,A;
                     928            
053E 08              929            INC R0;
053F 09              930            INC R1;
                     931            
0540 DAE3            932            DJNZ R2,KEYEF1;
                     933     
0542 12009E          934            LCALL RIGHTSIDE;
0545 120040          935            LCALL INITLCM;
0548 1200A3          936            LCALL CLS;
                     937     
054B 120099          938            LCALL LEFTSIDE;
054E 1200EC          939            LCALL INITSNAG;
0551 C200            940            CLR ERR;
0553 C202            941            CLR ALL;
0555 22              942            RET;
                     943     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0556                 944      KEYEEE:
0556 853290          945             MOV LCMP,PAGEADD;
0559 120067          946             LCALL WI;
055C 853390          947             MOV LCMP,YNUM;
055F 120067          948             LCALL WI;
                     949     
0562 90063A          950             MOV DPTR,#KEYDB;
0565 7900            951             MOV R1,#00H;
0567                 952      KEYEEE0:
0567 E8              953             MOV A,R0;
0568 75F005          954             MOV B,#05H;
056B A4              955             MUL AB;
056C 93              956             MOVC A,@A+DPTR;
056D F590            957             MOV LCMP,A;
056F 120076          958             LCALL WD;
0572 A3              959             INC DPTR;
0573 09              960             INC R1;
0574 B905F0          961             CJNE R1,#05H,KEYEEE0;
                     962     
0577 22              963             RET;
                     964     ;---------------BMP SUB--------------------
0578 753608          965     INITBMP:MOV LNGTH,#08H;
057B 753740          966             MOV WIDTH,#40H;
057E 753400          967             MOV STPAGE,#00H;
0581 753500          968             MOV STY,#00H;
                     969     
0584 120099          970             LCALL LEFTSIDE;
0587 120040          971             LCALL INITLCM;
058A 900694          972             MOV DPTR,#BMPDB
058D 22              973             RET
                     974     ;------------------------------------------
                     975      ;;TO DISPLAY BITMAP
                     976      ;;STARTPAGE STPAGE;
                     977      ;;STARTY    STY;
                     978      ;;LNGTH  WIDTH;
                     979      ;;
058E                 980      BMP:
058E 7A00            981           MOV R2,#00H;  CURRENT PAGE;
0590 7900            982           MOV R1,#00H;  CURRENT Y;
A51 MACRO ASSEMBLER  EX3_9                                                                06/23/2007 17:15:17 PAGE    16

0592 AB37            983           MOV R3,WIDTH;
0594 AC36            984           MOV R4,LNGTH;
0596                 985      BMP0:
0596 EA              986           MOV A,R2;     SET PAGE;
0597 2534            987           ADD A,STPAGE;
0599 24B8            988           ADD A,#0B8H;
059B F532            989           MOV PAGEADD,A;
059D 853290          990           MOV LCMP,PAGEADD;
05A0 120067          991           LCALL WI;
                     992     
05A3 E9              993           MOV A,R1;     SET Y;
05A4 2535            994           ADD A,STY;
05A6 2440            995           ADD A,#40H;
05A8 F533            996           MOV YNUM,A;
05AA B48008          997           CJNE A,#80H,BMP1;
05AD 12009E          998           LCALL RIGHTSIDE;
05B0 753340          999           MOV YNUM,#40H;
05B3 7900           1000           MOV R1,#00H;
                    1001     
05B5                1002      BMP1:
05B5 853390         1003           MOV LCMP,YNUM;
05B8 120067         1004           LCALL WI;
05BB 7400           1005           MOV A,#00H;
05BD 93             1006           MOVC A,@A+DPTR;
05BE F590           1007           MOV LCMP,A;
05C0 120076         1008           LCALL WD;
                    1009     
05C3 A3             1010           INC DPTR;
05C4 0A             1011           INC R2;
05C5 DCCF           1012           DJNZ R4,BMP0;
05C7 09             1013           INC R1;
05C8 7A00           1014           MOV R2,#00H;
05CA AC36           1015           MOV R4,LNGTH;
05CC DBC8           1016           DJNZ R3,BMP0;
05CE                1017     BMPEND:

⌨️ 快捷键说明

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