📄 main.prn
字号:
171 CBLOCK 6 1 41
172
173 ;;{
174 CLINE 0001H 0029H 0001H 000CH
175 CBLOCK 6 2 41
176
177 ;; P2CON0=0xff; //output mode select
178 CLINE 0001H 002CH 0003H 004AH
00:0020 FF 00 179 mov r0, #0ffh
00:0022 11-90 12-F2 180 st r0, 0f212h
181
182 ;; P2CON1=0xff; //CMOS output mode
183 CLINE 0001H 002DH 0002H 0031H
00:0026 11-90 13-F2 184 st r0, 0f213h
185
186 ;; P0CON0=0x03;
187 CLINE 0001H 0031H 0003H 002AH
00:002A 03 00 188 mov r0, #03h
00:002C 11-90 06-F2 189 st r0, 0f206h
190
191 ;; P0CON1=0x00; //pull up input mode
192 CLINE 0001H 0032H 0004H 0035H
00:0030 00 00 193 mov r0, #00h
00:0032 11-90 07-F2 194 st r0, 0f207h
195
196 ;; E2H=1; //enable T2Hz interrupt
197 CLINE 0001H 0036H 0003H 0037H
00:0036 B0-A0 17-F0 198 sb 0f017h.3
199
200 ;; cont_1second=0;
201 CLINE 0001H 0038H 0003H 0011H
00:003A 11-90 00-00' 202 st r0, NEAR _cont_1second
203
204 ;; cont_1min=58;
205 CLINE 0001H 0039H 0003H 000FH
00:003E 3A 00 206 mov r0, #03ah
00:0040 11-90 00-00' 207 st r0, NEAR _cont_1min
208
209 ;; cont_1hour=22;
210 CLINE 0001H 003AH 0003H 0010H
00:0044 16 00 211 mov r0, #016h
00:0046 11-90 00-00' 212 st r0, NEAR _cont_1hour
213 CBLOCKEND 6 2 59
214
215 ;;}
216 CLINE 0001H 003BH 0001H 0001H
00:004A 1F-FE 217 rt
218 CBLOCKEND 6 1 59
219 CFUNCTIONEND 6
220
221 CFUNCTION 8
222
00:004C 223 _common_clrWDT :
224 CBLOCK 8 1 65
225
226 ;;{
227 CLINE 0001H 0041H 0001H 0001H
228 CBLOCK 8 2 65
229
230 ;; if ( WDP == 1 )
231 CLINE 0001H 0042H 0002H 0010H
00:004C 81-A0 0E-F0 232 tb 0f00eh.0
00:0050 03 C9 233 beq _$L7
234 CBLOCK 8 3 67
235
236 ;; WDTCON = (unsigned char)0xA5u; /* WDP : 1 -> 0 */
237 CLINE 0001H 0044H 0003H 0035H
00:0052 A5 00 238 mov r0, #0a5h
00:0054 11-90 0E-F0 239 st r0, 0f00eh
240 CBLOCKEND 8 3 69
241
242 ;; }
243 CLINE 0000H 0045H 0002H 0002H
00:0058 244 _$L7 :
245
246 ;; WDTCON = (unsigned char)0x5A; /* WDP : 0 -> 1 */
247 CLINE 0001H 0046H 0004H 0036H
00:0058 5A 00 248 mov r0, #05ah
00:005A 11-90 0E-F0 249 st r0, 0f00eh
250
251 ;; WDTCON = (unsigned char)0xA5; /* WDP : 1 -> 0 */
252 CLINE 0001H 0047H 0004H 0038H
00:005E A5 00 253 mov r0, #0a5h
00:0060 11-90 0E-F0 254 st r0, 0f00eh
255 CBLOCKEND 8 2 72
256
257 ;;}
258 CLINE 0001H 0048H 0001H 0004H
00:0064 1F-FE 259 rt
260 CBLOCKEND 8 1 72
261 CFUNCTIONEND 8
262
263 CFUNCTION 7
264
00:0066 265 _clock_check :
266 CBLOCK 7 1 77
267
268 ;;{
269 CLINE 0001H 004DH 0001H 0001H
00:0066 CE-F8 270 push lr
271 CBLOCK 7 2 77
272 CRET 0000H
273
274 ;; if (f_1s==1)
275 CLINE 0001H 004EH 0002H 000DH
00:0068 81-A0'00-00' 276 tb NEAR _sym_flag.3
00:006C 40 C9 277 beq _$L10
278 CBLOCK 7 3 79
279
280 ;; f_1s=0;
281 CLINE 0001H 0050H 0007H 000DH
00:006E 82-A0'00-00' 282 rb NEAR _sym_flag.3
283
284 ;; key_scan();
285 CLINE 0001H 0052H 0007H 0011H
00:0072 01-F0'00-00' 286 bl _key_scan
287
288 ;; if(cont_1second<59)
289 CLINE 0001H 0054H 0007H 0019H
00:0076 10-90 00-00' 290 l r0, NEAR _cont_1second
00:007A 3B 70 291 cmp r0, #03bh
00:007C 05 C0 292 bge _$L12
293 CBLOCK 7 4 85
294
295 ;; cont_1second++; //秒计时
296 CLINE 0000H 0056H 000AH 0021H
00:007E 00 01 297 mov r1, #00h
00:0080 81 E0 298 add er0, #1
00:0082 11-90 00-00' 299 st r0, NEAR _cont_1second
300 CBLOCKEND 7 4 88
301
302 ;; else if(cont_1min<59)
303 CLINE 0001H 0059H 0007H 001CH
00:0086 25 CE 304 bal _$L14
00:0088 305 _$L12 :
00:0088 10-90 00-00' 306 l r0, NEAR _cont_1min
00:008C 3B 70 307 cmp r0, #03bh
00:008E 0A C0 308 bge _$L15
309 CBLOCK 7 5 90
310
311 ;; cont_1second=0;
312 CLINE 0001H 005BH 000BH 0019H
00:0090 00 00 313 mov r0, #00h
00:0092 11-90 00-00' 314 st r0, NEAR _cont_1second
315
316 ;; cont_1min++; //分计时
317 CLINE 0000H 005CH 000DH 0023H
00:0096 10-90 00-00' 318 l r0, NEAR _cont_1min
00:009A 00 01 319 mov r1, #00h
00:009C 81 E0 320 add er0, #1
00:009E 11-90 00-00' 321 st r0, NEAR _cont_1min
322 CBLOCKEND 7 5 93
323
324 ;; else if(cont_1hour<23)
325 CLINE 0001H 005EH 000BH 0020H
00:00A2 17 CE 326 bal _$L17
00:00A4 327 _$L15 :
00:00A4 10-90 00-00' 328 l r0, NEAR _cont_1hour
00:00A8 17 70 329 cmp r0, #017h
00:00AA 0C C0 330 bge _$L18
331 CBLOCK 7 6 95
332
333 ;; cont_1second=0;
334 CLINE 0001H 0060H 000EH 001CH
00:00AC 00 00 335 mov r0, #00h
00:00AE 11-90 00-00' 336 st r0, NEAR _cont_1second
337
338 ;; cont_1min=0;
339 CLINE 0001H 0061H 000EH 0019H
00:00B2 11-90 00-00' 340 st r0, NEAR _cont_1min
341
342 ;; cont_1hour++;
343 CLINE 0000H 0062H 000EH 001AH
00:00B6 10-90 00-00' 344 l r0, NEAR _cont_1hour
00:00BA 00 01 345 mov r1, #00h
00:00BC 81 E0 346 add er0, #1
00:00BE 11-90 00-00' 347 st r0, NEAR _cont_1hour
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -