📄 printer.med
字号:
=1 619 ;V3.00S_PRDL equ 0x81 ;delta+'%'
=1 620 ;V3.00S_DLAS equ 0x87 ;delta+'*'
=1 621 ;V3.00S_PRMU equ 0x21 ;' %'
=1 622 ;V3.00S_MKUP equ 0xa2 ;'M '
=1 623 ;V3.00S_RVS equ 0x22 ;' '
=1 624 ;V3.00S_AVR equ 0x27 ;' *'
=1 625 ;V3.00S_ROOT equ 0x22 ;' '
=1 626 ;V3.00S_TAX equ 0x12 ;'% '
=1 627 ;V3.00S_PRN equ 0x62 ;'<> '
=1 628 ;V3.00S_EUR equ 0x22 ;' '
=1 629 ;V3.00S_EUEQ equ 0xc2 ;'= '
=1 630 ;V3.00S_COST equ 0x2b ;' C'
=1 631 ;V3.00S_SELL equ 0x26 ;' <>'
=1 632 ;V3.00S_M equ 0x2a ;' M'
=1 633 ;V3.00S_MARG equ 0xa1 ;'M%'
=1 634 ;V3.00S_PERMARG equ 0x1a ;'%M'
=1 635 ;V3.00S_TAXA equ 0x27 ;' *'
=1 636 ;V3.00S_ICG equ 0x29 ;' G'
=1 637 ;V3.00S_ICGV equ 0x29 ;' G'
=1 638 ;V3.00S_ICM equ 0x2a ;' M'
=1 639 ;V3.00S_ASM equ 0x7a ;'*M'
=1 640 ;V3.00S_ASC equ 0x7b ;'*C'
=1 641 ;V3.00S_ASDL equ 0x78 ;'*'+delta
=1 642 ;V3.00S_MIPL equ 0x03 ;'-+'
=1 643 ;V3.00S_MIMI equ 0x00 ;'--'
=1 644 ;V3.00S_MIST equ 0x06 ;'-S'
=1 645 ;V3.00S_MITL equ 0x07 ;'-T'
=1 646 ;V3.00S_EUROS equ 0x29 ;' euro'
=1 647 ;V3.00S_G equ 0x9f ;'G '
=1 648 ;V3.00S_GPL equ 0x93 ;'G+'
=1 649 ;V3.00S_GAST equ 0x97 ;'G*'
=1 650 ;==============================================================================
=1 651 P_SPC equ 0x20 ;for print " "
=1 652 ;-----------------------------------------------------------
=1 653 ;interrupt enable flag set:
=1 654
=1 655 EF4 equ 4;(EIRL).4 /INT0
=1 656 EF5 equ 5;(EIRL).5 INTTC1
=1 657 EF6 equ 6;(EIRL).6 INT1
=1 658 EF7 equ 7;(EIRL).7 INTTBT
=1 659 EF8 equ 0;(EIRH).0 INTTC3
=1 660 EF9 equ 1;(EIRH).1 INTSIO(High speed SIO interrupt)
=1 661 EF10 equ 2;(EIRH).2 INTTC4
=1 662 EF11 equ 3;(EIRH).3 INT3
=1 663 EF12 equ 4;(EIRH).4 INT4
=1 664 EF13 equ 5;(EIRH).5 INTTC2
=1 665 EF14 equ 6;(EIRH).6 /INT5
=1 666 EF15 equ 7;(EIRH).7 INTADC or INT2
=1 667 ;interrupt request flag set:
=1 668 IL2 equ 2;(ILL).2 INTSWI
=1 669 IL3 equ 3;(ILL).3 INTATRAP
=1 670 IL4 equ 4;(ILL).4 /INT0
=1 671 IL5 equ 5;(ILL).5 INTTC1
=1 672 IL6 equ 6;(ILL).6 INT1
=1 673 IL7 equ 7;(ILL).7 INTTB
=1 674 IL8 equ 0;(ILH).0 INTTC3
=1 675 IL9 equ 1;(ILH).1 INTSIO
=1 676 IL10 equ 2;(ILH).2 INTTC4
=1 677 IL11 equ 3;(ILH).3 INT3
=1 678 IL12 equ 4;(ILH).4 INT4
=1 679 IL13 equ 5;(ILH).5 INTTC2
=1 680 IL14 equ 6;(ILH).6 /INT5
=1 681 IL15 equ 7;(ILH).7 INTADC or /INT2
=1 682 ; DBR_LCD_RATE equ (0x0f33<<4)+5 ;LCD DBR matrix point for "RATE"
=1 683 ; DBR_LCD1235_RATE equ (0x0f33<<4)+3 ;LCD DBR matrix point for "RATE"
=1 684 ; DBR_LCD1297_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
=1 685 ; DBR_LCD120_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
=1 686 ; DBR_LCD1297_GT equ (0x0f32<<4)+2 ;LCD DBR matrix point for "GT"
=1 687 ; ;LCD_PRN equ (0x0f31<<4)+3 ;LCD DBR matrix point for "PRINT"
=1 688 ; ;LCD_FIN equ (0x0f30<<4)+3 ;LCD DEB matrix point for "FIN"
=1 689
=1 690 AUTOOFFTIME equ 31250;1500
691 $list
692
693 extern dbr_disp_clear,bl_off,bl_on,font_data,font_bnum,font_snum,tempdbr_to_dbr
694 public tm1_int,tm2_int,prn_init,print,key_feed,sio_int
695
696 extern vft_disable,vft_enable
697 extern STB_V,STB_R,STB_C,STB_E,STB
698
699 ROM section code
700 STP_RUSH equ 20000*2 ;20ms for rush control (1/32fc[0.5us]clock)
701 ;STP_WKUP_LTP equ (4393-60)*2 ;4393us for wake up rush control (1/32fc[0.5us]clock)
702 ; STP_WKUP_LTP equ 4393*2*10/5-60*2 ;25mm/s
703 STP_WKUP_LTP equ 4393*2*5/3-60*2 ;30mm/s
704 ; STP_WKUP_LTP equ 4393*2*10/7-60*2 ;35mm/s
705 ; STP_WKUP_LTP equ 4393*2*5/4-60*2 ;40mm/s
706 ;STP_STOP_LTP equ 65000/16 ;65ms for rush control (1/128fc[16us]clock)
707 ; STP_STOP_LTP equ 65000/16*10/5 ;25mm/s
708 STP_STOP_LTP equ 65000/16*5/3 ;30mm/s
709 ; STP_STOP_LTP equ 65000/16*10/7 ;35mm/s
710 ; STP_STOP_LTP equ 65000/16*5/3 ;40mm/s
711 STP_INIT equ 6579*2 ;6.579ms for initialize step (1/32fc[0.5us]clock)
712 STP_SLOW equ (2400-50)*2 ;2.400ms for slow up step (1/32fc[0.5us]clock)
713 STP_PSLOW equ (2400-100)*2 ;2.400ms for slow up step (1/32fc[0.5us]clock) for printing
714 STP_FEED equ (2083-100)*2 ;2.083ms for feed (1/32fc[0.5us]clock)
715 STP_FEED_LTP equ 5000*2 ;5ms for feed (1/32fc[0.5us]clock) for LTP8235
716 ; STP_FEED_LTP equ 5000*2*10/5 ;25mm/s
717 ; STP_FEED_LTP equ 5000*2*5/3 ;30mm/s
718 ; STP_FEED_LTP equ 5000*2*10/7 ;35mm/s
719 ; STP_FEED_LTP equ 5000*2*5/4 ;40mm/s
720 STP_NORM equ (1667-120)*2 ;1.667ms for normal print (1/32fc[0.5us]clock)
721 ;STP_NORM_LTP equ (1667*2-180*2) ;50mm/S ;1.667ms for normal print (1/32fc[0.5us]clock)
722 ; STP_NORM_LTP equ (1667*2*10/5-180*2) ;25mm/s
723 STP_NORM_LTP equ (1667*2*5/3-180*2) ;30mm/s
724 ; STP_NORM_LTP equ (1667*2*10/7-180*2) ;35mm/s
725 ; STP_NORM_LTP equ (1667*2*5/4-180*2) ;40mm/s
726 STP_NORM_ADJ equ 180*2 ;for calculation for parameater "C" LTP8235 printer
727 STP_CPON equ (300-50)*2 ;300us for chopping on (1/32fc[0.5us]clock)
728 STP_CPOF equ (50-20)*2 ;50us for chopping on (1/32fc[0.5us]clock)
729 STP_SLOW_CMP equ 2400*2 ;compare with T1 value
730 L_FEED equ 6
731 L_FEED_LTP equ 8
732 LARGE_FEED equ 18 ;V4.03
733 ;==============================================
734
735
736 ;1667*10/5=3334;1667*5/3=2778;1667*5/3.5=2381; 1667*5/4=2083
737 ;
738 ltp_acc_tbl:
739 dw 0x0000 ;0 dummy
740 ;for printing speed 25mm/s
741 ; dw (4393-60)*2 ;25mm/s;equ (4393-60)*2
742 ; dw STP_NORM_LTP ;25mm/s;equ (1667*2*10/2-180*2)
743 ; dw STP_NORM_LTP ;25mm/s;equ (1667*2*10/2-180*2)
744 ; dw STP_NORM_LTP ;25mm/s;equ (1667*2*10/2-180*2)
745 ;for printing speed 30mm/s
746 dw (4393-60)*2 ;30mm/s;equ (4393-60)*2
747 dw STP_NORM_LTP ;30mm/s;equ (1667*2*5/3-180*2)
748 dw STP_NORM_LTP ;30mm/s;equ (1667*2*5/3-180*2)
749 dw STP_NORM_LTP ;30mm/s;equ (1667*2*5/3-180*2)
750 ;for printing speed 35mm/s
751 ; dw (4393-60)*2 ;35mm/s;1
752 ; dw (2715-180)*2 ;35mm/s;2
753 ; dw STP_NORM_LTP ;35mm/s;equ (1667*2*5/3.5-180*2)
754 ; dw STP_NORM_LTP ;35mm/s;equ (1667*2*5/3.5-180*2)
755 ;for printing speed 40mm/s
756 ; dw (4393-60)*2 ;40mm/s;1
757 ; dw (2715-180)*2 ;40mm/s;2
758 ; dw (2097-180)*2 ;40mm/s;3
759 ; dw STP_NORM_LTP ;40mm/s;equ (1667*2*5/4-180*2)
760 ;for printing speed 50mm/s
761 ; dw (4393-60)*2 ;50mm/s;1
762 ; dw (2715-180)*2 ;50mm/s;2
763 ; dw (2097-180)*2 ;50mm/s;3
764 ; dw (1760-180)*2 ;50mm/s;4
765 ;==============================================================================
766 ; Timer 1 reset and start (for make strobe pulse)
767 ;==============================================================================
776 ;==============================================================================
777 ; Timer 1 stop
778 ;==============================================================================
784 ;==============================================================================
785 ; Timer1 value set reg.wa -> TREG1AL,TREG1AM
786 ;==============================================================================
791 ;==============================================================================
792 ; Timer 2 start 0.5us clock [1/32fc] (for MT step pulse [chopping]) 16M clock
793 ;==============================================================================
800 ;==============================================================================
801 ; Timer 2 start 16us clock [1/128fc] (for MT step pulse [chopping]) 16M clock
802 ;==============================================================================
809 ;==============================================================================
810 ; Timer 2 value set (for MT step pulse,chopping)
811 ;==============================================================================
815 ;==============================================================================
816 ; Timer 2 stop (for MT step pulse chopping)
817 ;==============================================================================
822 ;==============================================================================
823 ; AD set and start (AIN6: head temp.)
824 ;==============================================================================
831 ;==============================================================================
832 ; AD set and start (AIN7: VPR volt.)
833 ;==============================================================================
840 ;==============================================================================
841 ; Get AD convert value
842 ;==============================================================================
850 ;==============================================================================
851 ; VPR on
852 ;==============================================================================
859 ;==============================================================================
860 ; VPR off
861 ;==============================================================================
866 ;==============================================================================
867 ; STB1 on
868 ;==============================================================================
872 ;==============================================================================
873 ; STB2 on
874 ;==============================================================================
878 ;==============================================================================
879 ; STB1 off
880 ;==============================================================================
884 ;==============================================================================
885 ; STB2 off
886 ;==============================================================================
890 ;==============================================================================
891 ; check whether STB2 off (=1?)
892 ;==============================================================================
897 ;==============================================================================
898 ; MT driver enable
899 ;==============================================================================
904 ;==============================================================================
905 ; MT driver disable
906 ;==============================================================================
910 ;==============================================================================
911 ; Latch enable
912 ;==============================================================================
918 ;==============================================================================
919 ; SIO initialize
920 ;==============================================================================
929 ;==============================================================================
930 ; SIO transmit start
931 ;==============================================================================
936 ;==============================================================================
937 ; SIO disable
938 ;==============================================================================
944 ;-----------------------------------------------
945 ; Printer Initial
946 ;-----------------------------------------------
947 prn_init:
948 ld (F_PCONT),0y00000000 ;control flags clear
949 ld (F_PCONT+1),0y00000000 ;control flags clear
950 ;V4.14 ld (F_PCONT+2),0y00000000 ;control flags clear
951 and (F_PCONT+2),0y00100000 ;V4.14;keep P_RED flag
952 ld (PHASE_CT),0
953 ld (STEP_CT),0
955 +1 ld wa,F_INIT
956 +1 set (F_INIT>>4).a
958 +1 set (P0DR).3
960 +1 set (P0DR).2
962 +1 and (P4DR),0y11111100 ;AIN1,AIN0 must set '0' for AD convert
963 +1 or (P4DR),0y00000100 ;P42 set'1'(VPR)
964 +1 set (F_PCONT+2).6 ;IO_MT equ (F_PCONT+2<<4)+6
965 +1
967 +1 ld wa,P_MOVE
968 +1 set (P_MOVE>>4).a
969 call vft_disable
970 call start_up ;MT driver enable, motor start, dbr clear BL off
972 +1 ld wa,SW_LTP
973 +1 test (SW_LTP>>4).a ;bit -reverse-> jump status
974 +1 j t,prn_ini_09 ;if jump status is 1 -> branch
976 +1 ld wa,F_RVSE
977 +1 set (F_RVSE>>4).a
978 prn_ini_09:
980 +1 ld wa,F_INIT
981 +1 test (F_INIT>>4).a ;bit -reverse-> jump status
982 +1 j f,prn_ini_09 ;if jump status is 0 -> branch
983 ret
984
985 ;
986 ;-----------------------------------------------------------------------------------
987 ; 10 dotline feed
988 key_feed:
989 call print_int_check ;V4.14
990 key_feed_0: ;V4.14
992 +1 ld wa,F_PRINT
993 +1 test (F_PRINT>>4).a ;bit -reverse-> jump status
994 +1 j f,key_feed_0 ;if jump status is 0 -> branch
995
996 key_feed_start:
998 +1 ld wa,F_FDREQ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -