⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p2764.asm

📁 微型针式打印机的源代码和PCB图纸
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                  MOV	A,10H
                  DEC	A
                  JZ	Q0ACF
                  INC	R0
                  INC	R0
Q0ACF:            PUSH	00H
                  ACALL	Q0BA3
                  MOV	R0,#10H
                  MOV   DPTR,#Q0FDD
                  JNB   LF,Q0AF2
                  MOV	R0,#0AH
                  MOV   DPTR,#Q0FD3
                  ACALL	Q0B1F
                  MOV	A,10H
                  CJNE	A,#01H,Q0AED
                  ACALL	Q0B9A
                  MOV	R0,#06H
                  ACALL	Q0BA3
Q0AED:            MOV   DPTR,#Q0FE3
                  MOV	R0,#0AH
Q0AF2:            ACALL	Q0B98
                  POP	00H
                  JB    LF,Q0AFB
                  ACALL	Q0B40
Q0AFB:            MOV   DPTR,#Q100D
                  ACALL	Q0B3A
                  ACALL	Q0BA3
                  MOV   DPTR,#Q0FED
                  MOV	R0,#0BH
                  ACALL	Q0B1F
                  MOV   DPTR,#Q0FF8
                  MOV	R0,#02H
                  MOV	A,10H
                  DEC	A
                  ACALL	Q0B87
                  ACALL	Q0B98
                  MOV	R0,#03H
                  LCALL	Q071B
                  CLR   SEL
                  CLR	24H.1
                  RET
;==================================================
Q0B1F:            CLR	A
                  MOVC	A,@A+DPTR
                  CPL	A
                  PUSH	DPH
                  PUSH	DPL
                  PUSH	00H
                  LCALL	Q088B
                  POP	00H
                  POP	DPL
                  POP	DPH
                  INC	DPTR
                  DEC	R0
                  MOV	A,R0
                  JNZ	Q0B1F
                  LCALL SET_P1
                  RET
;===================================================
Q0B3A:            MOV	A,10H
                  DEC	A
                  MOVC	A,@A+DPTR
                  MOV	R0,A
                  RET
;==================================================
Q0B40:            ACALL	Q0BA3
                  LCALL READ_CHAR
                  PUSH	ACC
                  ANL	A,#0EH
                  RR	A
                  PUSH	ACC
                  MOV	R0,#02H
                  MOV   DPTR,#Q1014
                  ACALL	Q0B87
                  CJNE	A,#07H,Q0B57
                  INC	R0
Q0B57:            ACALL	Q0B1F
                  POP	ACC
                  CLR	PSW.7
                  SUBB	A,#03H
                  JC	Q0B66
                  MOV	A,#30H
                  LCALL	Q088B
Q0B66:            MOV   DPTR,#Q1025
                  MOV	R0,#06H
                  ACALL	Q0B1F
                  POP	ACC
                  ANL	A,#60H
                  MOV	R0,#05H
Q0B73:            RR	A
                  DJNZ	R0,Q0B73
                  MOV	R0,#03H
                  MOV   DPTR,#Q102B
                  ACALL	Q0B87
                  ACALL	Q0B1F
                  MOV   DPTR,#Q1037
                  MOV	R0,#02H
                  ACALL	Q0B98
                  RET
;======================================================
Q0B87:            JZ	Q0B97
                  PUSH	ACC
Q0B8B:            PUSH	00H
Q0B8D:            INC	DPTR
                  DJNZ	R0,Q0B8D
                  POP	00H
                  DEC	A
                  JNZ	Q0B8B
                  POP	ACC
Q0B97:            RET
Q0B98:            ACALL	Q0B1F
Q0B9A:            LCALL	Q075E
;=========================================================
Q0B9D:            LCALL	Q11DC
                  SETB	P3.0
                  RET
;===========================================================
Q0BA3:            MOV	A,R0
                  JZ	Q0BB1
                  MOV	A,#20H
                  PUSH	00H
                  LCALL	Q088B
                  POP	00H
                  DJNZ	R0,Q0BA3
Q0BB1:            RET
                  MOV	DPTR,#03CCH
                  ACALL	Q0BBA
                  MOV	DPTR,#02CFH
Q0BBA:            MOV	R0,#FDH
                  LCALL CLR_RAM
                  RET
;=========================================================
;CF=1,表示31H.32H-1不等于0
Q0BC0:            INC	R1
                  MOV	A,15H
                  XRL	A,R1
                  JZ	Q0BCA
                  LCALL	Q0BE1
                  RET
Q0BCA:            LCALL	Q0BE1
                  JNC	Q0BD7
Q0BCF:            LCALL QGET_BYTE
                  LCALL	Q0BE1
                  JC	Q0BCF
Q0BD7:            RET
Q0BD8:            MOV	35H,IE
                  JNB   LF,Q0BE0
                  CLR	IE.7
Q0BE0:            RET
;===================================================
Q0BE1:            MOV	A,31H
                  JZ	Q0BF5
                  MOV	A,32H
                  JZ	Q0BEE
                  DEC	A
                  MOV	32H,A
                  SJMP	Q0BF3
Q0BEE:            MOV	32H,#FFH
                  DEC	31H
Q0BF3:            SETB	C
                  RET
;===================================================                  
Q0BF5:            MOV	A,32H
                  DEC	A
                  MOV	32H,A
                  JNZ	Q0BF3
                  CLR	C
                  RET
;=======================================================
Q0BFE:            SETB  26H.4
Q0C00:            SETB  24H.3           ;图形打印
                  MOV	36H,1CH
                  CLR	A
                  MOV	1CH,A
                  LCALL GET_BYTE_TO_R0
                  MOV	32H,A
                  LCALL QGET_BYTE
                  MOV	31H,A
                  JNZ	Q0C1F
                  MOV	A,R0
                  JNZ	Q0C1F
                  CLR	24H.3
                  MOV	1CH,36H
                  CLR	26H.4
                  RET
;=====================================================
Q0C1F:            MOV	R1,#00H
                  MOV	DPTR,#02CFH
                  MOV	A,30H
                  JZ	Q0C33
                  CJNE	A,#01H,Q0C30
                  MOV	DPTR,#03CCH
                  SJMP	Q0C33
Q0C30:            MOV	DPTR,#050AH
Q0C33:            PUSH	DPL
                  PUSH	DPH
Q0C37:            INC	DPTR
                  LCALL QGET_BYTE
                  MOVX	@DPTR,A
                  ACALL	Q0BC0
                  JC    Q0C37           ;没完
                  POP	DPH
                  POP	DPL
                  MOV	A,R1
                  MOVX	@DPTR,A
                  LCALL GET_BYTE_TO_R0
                  MOV	A,R0
                  XRL	A,#1BH
                  JNZ	Q0C59
                  LCALL GET_BYTE_TO_R0
                  CJNE	A,#4BH,Q0C65
                  ACALL	Q0C5E
                  LJMP  DO_ESC

Q0C59:            ACALL	Q0C5E
                  LJMP	Q00F0
;==============================================
Q0C5E:            PUSH	00H
                  ACALL	Q0C86
                  POP	00H
                  RET
;================================================                  
Q0C65:            INC	30H
                  MOV	A,30H
                  CJNE	A,#01H,Q0C9B
                  MOV	A,R0
                  CJNE	A,#33H,Q0C7B
                  LCALL QGET_BYTE
                  XRL	A,#01H
                  JNZ	Q0C81
                  SETB	26H.5
                  SJMP	Q0C81
Q0C7B:            CJNE	A,#41H,Q0C92
                  LCALL QGET_BYTE
Q0C81:            LCALL QGET_BYTE
                  SJMP	Q0C8C
;=====================================================
Q0C86:            LCALL	Q05A8
                  MOV	30H,#00H
Q0C8C:            MOV	1CH,36H
                  CLR	26H.4
                  RET
;=====================================================
Q0C92:            PUSH	00H
                  ACALL	Q0C86
                  POP	00H
                  LJMP  DO_ESC
Q0C9B:            PUSH	00H
                  JNB	26H.5,Q0CA2
                  ACALL	Q0CCA
Q0CA2:            ACALL	Q0CAB
                  ACALL	Q0C8C
                  POP	00H
                  LJMP  DO_ESC
Q0CAB:            SETB	24H.4
                  SJMP	Q0CB1
                  CLR	24H.4
Q0CB1:            ACALL	Q0CC4
                  LCALL	Q0EBA
                  CLR	26H.5
                  MOV	30H,#00H
                  RET
                  MOV	R5,A
                  LCALL	Q14BB
                  ORL	P1,#FFH
                  RET
;========================================================
Q0CC4:            MOV	DPTR,#02CFH
                  MOVX	A,@DPTR
                  MOV	R1,A
                  RET
;=======================================================
Q0CCA:            ACALL	Q0CC4
                  INC	DPTR
                  ACALL	Q0DD8
                  MOV	DPTR,#03CDH
Q0CD2:            ACALL	Q0CEA
                  DJNZ	R1,Q0CD2
                  RET
                  ACALL	Q0CC4
                  INC	DPTR
                  ACALL	Q0DD8
                  MOV	DPTR,#03CDH
                  LCALL	Q0F25
                  MOV	DPTR,#050BH
Q0CE5:            ACALL	Q0D0D
                  DJNZ	R1,Q0CE5
                  RET
;====================================================
Q0CEA:            PUSH	01H
                  ACALL	Q0D6B
                  ACALL	Q0D48
                  ACALL	Q0D55
                  PUSH	DPL
                  PUSH	DPH
                  ACALL	Q0DD1
                  ACALL	Q0D6B
                  ACALL	Q0D5C
                  MOV	A,29H
                  MOVX	@DPTR,A
                  INC	DPTR
                  ACALL	Q0DD8
                  POP	DPH
                  POP	DPL
                  MOV	A,2AH
                  MOVX	@DPTR,A
                  INC	DPTR
                  POP	01H
                  RET
;=======================================================
Q0D0D:            PUSH	01H
                  ACALL	Q0D9D
                  ACALL	Q0D48
                  ACALL	Q0D48
                  ACALL	Q0D55
                  PUSH	DPL
                  PUSH	DPH
                  LCALL	Q0F30
                  ACALL	Q0D9D
                  ACALL	Q0D48
                  ACALL	Q0D5C
                  LCALL	Q0F25
                  ACALL	Q0DD1
                  ACALL	Q0D9D
                  ACALL	Q0D5C
                  MOV	A,29H
                  MOVX	@DPTR,A
                  INC	DPTR
                  ACALL	Q0DD8
                  LCALL	Q0F30
                  MOV	A,2AH
                  MOVX	@DPTR,A
                  INC	DPTR
                  LCALL	Q0F25
                  POP	DPH
                  POP	DPL
                  MOV	A,2BH
                  MOVX	@DPTR,A
                  INC	DPTR
                  POP	01H
                  RET
;=====================================================
Q0D48:            CLR	C
                  RRC	A
                  PUSH	ACC
                  MOV	A,R0
                  RRC	A
                  MOV	R0,A
                  MOV	A,R1
                  RRC	A
                  MOV	R1,A
                  POP	ACC
                  RET
;=====================================================
Q0D55:            MOV	29H,A
                  MOV	2AH,R0
                  MOV	2BH,R1
                  RET
;=====================================================
Q0D5C:            ADD	A,29H
                  MOV	29H,A
                  MOV	A,R0
                  ADD	A,2AH
                  MOV	2AH,A
                  MOV	A,R1
                  ADD	A,2BH
                  MOV	2BH,A
                  RET
;=====================================================
Q0D6B:            MOVX	A,@DPTR
                  MOV	28H,A
                  MOV	A,#00H
                  MOV	R1,A
                  JNB	28H.0,Q0D76
                  ADD	A,#02H
Q0D76:            JNB	28H.1,Q0D7B
                  ADD	A,#08H
Q0D7B:            JNB	28H.2,Q0D80
                  ADD	A,#20H
Q0D80:            JNB	28H.3,Q0D85
                  ADD	A,#80H
Q0D85:            MOV	R0,A
                  MOV	A,#00H
                  JNB	28H.4,Q0D8D
                  ADD	A,#02H
Q0D8D:            JNB	28H.5,Q0D92
                  ADD	A,#08H
Q0D92:            JNB	28H.6,Q0D97
                  ADD	A,#20H
Q0D97:            JNB	28H.7,Q0D9C
                  ADD	A,#80H
Q0D9C:            RET
;=====================================================
Q0D9D:            MOVX	A,@DPTR
                  MOV	28H,A
                  MOV	A,#00H
                  JNB	28H.0,Q0DA7
                  ADD	A,#04H
Q0DA7:            JNB	28H.1,Q0DAC
                  ADD	A,#20H
Q0DAC:            MOV	R1,A
                  MOV	A,#00H
                  JNB	28H.2,Q0DB4
                  ADD	A,#01H
Q0DB4:            JNB	28H.3,Q0DB9
                  ADD	A,#08H
Q0DB9:            JNB	28H.4,Q0DBE
                  ADD	A,#40H
Q0DBE:            MOV	R0,A
                  MOV	A,#00H
                  JNB	28H.5,Q0DC6
                  ADD	A,#02H
Q0DC6:            JNB	28H.6,Q0DCB
                  ADD	A,#10H
Q0DCB:            JNB	28H.7,Q0DD0
                  ADD	A,#80H
Q0DD0:            RET
;=====================================================
Q0DD1:            MOV	A,R5
                  MOV	DPH,A
                  MOV	A,R4
                  MOV	DP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -