📄 printer.lst
字号:
+0 658 658 ; dw (2097-180)*2 ;50mm/s;3
+0 659 659 ; dw (1760-180)*2 ;50mm/s;4
+0 660 660 ;==============================================================================
+0 661 661 ; Timer 1 reset and start (for make strobe pulse)
+0 662 662 ;==============================================================================
+0 663 663 ;==============================================================================
+0 664 664 ; Timer 1 stop
+0 665 665 ;==============================================================================
+0 666 666 ;==============================================================================
+0 667 667 ; Timer1 value set reg.wa -> TREG1AL,TREG1AM
+0 668 668 ;==============================================================================
+0 669 669 ;==============================================================================
+0 670 670 ; Timer 2 start 0.5us clock [1/32fc] (for MT step pulse [chopping]) 16M clock
+0 671 671 ;==============================================================================
+0 672 672 ;==============================================================================
+0 673 673 ; Timer 2 start 16us clock [1/128fc] (for MT step pulse [chopping]) 16M clock
+0 674 674 ;==============================================================================
+0 675 675 ;==============================================================================
+0 676 676 ; Timer 2 value set (for MT step pulse,chopping)
+0 677 677 ;==============================================================================
+0 678 678 ;==============================================================================
+0 679 679 ; Timer 2 stop (for MT step pulse chopping)
+0 680 680 ;==============================================================================
+0 681 681 ;==============================================================================
+0 682 682 ; AD set and start (AIN6: head temp.)
+0 683 683 ;==============================================================================
+0 684 684 ;==============================================================================
+0 685 685 ; AD set and start (AIN7: VPR volt.)
+0 686 686 ;==============================================================================
+0 687 687 ;==============================================================================
+0 688 688 ; Get AD convert value
+0 689 689 ;==============================================================================
+0 690 690 ;==============================================================================
+0 691 691 ; VPR on
+0 692 692 ;==============================================================================
+0 693 693 ;==============================================================================
+0 694 694 ; VPR off
+0 695 695 ;==============================================================================
+0 696 696 ;==============================================================================
+0 697 697 ; STB1 on
+0 698 698 ;==============================================================================
+0 699 699 ;==============================================================================
+0 700 700 ; STB2 on
+0 701 701 ;==============================================================================
+0 702 702 ;==============================================================================
+0 703 703 ; STB1 off
+0 704 704 ;==============================================================================
+0 705 705 ;==============================================================================
+0 706 706 ; STB2 off
+0 707 707 ;==============================================================================
+0 708 708 ;==============================================================================
+0 709 709 ; check whether STB2 off (=1?)
+0 710 710 ;==============================================================================
+0 711 711 ;==============================================================================
+0 712 712 ; MT driver enable
+0 713 713 ;==============================================================================
+0 714 714 ;==============================================================================
+0 715 715 ; MT driver disable
+0 716 716 ;==============================================================================
+0 717 717 ;==============================================================================
+0 718 718 ; Latch enable
+0 719 719 ;==============================================================================
+0 720 720 ;==============================================================================
+0 721 721 ; SIO initialize
+0 722 722 ;==============================================================================
+0 723 723 ;==============================================================================
+0 724 724 ; SIO transmit start
+0 725 725 ;==============================================================================
+0 726 726 ;==============================================================================
+0 727 727 ; SIO disable
+0 728 728 ;==============================================================================
+0 729 729 ;-----------------------------------------------
+0 730 730 ; Printer Initial
+0 731 731 ;-----------------------------------------------
0000000A +0 732 732 prn_init:
0000000A 0A0000 R +0 733 733 ld (F_PCONT),0y00000000 ;control flags clear
0000000D 0A0000 R +0 734 734 ld (F_PCONT+1),0y00000000 ;control flags clear
+0 735 735 ;V4.14 ld (F_PCONT+2),0y00000000 ;control flags clear
00000010 E0006420 R +0 736 736 and (F_PCONT+2),0y00100000 ;V4.14;keep P_RED flag
00000014 F10000F900 R +0 737 737 ld (PHASE_CT),0
00000019 F10000F900 R +0 738 738 ld (STEP_CT),0
0000001E 480000 R +0 739 739 ld wa,F_INIT
00000021 E10000F2 R +0 740 740 set (F_INIT>>4).a
00000025 C300 R +0 741 741 set (P0DR).3
00000027 C200 R +0 742 742 set (P0DR).2
00000029 E00064FC R +0 743 743 and (P4DR),0y11111100 ;AIN1,AIN0 must set '0' for AD convert
0000002D E0006604 R +0 744 744 or (P4DR),0y00000100 ;P42 set'1'(VPR)
00000031 C600 R +0 745 745 set (F_PCONT+2).6 ;IO_MT equ (F_PCONT+2<<4)+6
+0 746 746
00000033 480000 R +0 747 747 ld wa,P_MOVE
00000036 E10000F2 R +0 748 748 set (P_MOVE>>4).a
0000003A FD0000 R +0 749 749 call vft_disable
0000003D FD0000 R +0 750 750 call start_up ;MT driver enable, motor start, dbr clear BL off
00000040 480000 R +0 751 751 ld wa,SW_LTP
00000043 E10000FC R +0 752 752 test (SW_LTP>>4).a ;bit -reverse-> jump status
00000047 86 +0 753 753 j t,prn_ini_09 ;if jump status is 1 -> branch
00000048 480000 R +0 754 754 ld wa,F_RVSE
0000004B E10000F2 R +0 755 755 set (F_RVSE>>4).a
0000004F +0 756 756 prn_ini_09:
0000004F 480000 R +0 757 757 ld wa,F_INIT
00000052 E10000FC R +0 758 758 test (F_INIT>>4).a ;bit -reverse-> jump status
00000056 B7 +0 759 759 j f,prn_ini_09 ;if jump status is 0 -> branch
00000057 FA +0 760 760 ret
+0 761 761
+0 762 762 ;
+0 763 763 ;-----------------------------------------------------------------------------------
+0 764 764 ; 10 dotline feed
00000058 +0 765 765 key_feed:
00000058 FD0000 R +0 766 766 call print_int_check ;V4.14
0000005B +0 767 767 key_feed_0: ;V4.14
0000005B 480000 R +0 768 768 ld wa,F_PRINT
0000005E E10000FC R +0 769 769 test (F_PRINT>>4).a ;bit -reverse-> jump status
00000062 B7 +0 770 770 j f,key_feed_0 ;if jump status is 0 -> branch
+0 771 771
00000063 +0 772 772 key_feed_start:
00000063 480000 R +0 773 773 ld wa,F_FDREQ
00000066 E10000F2 R +0 774 774 set (F_FDREQ>>4).a
0000006A 480000 R +0 775 775 ld wa,F_FEED
0000006D E10000FC R +0 776 776 test (F_FEED>>4).a ;bit -reverse-> jump status
00000071 DF27 +0 777 777 j f,key_f100 ;if jump status is 0 -> branch
00000073 F10000F900 R +0 778 778 ld (STEP_CT),0
00000078 480000 R +0 779 779 ld wa,F_FEED
0000007B E10000F2 R +0 780 780 set (F_FEED>>4).a
0000007F 480000 R +0 781 781 ld wa,F_RVREQ
00000082 E10000FA R +0 782 782 clr (F_RVREQ>>4).a
00000086 480000 R +0 783 783 ld wa,F_RUSH
00000089 E10000FC R +0 784 784 test (F_RUSH>>4).a ;bit -reverse-> jump status
0000008D 88 +0 785 785 j t,key_f011 ;if jump status is 1 -> branch
0000008E 480000 R +0 786 786 ld wa,F_RUSH
00000091 E10000FA R +0 787 787 clr (F_RUSH>>4).a
00000095 FC03 +0 788 788 j key_f100
00000097 +0 789 789 key_f011:
00000097 FD0000 R +0 790 790 call start_up ;MT driver enable, motor start, dbr clear BL off
0000009A +0 791 791 key_f100:
0000009A 480000 R +0 792 792 ld wa,F_FDREQ
0000009D E10000FC R +0 793 793 test (F_FDREQ>>4).a ;bit -reverse-> jump status
000000A1 B7 +0 794 794 j f,key_f100 ;if jump status is 0 -> branch
000000A2 FA +0 795 795 ret
000000A3 +0 796 796 start_up:
000000A3 E00064FC R +0 797 797 and (P4DR),0y11111100 ;AIN1,AIN0 must set '0' for AD convert
000000A7 E0006604 R +0 798 798 or (P4DR),0y00000100 ;P42 set'1'(VPR)
000000AB C600 R +0 799 799 set (F_PCONT+2).6 ;IO_MT equ (F_PCONT+2<<4)+6
+0 800 800
000000AD E00064FC R +0 801 801 and (P4DR),0y11111100 ;AIN1,AIN0 must set '0' for AD convert
000000B1 E0006618 R +0 802 802 or (P4DR),0y00011000 ;P44P43 set '1'(ENA1,ENA2)
000000B5 480000 R +0 803 803 ld wa,P_MOVE
000000B8 E10000F2 R +0 804 804 set (P_MOVE>>4).a
000000BC C83A +0 805 805 di
000000BE 0A000E R +0 806 806 ld (TC2CR),0y00001110 ;TC2CK(011)=fc/2^3 TC2S(0):stop TC2M(0):timer mode
000000C1 CD00 R +0 807 807 clr (EIRH).EF13 ;clear TC2 enable (EIRH:bit4)
000000C3 C03A +0 808 808 ei
000000C5 480000 R +0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -