📄 self_test.lst
字号:
+0 525 525
00000004 +0 526 526 EF4 equ 4;(EIRL).4 /INT0
00000005 +0 527 527 EF5 equ 5;(EIRL).5 INTTC1
00000006 +0 528 528 EF6 equ 6;(EIRL).6 INT1
00000007 +0 529 529 EF7 equ 7;(EIRL).7 INTTBT
00000000 +0 530 530 EF8 equ 0;(EIRH).0 INTTC3
00000001 +0 531 531 EF9 equ 1;(EIRH).1 INTSIO(High speed SIO interrupt)
00000002 +0 532 532 EF10 equ 2;(EIRH).2 INTTC4
00000003 +0 533 533 EF11 equ 3;(EIRH).3 INT3
00000004 +0 534 534 EF12 equ 4;(EIRH).4 INT4
00000005 +0 535 535 EF13 equ 5;(EIRH).5 INTTC2
00000006 +0 536 536 EF14 equ 6;(EIRH).6 /INT5
00000007 +0 537 537 EF15 equ 7;(EIRH).7 INTADC or INT2
+0 538 538 ;interrupt request flag set:
00000002 +0 539 539 IL2 equ 2;(ILL).2 INTSWI
00000003 +0 540 540 IL3 equ 3;(ILL).3 INTATRAP
00000004 +0 541 541 IL4 equ 4;(ILL).4 /INT0
00000005 +0 542 542 IL5 equ 5;(ILL).5 INTTC1
00000006 +0 543 543 IL6 equ 6;(ILL).6 INT1
00000007 +0 544 544 IL7 equ 7;(ILL).7 INTTB
00000000 +0 545 545 IL8 equ 0;(ILH).0 INTTC3
00000001 +0 546 546 IL9 equ 1;(ILH).1 INTSIO
00000002 +0 547 547 IL10 equ 2;(ILH).2 INTTC4
00000003 +0 548 548 IL11 equ 3;(ILH).3 INT3
00000004 +0 549 549 IL12 equ 4;(ILH).4 INT4
00000005 +0 550 550 IL13 equ 5;(ILH).5 INTTC2
00000006 +0 551 551 IL14 equ 6;(ILH).6 /INT5
00000007 +0 552 552 IL15 equ 7;(ILH).7 INTADC or /INT2
+0 553 553 ; DBR_LCD_RATE equ (0x0f33<<4)+5 ;LCD DBR matrix point for "RATE"
+0 554 554 ; DBR_LCD1235_RATE equ (0x0f33<<4)+3 ;LCD DBR matrix point for "RATE"
+0 555 555 ; DBR_LCD1297_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
+0 556 556 ; DBR_LCD120_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
+0 557 557 ; DBR_LCD1297_GT equ (0x0f32<<4)+2 ;LCD DBR matrix point for "GT"
+0 558 558 ; ;LCD_PRN equ (0x0f31<<4)+3 ;LCD DBR matrix point for "PRINT"
+0 559 559 ; ;LCD_FIN equ (0x0f30<<4)+3 ;LCD DEB matrix point for "FIN"
+0 560 560
00007A12 +0 561 561 AUTOOFFTIME equ 31250;1500
+0 562 562 $list
+0 563 563
+0 564 564 public check_slftst,wait_35us
+0 565 565 extern key_get,start,wait_100ms,wait_50ms,init_keybuf;,fix_mdflg
+0 566 566 ; extern write_1w,read_1w,wen_command,wds_command,start_blink,stop_blink
+0 567 567 ; extern hex_to_dec
+0 568 568 extern test_prn,HD_TEMP,VPRN,update_md
+0 569 569
+0 570 570 ROM section code
+0 571 571
00313233 +0 572 572 V_N equ '123'
+0 573 573
+0 574 574 ;==============================================================================
+0 575 575 ; check enter self test
+0 576 576 ;==============================================================================
+0 577 577 ; select RND off, FDP
+0 578 578 ; press 2, 6, 7 key and turn on AC
+0 579 579 ;
00000000 +0 580 580 wait_35us:
00000000 4F87 +0 581 581 cmp wa,(pc+a) ;7 machine cycle(1.75us under 16MHz clock)
00000002 4F87 +0 582 582 cmp wa,(pc+a)
00000004 4F87 +0 583 583 cmp wa,(pc+a)
00000006 4F87 +0 584 584 cmp wa,(pc+a)
00000008 4F87 +0 585 585 cmp wa,(pc+a)
0000000A 4F87 +0 586 586 cmp wa,(pc+a)
0000000C 4F87 +0 587 587 cmp wa,(pc+a)
0000000E 4F87 +0 588 588 cmp wa,(pc+a)
00000010 4F87 +0 589 589 cmp wa,(pc+a)
00000012 4F87 +0 590 590 cmp wa,(pc+a)
00000014 4F87 +0 591 591 cmp wa,(pc+a)
00000016 4F87 +0 592 592 cmp wa,(pc+a)
00000018 4F87 +0 593 593 cmp wa,(pc+a)
0000001A 4F87 +0 594 594 cmp wa,(pc+a)
0000001C 4F87 +0 595 595 cmp wa,(pc+a)
0000001E 4F87 +0 596 596 cmp wa,(pc+a)
00000020 4F87 +0 597 597 cmp wa,(pc+a)
00000022 4F87 +0 598 598 cmp wa,(pc+a)
00000024 4F87 +0 599 599 cmp wa,(pc+a)
00000026 4F87 +0 600 600 cmp wa,(pc+a)
00000028 FA +0 601 601 ret
+0 602 602
00000029 +0 603 603 check_slftst:
00000029 C03A +0 604 604 ei
0000002B FD0000 R +0 605 605 call wait_100ms
0000002E FD0000 R +0 606 606 call wait_100ms
00000031 FD0000 R +0 607 607 call update_md
00000034 070040 R +0 608 608 cmp (MDFLG_0),0y01000000
00000037 D940 +0 609 609 j ne,check_stst9
00000039 070042 R +0 610 610 cmp (MDFLG_1),0y01000010
0000003C D93B +0 611 611 j ne,check_stst9
0000003E 070024 R +0 612 612 cmp (MDFLG_2),0y00100100
00000041 D936 +0 613 613 j ne,check_stst9
00000043 070000 R +0 614 614 cmp (MDFLG_3),0y00000000
00000046 D931 +0 615 615 j ne,check_stst9
00000048 C83A +0 616 616 di
0000004A 0A0020 R +0 617 617 ld (P9DR),0y00100000 ;
0000004D FD0000 R +0 618 618 call wait_35us
00000050 0C00 R +0 619 619 ld a,(P1PRD) ;
00000052 643F +0 620 620 and a,0y00111111 ;
00000054 6704 +0 621 621 cmp a,0y00000100 ;press '7'?
00000056 D921 +0 622 622 j ne,check_stst9
+0 623 623
00000058 0A0010 R +0 624 624 ld (P9DR),0y00010000 ;
0000005B FD0000 R +0 625 625 call wait_35us
0000005E 0C00 R +0 626 626 ld a,(P1PRD) ;
00000060 643F +0 627 627 and a,0y00111111 ;
00000062 6701 +0 628 628 cmp a,0y00000001 ;press '2'
00000064 D913 +0 629 629 j ne,check_stst9 ;yes -> exit
+0 630 630
00000066 0A0008 R +0 631 631 ld (P9DR),0y00001000 ;
00000069 FD0000 R +0 632 632 call wait_35us
0000006C 0C00 R +0 633 633 ld a,(P1PRD) ;load key matrix return0~3 (P17~P14)
0000006E 641F +0 634 634 and a,0y0011111 ;press any key?
00000070 6702 +0 635 635 cmp a,0y0000010 ;press '6'
00000072 D905 +0 636 636 j ne,check_stst9
00000074 C03A +0 637 637 ei
00000076 FD0000 R +0 638 638 call self_test
+0 639 639
00000079 +0 640 640 check_stst9:
00000079 C03A +0 641 641 ei
0000007B FA +0 642 642 ret
+0 643 643
0000007C +0 644 644 self_test:
0000007C FD0000 R +0 645 645 call temp_vprn
0000007F FD0000 R +0 646 646 call vfd_test
00000082 FD0000 R +0 647 647 call mode_prn
00000085 FD0000 R +0 648 648 call key_test
00000088 FD0000 R +0 649 649 call ee_test
+0 650 650
0000008B FD0000 R +0 651 651 call chara_prn
0000008E FD0000 R +0 652 652 call spc_prnbuf
00000091 FD0000 R +0 653 653 call print
00000094 FD0000 R +0 654 654 call spc_prnbuf
00000097 FD0000 R +0 655 655 call print
0000009A FE0000 R +0 656 656 j start
+0 657 657
+0 658 658
0000009D 54454D50455241545552 +0 659 659 M_TEMP db "TEMPERATURE C"
4520202020202043
000000AF 564F4C54414745202020 +0 660 660 M_VPRN db "VOLTAGE V"
2020202020202056
000000C1 444953504C4159204649 +0 661 661 DISP_FINISH db "DISPLAY FINISH "
4E49534820202020
000000D3 4D4F4420535749544348 +0 662 662 MD_OK db "MOD SWITCH OK"
2020202020204F4B
000000E5 4D4F4420535749544348 +0 663 663 MD_NG db "MOD SWITCH NG"
2020202020204E47
000000F7 454550524F4D20202020 +0 664 664 M_EEOK db "EEPROM OK"
2020202020204F4B
00000109 454550524F4D20202020 +0 665 665 M_EENG db "EEPROM NG"
2020202020204E47
0000011B 4B4559204E4554202020 +0 666 666 KEY_OK db "KEY NET OK"
2020202020204F4B
0000012D 4B4559204E4554202020 +0 667 667 KEY_NG db "KEY NET NG"
2020202020204E47
+0 668 668
+0 669 669 ;input: HL <- string address
0000013F +0 670 670 set_1line:
0000013F 1A00 +0 671 671 ld c,0
00000141 4C0000 R +0 672 672 ld ix,PRN_BUF_MSD
00000144 +0 673 673 set_1ln0:
00000144 0D +0 674 674 ld a,(hl)
00000145 F478 +0 675 675 ld (ix),a
00000147 33 +0 676 676 inc hl
00000148 34 +0 677 677 inc ix
00000149 22 +0 678 678 inc c
0000014A EA6712 +0 679 679 cmp c,18
0000014D DAF5 +0 680 680 j lt,set_1ln0
0000014F FA +0 681 681 ret
+0 682 682
+0 683 683 ;--------------------------------------------------------------------------
+0 684 684
+0 685 685
+0 686 686
+0 687 687 ;--------------------------------------------------------------------------
00000150 +0 688 688 slid_position_tbl:
00000150 02A4 +0 689 689 db 2,0y10100100 ;
00000152 0080 +0 690 690 db 0,0y10000000 ;
00000154 0000 +0 691 691 db 0,0y00000000 ;
00000156 0001 +0 692 692 db 0,0y00000001 ;
00000158 0004 +0 693 693 db 0,0y00000100 ;
0000015A 0008 +0 694 694 db 0,0y00001000 ;
0000015C 0010 +0 695 695 db 0,0y00010000 ;
0000015E 0040 +0 696 696 db 0,0y01000000 ;
00000160 +0 697 697 slid_position_tbl_mid:
00000160 0102 +0 698 698 db 1,0y00000010 ;
00000162 0182 +0 699 699 db 1,0y10000010 ;
00000164 0142 +0 700 700 db 1,0y01000010 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -