📄 key_oper.lst
字号:
"File: KEY_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 1
1 0000 INCLUDE REG_DEF.INC
2 0000
3 0000 PUBLIC SCAN_KEY
4 0000
5 0000 KEY_CODE .SECTION 'CODE'
6 0000
7 0000 SCAN_KEY:
8 0000 4714 MOV A, M_LEFT_STEP_COUNT
9 0001 0386 ADDM A, PCL
10 0002 2800 R JMP NORMAL_SCAN ;STEP0
11 0003 2800 R JMP STEP4
12 0004 2800 R JMP STEP3
13 0005 2800 R JMP STEP2
14 0006 2800 R JMP STEP1
15 0007 STEP1:
16 0007 306A SET KEY_STATUS.0
17 0008 5594 DEC M_LEFT_STEP_COUNT
18 0009 2800 R JMP SCAN_END
19 000A STEP2:
20 000A 1F6A CLR KEY_STATUS
21 000B 5594 DEC M_LEFT_STEP_COUNT
22 000C 2800 R JMP SCAN_END
23 000D STEP3:
24 000D 306A SET KEY_STATUS.0
25 000E 5594 DEC M_LEFT_STEP_COUNT
26 000F 2800 R JMP SCAN_END
27 0010 STEP4:
28 0010 1F6A CLR KEY_STATUS
29 0011 5F14 CLR M_LEFT_STEP_COUNT
30 0012 2800 R JMP SCAN_END
31 0013
32 0013 NORMAL_SCAN:
33 0013 1F6A CLR KEY_STATUS
34 0014
35 0014 3992 SNZ L_BUT ;PA.3
36 0015 306A SET KEY_STATUS.0
37 0016
38 0016 3912 SNZ R_BUT ;PA.2
39 0017 30EA SET KEY_STATUS.1
40 0018
41 0018 3A12 SNZ M_BUT ;PA.4
42 0019 316A SET KEY_STATUS.2
43 001A ; =====================================================
44 001A 3F94 SZ OFFICE_BUT ;PB.7
45 001B 2800 R JMP NOT_PRESS_OB
46 001C 2800 R JMP PRESS_OB
47 001D NOT_PRESS_OB:
48 001D 3461 CLR OFFICE_BUT_PRESSED
49 001E 2800 R JMP KEEP_BUTTON_CHECK_1
50 001F PRESS_OB:
51 001F 3C61 SZ OFFICE_BUT_PRESSED
52 0020 2800 R JMP KEEP_BUTTON_CHECK_1
53 0021 31EA SET KEY_STATUS.3
54 0022 3061 SET OFFICE_BUT_PRESSED
55 0023 2800 R JMP SCAN_END
56 0024 KEEP_BUTTON_CHECK_1:
57 0024 3C92 SZ LEFT_F_BUT ;PA.1
"File: KEY_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 2
58 0025 2800 R JMP NOT_PRESS_LF
59 0026 2800 R JMP PRESS_LF
60 0027 NOT_PRESS_LF:
61 0027 35E1 CLR LF_BUT_PRESSED
62 0028 2800 R JMP KEEP_BUTTON_CHECK_2
63 0029 PRESS_LF:
64 0029 3DE1 SZ LF_BUT_PRESSED
65 002A 2800 R JMP KEEP_BUTTON_CHECK_2
66 002B 326A SET KEY_STATUS.4
67 002C 31E1 SET LF_BUT_PRESSED
68 002D ;=================================
69 002D 0F01 MOV A, 1;6
70 002E 00EB MOV Z_WHEEL, A
71 002F ;=================================
72 002F 2800 R JMP SCAN_END
73 0030 KEEP_BUTTON_CHECK_2:
74 0030 3C12 SZ LEFT_B_BUT ;PA.0
75 0031 2800 R JMP NOT_PRESS_LB
76 0032 2800 R JMP PRESS_LB
77 0033 NOT_PRESS_LB:
78 0033 3561 CLR LB_BUT_PRESSED
79 0034 2800 R JMP KEEP_BUTTON_CHECK_3
80 0035 PRESS_LB:
81 0035 3D61 SZ LB_BUT_PRESSED
82 0036 2800 R JMP KEEP_BUTTON_CHECK_3
83 0037 32EA SET KEY_STATUS.5
84 0038 3161 SET LB_BUT_PRESSED
85 0039 ;==================================
86 0039 0FFF MOV A, 0FFH;0FAH
87 003A 00EB MOV Z_WHEEL, A
88 003B ;==================================
89 003B 2800 R JMP SCAN_END
90 003C KEEP_BUTTON_CHECK_3:
91 003C 3F92 SZ MIDDLE_L_BUT ;PA.7
92 003D 2800 R JMP NOT_PRESS_ML
93 003E 2800 R JMP PRESS_ML
94 003F NOT_PRESS_ML:
95 003F 34E1 CLR M_LEFT_PRESSED
96 0040 2800 R JMP SCAN_END
97 0041 PRESS_ML:
98 0041 3CE1 SZ M_LEFT_PRESSED
99 0042 2800 R JMP SCAN_END
100 0043 336A SET KEY_STATUS.6
101 0044 ;==================================
102 0044 30E1 SET M_LEFT_PRESSED
103 0045 0F04 MOV A, 4
104 0046 4094 MOV M_LEFT_STEP_COUNT, A
105 0047 ;==================================
106 0047
107 0047 ; ======================================================
108 0047 SCAN_END:
109 0047 10EA SZ KEY_STATUS
110 0048 316E SET MOVEMENT.2
111 0049
112 0049 0003 RET
113 004A
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -