📄 wnl.lst
字号:
262 0057 upfast equ flag5.0
263 0057 downfast equ flag5.1
264 0057 b_05snum equ flag5.2
265 0057 b_250msnum equ flag5.3
266 0057 b_f250ms1 equ flag5.4
267 0057 b_alarmflag equ flag5.5
268 0057 b_dupmonth equ flag5.6 ;;LEAP MONTH FLAG,IF LEAP MONTH THEN SETTING 1
269 0057 b_debounce equ flag5.7
270 0057
271 0057 kconfirm equ keycode.0
272 0057 kset equ keycode.1
273 0057 kup equ keycode.2
274 0057 kdown equ keycode.3
275 0057 kconfirmdn equ keycode.4
276 0057 ksetdn equ keycode.5
277 0057 kupdn equ keycode.6
278 0057 kdowndn equ keycode.7
279 0057
280 0057 b_almflag1 equ r_almflag.0 ;;IF THE FIRST TIMER ALARM FUNCTION IS SETTED, THE FLAG IS SETTING 1
281 0057 b_almflag2 equ r_almflag.1 ;;IF THE SECOND TIMER ALARM FUNCTION IS SETTED, THE FLAG IS SETTING 1
282 0057 b_almflag3 equ r_almflag.2
283 0057 b_almflag4 equ r_almflag.3
284 0057
285 0057
286 0057 D_maxtemp equ 4
287 0057 GETDISNUM macro
288 0057 and a,0fh
289 0057 add a,0d0h
290 0057 mov tblp,a
291 0057
292 0057
293 0057 tabrdl temp
294 0057 mov a,temp
295 0057
296 0057 endm
297 0057
298 0057
299 0057 ;******************************
"File: WNL.ASM Holtek Cross-Assembler Version 2.86 Page 6
300 0000 code .section 'code'
301 0000 org 00h
302 0000 0000 nop
303 0001 0000 nop
304 0002 0000 nop
305 0003 2800 R jmp start
306 0004 org 04h
307 0004 0004 reti
308 0005 org 08h
309 0008 ;jmp tmr_int
310 0008
311 0008 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
312 0008 ;;ISR_TIMER
313 0008 tmr_int:
314 0008 3000 R set b_f125ms ;;TIMER 125MS
315 0009 3000 R set b_f125ms1
316 000A 3800 R SNZ F_DELAY500MS
317 000B 2800 R JMP $+2
318 000C 1480 R INC R_DELAYTIME
319 000D 3C00 R sz b_250msnum ;B_250MSNUM EQU FLAG5.3
320 000E 2800 R jmp tmr_int_1
321 000F 3000 R set b_250msnum
322 0010 0004 reti
323 0011 tmr_int_1: ;;TIMER 250MS
324 0011 3400 R clr b_250msnum
325 0012 3000 R set b_f250ms1 ;;B_F250MS1 EQU FLAG5.4
326 0013 3000 R set b_f250ms2 ;;B_F250MS2 EQU FLAG3.7
327 0014
328 0014 3C00 R sz b_05snum ;;B_05SNUM EQU FLAG5.2
329 0015 2800 R jmp tmr_int_2
330 0016 3000 R set b_05snum
331 0017 0004 reti
332 0018 tmr_int_2:
333 0018 3400 R clr b_05snum ;;TIMER 0.5S
334 0019 3000 R set b_05s1
335 001A 3000 R set b_05s2
336 001B 3800 R SNZ F_ALARMING
337 001C 0004 RETI
338 001D 1480 R INC R_ALARMTIME
339 001E 0004 reti
340 001F
341 001F ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
342 001F ;;MAIN CODE
343 001F start:
344 001F 1F0B clr intc
345 0020 0F60 mov a,60h
346 0021 0080 R mov temp,a
347 0022 0F29 mov a,29h
348 0023 0081 mov mp0,a
349 0024 ram_clr: ;清除内存
350 0024 1F00 clr r0
351 0025 1481 inc mp0
352 0026 1780 R sdz temp
353 0027 2800 R jmp ram_clr
354 0028
355 0028 0F02 mov a,02h ;;SET PB1(B\Z\) INPUT,OTHERS OUTPUT
356 0029 0095 mov pbc,a ;;PB2~PB4 TEST TEMPLATE,PB5~PB7 COMMON
357 002A 0FF2 mov a,0f2h
358 002B 0094 mov pb,a ;;SET PB0,PB1~PB3 OUTPUT LOW LEVEL,PB4~PB7 OUTPUT HIGH LEVEL
359 002C 0FE0 mov a,0e0h ;;SET PA0~PA4(COMMON) OUTPUT,PA5~PA7 INPUT
"File: WNL.ASM Holtek Cross-Assembler Version 2.86 Page 7
360 002D 0093 mov pac,a
361 002E 0FFF mov a,0ffh
362 002F 0092 mov pa,a ;;SET COMMON OUTPUT HIGH LEVEL
363 0030 0FFF mov a,0ffh ;;PC,PD AND PE PORT ARE SEGMENT
364 0031 0096 mov pc,a
365 0032 0098 mov pd,a
366 0033 009A mov pe,a
367 0034
368 0034 3414 clr pbuzzer ;;CLR PB0,TURN OFF PBUZZER
369 0035
370 0035 ; set buzzernum.0
371 0035 0F80 mov a,128
372 0036 008D mov tmr,a
373 0037 0F90 mov a,90h ;;SET TMRC.4
374 0038 008E mov tmrc,a
375 0039
376 0039 300B set intc.0
377 003A 310B set intc.2 ;;SET ETI
378 003B
379 003B 3000 R set autolednum.2
380 003C 3000 R set b_setampm ;;12 hour
381 003D ;;------------------------------------------------
382 003D
383 003D 2000 R call sub_checkwork
384 003E 3C00 R sz nowork
385 003F 2800 R jmp start_reset
386 0040 ledtest:
387 0040 0F01 mov a,01h
388 0041 0080 R mov temp,a
389 0042 ledtest_0:
390 0042 0700 R mov a,temp
391 0043 0CFF xor a,0ffh
392 0044 0096 mov pc,a
393 0045 0098 mov pd,a
394 0046 009A mov pe,a
395 0047 1F12 clr pa
396 0048 3694 clr pcom5
397 0049 3714 clr pcom6
398 004A 3794 clr pcom7
399 004B ledtest_1:
400 004B 3800 R snz b_05s1
401 004C 2800 R jmp $-1
402 004D 3400 R clr b_05s1
403 004E 3C00 R sz flash
404 004F 2800 R jmp ledtest_2
405 0050 3000 R set flash
406 0051 2800 R jmp ledtest_1
407 0052 ledtest_2:
408 0052 3400 R clr flash
409 0053
410 0053 3C00 R sz temp.7
411 0054 2800 R jmp ledtest_end
412 0055
413 0055 1880 R rl temp
414 0056 2800 R jmp ledtest_0
415 0057 ledtest_end:
416 0057 1F92 set pa
417 0058 3294 set pcom5
418 0059 3314 set pcom6
419 005A 3394 set pcom7
"File: WNL.ASM Holtek Cross-Assembler Version 2.86 Page 8
420 005B 1F16 clr pc
421 005C 1F18 clr pd
422 005D 1F1A clr pe
423 005E
424 005E 2800 R jmp start_reset
425 005F ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
426 005F start_000:
427 005F 2800 R jmp start_3_2
428 0060
429 0060 start_1:
430 0060 start_3:
431 0060 3800 R snz nowork
432 0061 2800 R jmp start_nohold
433 0062 3095 set pworkc
434 0063 2000 R call sub_checkwork
435 0064 0000 nop
436 0065 0002 halt
437 0066 0000 nop
438 0067 start_nohold:
439 0067
440 0067 start_notinit:
441 0067 2000 R call sub_clock
442 0068 2000 R call sub_checkwork
443 0069
444 0069 3C00 R sz nowork
445 006A 2800 R jmp start_3_1
446 006B
447 006B 2000 R call sub_led
448 006C 2000 R call sub_main1
449 006D
450 006D 2000 R call sub_dealkey
451 006E 2000 R call sub_checkzhengdian
452 006F 3800 R snz b_f250ms1
453 0070 2800 R jmp start_notinit_1
454 0071 3400 R clr b_f250ms1
455 0072 2000 R call sub_checkalm
456 0073 2000 R CALL SBR_CHECKALARMING
457 0074 2000 R CALL SBR_TRANSMITCOMMAND
458 0075 2000 R call sub_main
459 0076 2000 R call sub_stopset
460 0077 3800 R snz b_workbuzzer
461 0078 2800 R jmp start_notinit_1
462 0079 3400 R clr b_workbuzzer
463 007A 3414 clr pbuzzer
464 007B start_notinit_1:
465 007B 2000 R call sub_dealtemper
466 007C
467 007C 0F01 mov a,1
468 007D 0080 R mov temp1,a
469 007E 2000 R call sub_delay
470 007F start_3_1:
471 007F 3800 R snz datechange
472 0080 2800 R jmp start_1
473 0081 3400 R clr datechange
474 0082 start_3_2:
475 0082 2000 R call sub_getnongli
476 0083 2000 R call sub_getweek
477 0084 2000 R call sub_get24jie
478 0085
479 0085 2000 R call main_xxx
"File: WNL.ASM Holtek Cross-Assembler Version 2.86 Page 9
480 0086 2800 R jmp start_1
481 0087
482 0087 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
483 0087 start_reset:
484 0087
485 0087 0F01 mov a,1
486 0088 0080 R mov year,a
487 0089 0080 R mov r_almnum,a
488 008A
489 008A 0080 R mov month,a
490 008B 0080 R mov date,a
491 008C 1F00 R clr hour
492 008D 1F00 R clr min
493 008E ; set b_initflag
494 008E
495 008E 0F00 mov a,00h
496 008F 2000 R call sub_num
497 0090 2800 R jmp start_000
498 0091 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
499 0091 ;;STOP ALARMING
500 0091 SBR_CHECKALARMING:
501 0091 0F79 MOV A,79H
502 0092 0400 R XOR A,R_ALARMTIME
503 0093 390A SNZ Z
504 0094 0003 RET
505 0095 1F00 R CLR R_ALARMTIME
506 0096 3000 R SET F_TCOMMANDFLAG
507 0097 3400 R CLR F_ALARMING
508 0098 0F50 MOV A,50H
509 0099 0080 R MOV R_COMMANDBAK,A
510 009A 2800 R JMP SBR_TRANSMITCOMMAND
511 009B ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
512 009B
513 009B sub_stopset:
514 009B 1080 R sz set_flag
515 009C 2800 R jmp stopset_1
516 009D 1080 R sz r_setalm
517 009E 2800 R jmp stopset_1
518 009F 0003 ret
519 00A0 stopset_1:
520 00A0 1480 R inc r_settime
521 00A1 0700 R mov a,r_settime
522 00A2 0A78 sub a,120
523 00A3 380A snz c
524 00A4 0003 ret
525 00A5 1F00 R clr r_settime
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -