📄 a_08_07.lst
字号:
1 ;*************************************************************
2 /*备注:1,MODE1,MODE2,MODE3 改变,与2462功能中的相应MODE一致
3 ; 2, 1.5S 关机 原来是0.9S 关机
4 ; 3, MODE5功能与客户样机不一致,原因0.1MS软件定时不准(偏慢),修改相应参数校准
5 ; 4,UP、DOWN 键功能相反,4脚(P63)为UP,7脚(P60)为DOWN
6 ; 5, 以上功能修改日期 2008年9月26日
7 6,0E54
8 ;P61 pull low in mode0 and pull high in other mode
9 ;jason huang
10 ;AUG 05,08
11 */
12 ;*************************************************************
13 0000 IAR == 0x00
14 0001 TCC == 0x01
15 0002 PC == 0x02
16 0003 CONT == 0X03
17 0003 STATUS == 0x03
18 0002 Z == 0x02
19 0000 C == 0x00
20
21 0004 RSR == 0x04
22 0005 PORT5 == 0x05
23 0006 PORT6 == 0x06
24 000F ISR == 0x0F
25 0000 TCIF == 0
26
27 0005 P5CR == 0x05 ;
28 0006 P6CR == 0x06 ;
29 000B PCR == 0x0B ;
30 000C ODCR == 0x0C
31 000D PHCR == 0x0D ;
32 000E IOCE == 0x0E
33 000F IMR == 0x0F
34
35 ;**************************************************************
36 0010 TEMP == 0x10
37 0011 ACC_BUF == 0x11
38 0012 R3_BUF == 0x12
39 0013 R4_BUF == 0x13
40 0014 SLEEPTIME == 0x14
41 0015 POWERDOWN1 == 0X15
42 0016 POWERDOWN2 == 0x16
43 0017 TEMP1 == 0x17
44 0018 TEMP2 == 0x18
45 0019 TEMP3 == 0x19
46 001A TEMP4 == 0x1A
47 001B DELAYON == 0x1B
48 001C DELAYOFF == 0x1C
49 001D DELAYTIME == 0x1D
50 001E MODE == 0x1E
51 001F MODE_BUF == 0x1F
52 ;
53 0020 FLAG01 == 0x20
54 0021 cnt1 == 0x21
55 0022 cnt2 == 0x22
56 ; MODE == 0x23
57 0024 TIMEON == 0x24
58 0025 KEY_TIME == 0x25
59 0026 KEY_FLAG == 0X26
60 0000 UP_FLAG == 0
61 0001 DOWN_FLAG == 1
62 0027 KEY_STATE == 0X27
63 0000 UP_STATE == 0
64 0001 DOWN_STATE == 1
65 ; FLAG_200US == 0x26
66 ; TEMP1 == 0x27
67 ; TEMP2 == 0x28
68 ;DELAYTIME == 0x29
69 ; TEMP3 == 0x2A
70 ;TEMP4 == 0x2B
71 ;DELAYON == 0x2C
72 ; DELAYOFF == 0x2D
73 ; R2E == 0x2E
74 ; R2F == 0x2F
75
76 ;********************************************
77 ;PORT6
78 0003 UP_KEY == 3
79 0000 DOWN_KEY == 0
80 0002 DRIVERED == 2
81 0004 GREEN == 4
82 0005 RED == 5
83
84
85 ;******************************************
86 ;FLAG01
87 ;UP_FLAG == 1
88 ;UP_STATE == 2
89 ;DOWN_FLAG == 3
90 ;DOWN_STATE == 4
91 ;*****************************************
92
93 ORG 0000H
94 00000 0000 NOP
95 00001 0000 NOP
96 00002 0000 NOP
97 00003 0000 NOP
98 00004 0000 nop
99 00005 0000 nop
100 00006 0000 nop
101 00007 1478 JMP POWERON
102 ORG 0008H
103 00008 1425 JMP INT_IN
104 ;********************************************************************
105 ;-------------------DELAY 0.1MS-------------------
106 00009 DELAY:
107 00009 041D MOV A,DELAYTIME
108 0000A 0057 MOV TEMP1,A
109 0000B 182F MOV A,@0X2F
110 0000C 0058 MOV TEMP2,A
111
112 0000D DELAY2:
113 0000D 0004 WDTC
114 0000E 05D8 DJZ TEMP2
115 0000F 140D JMP DELAY2
116 00010 182F MOV A,@0X2F
117 00011 0058 MOV TEMP2,A
118 00012 05D7 DJZ TEMP1
119 00013 140D JMP DELAY2
120 00014 0012 RET
121
122 ;-------------------DELAY 0.1MS---------------------------------
123 00015 DELAY1MS:
124 00015 041D MOV A,DELAYTIME
125 00016 0057 MOV TEMP1,A
126 00017 DELAY1MS2:
127 00017 0004 WDTC
128 00018 180A MOV A,@0X0A
129 00019 005A MOV TEMP4,A
130 0001A 183D MOV A,@0X3D
131 0001B 0058 MOV TEMP2,A
132
133 0001C DELAY100US:
134 0001C 05D8 DJZ TEMP2
135 0001D 141C JMP DELAY100US
136 0001E 183D MOV A,@0X3D
137 0001F 0058 MOV TEMP2,A
138 00020 05DA DJZ TEMP4
139 00021 141C JMP DELAY100US
140 00022 05D7 DJZ TEMP1
141 00023 1417 JMP DELAY1MS2
142 00024 0012 RET
143 ;********************************************************************
144 00025 INT_IN:
145 00025 0051 MOV ACC_BUF,A
146 00026 0751 SWAP ACC_BUF
147
148 00027 0703 SWAPA STATUS
149 00028 0052 MOV R3_BUF,A
150
151 00029 0404 MOV A,RSR
152 0002A 0053 MOV R4_BUF,A
153
154 0002B 045E MOV MODE,MODE
155 0002C 0C83 JBC STATUS,Z
156 0002D 01D4 DEC SLEEPTIME
157
158
159 0002E 0E0F JBS ISR,TCIF
160 0002F 146F JMP INT_EXIT
161
162 00030 KEY_SCAN:
163 00030 0E06 JBS PORT6,0
164 00031 143A JMP DOWN_ON
165
166
167 00032 DOWN_OFF:
168 00032 0E66 JBS KEY_FLAG,DOWN_FLAG
169 00033 1436 JMP DOWN_OFF1
170 00034 0866 BC KEY_FLAG,DOWN_FLAG
171 00035 144F JMP UP_TEST
172
173 00036 DOWN_OFF1:
174 00036 0E67 JBS KEY_STATE,DOWN_STATE
175 00037 144F JMP UP_TEST
176 00038 0867 BC KEY_STATE,DOWN_STATE
177 00039 144F JMP UP_TEST
178
179 0003A DOWN_ON:
180 0003A 0C66 JBC KEY_FLAG,DOWN_FLAG
181 0003B 143E JMP DOWN_ON1
182 0003C 0A66 BS KEY_FLAG,DOWN_FLAG
183 0003D 146F JMP INT_EXIT
184
185 0003E DOWN_ON1:
186 0003E 0C67 JBC KEY_STATE,DOWN_STATE
187 0003F 1449 JMP DOWN_KEY_LONG
188 00040 0A67 BS KEY_STATE,DOWN_STATE
189
190 00041 DOWN_DO:
191 00041 185A MOV A,@0X5A
192 00042 0065 MOV KEY_TIME,A
193 00043 01DE DEC MODE ;7 mode
194 00044 0FDE JBS MODE,7 ;0 change to 0ff
195 00045 146F JMP INT_EXIT
196 00046 1806 MOV A,@0X06
197 00047 005E MOV MODE,A
198 00048 146F JMP INT_EXIT
199
200 00049 DOWN_KEY_LONG:
201 00049 01E5 DEC KEY_TIME
202 0004A 0465 MOV KEY_TIME,KEY_TIME
203 0004B 0E83 JBS STATUS,Z
204 0004C 146F JMP INT_EXIT
205 0004D 00DE CLR MODE
206 0004E 146F JMP INT_EXIT
207
208 0004F UP_TEST:
209 0004F 0EC6 JBS PORT6,3
210 00050 1459 JMP UP_ON
211
212 00051 UP_OFF:
213 00051 0E26 JBS KEY_FLAG,UP_FLAG
214 00052 1455 JMP UP_OFF1
215 00053 0826 BC KEY_FLAG,UP_FLAG
216 00054 146F JMP INT_EXIT
217
218 00055 UP_OFF1:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -