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

📄 skdy1.asm

📁 一个用单片机写的驱动打印机的程序,值得你下载
💻 ASM
📖 第 1 页 / 共 2 页
字号:
poa     equ    p1.3
pob     equ    p1.2
poC     equ    p1.0
poD     equ    p1.1
MOTO    EQU    p1.4
DOG     EQU    p3.2
SYN     EQU    P1.5    ;//p1.6
LINE    EQU    P3.7
LIGHT   EQU    p1.7    ;P3.3    ;r1
KEY     EQU    p3.5
lightr  equ    p1.6
power   equ    p3.4
;;..................
	  ORG     0000H
	  aJMP    MAIN
	  ORG     000BH
	  ajmp    TIME0
MAIN: mov scon  , #0b0h
	  mov pcon ,#00h
	  MOV       TMOD,     #01H                ;t1 form2
	  MOV   TH0, #00H
	  MOV   TL0, #00h
     ajmp   npon
	  ORG    0023H
	  ajmp   INTR
;;*******************
;	  ORG       0030H
npon:	  clr    f0
	  mov sp, #40h
	  setb      ea
	  setb      et0
	  setb      es
	  setb light
	  setb lightr
loop_t:          SETB      POA
	  SETB      POB
	  SETB      MOTO
	  SETB      SYN
	  SETB      LINE
	  setb     power
	  mov 5Fh,#00h
	  mov  29h,#00h
	  CPL        DOG
	  nop
	  jnb key ,test
	  ajmp loop_t
test:     clr ea
	  acall  print2
	  setb ea
	  ajmp  loop_t
;;*******************
;----------------------------------------------------------------
print1:    nop
;clr  power
;delay:   mov r7, #0ddh
;delay1:  nop
;         nop
;         djnz r7 ,delay1
	  mov 5Fh,#00h
	  mov 29h ,#00h
	  clr tr0
	  jb light ,aa0		  ;检测右黑点
	  jb lightr,aa0		  ;检测左黑点
	  nop                ;no paper cheak
;          setb  power
	  ret
aa0:    ;  clr  MOTO    ;;on motor
	  lcall prnnc
	  lcall prnnc
aa1:      jnb light  ,tt1  ;检测右黑点为零
	  lcall prnnc
	  ajmp aa1
	  jnb lightr ,ttt
ttt:     setb moto    ;;THE NEXT RIGHT BLACK
	  ret
tt1:
;	  lcall prnnc  ;2002.11.06
;	  lcall prnnc  ;提行 20060823  朱祥
;	  lcall prnnc  ;;;;
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc   ;  tang  10.31
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
	  lcall prnnc
;;-------------------------tang 10.28-------------
;	   lcall aa001			朱祥20060914
	   lcall NO058		   ;朱祥20060914
	   setb moto
	   mov 5Fh,#00h
	   ret

;///////////////////////////////////////////////////////////////原来的
NO058:
       mov   5BH    ,69h      ;#51H ;xb060304加上的,69存车号前位	d5
	   mov   5ah    ,68h	  ; d4h	  
	   mov   58h    ,6ah      ;     #d6H
       MOV   59H    ,6bh      ;     #d7H
       MOV   R1     ,#30H     ;;car code

	   ;xb060304加上的,用来打印5BIT车牌号
	   ANL   58H    ,#0FH
	   ORL   58H    ,#0A0H
       LCALL PRTSTS2
;//////////////////////////////////////////////////////////////
ZNO058:mov 5ah , 6ch       
	   mov 5ah ,#0aah	   
       mov 5bh , 6dh ;#0AAH;xb060304加上的,69存服务证号前位
       mov 58h , 6eh;     #18H
       mov 59h , 6fh;        #18H
       MOV   R1,  #30H     ;;zheng code
       LCALL  PRTSTS1
       ret	
;***************************************************************************
print2: ;  clr   moto
          mov 5Fh,#00h
	  mov 29h ,#00h
	  clr tr0
	  jb light ,aa00
	  jb lightr,aa00       ;NO PAPER
	  ret
;*****************************************************************************
aa00:  acall    print_next
       setb     moto
       ret
print_next:MOV     5AH,   74h;   #00H    ;;year
       MOV     5BH,   79h;   #11H   ;;month
       mov     59h,   7ah;   #23h   ;; date
;****************************
	mov     a,        5bh
	anl     a,        #0fh
	add     a,        #0c0h
	SWAP A
	MOV     58H,      a
	mov     a,        5bh
	anl     a,         #0f0h
	add     a,         #0ch
	SWAP A
	mov 5bh ,a
	MOV   R1,  #30H     ;; ;;DATE	 日期
	lcall prtsts1
;;......................
	MOV     58H,    75h; #23H ;hour
	MOV     59H,    76h; #30H ;min
;*****************************
	MOV     5AH,     #0AAH
	mov     A ,58H
	ANL     A ,#0F0H
	SWAP A
	ADD A,#0A0H
	MOV     5BH, A
	MOV A ,58H
	ANL   A ,#0FH
	SWAP A
	ADD A ,#0DH
	MOV  58H ,A
	MOV   R1,  #30H     ;; ;;UP TIME 上车时间
	LCALL  PRTSTS1
;;.......................
	MOV     58H, 77h;    #23H ;hour
	MOV     59H, 78h;    #H ;min
;******************************
	MOV     5AH,     #0AAH
	mov     A ,58H
	ANL     A ,#0F0H
	SWAP A
	ADD A,#0A0H
	MOV     5BH, A
	MOV A ,58H
	ANL   A ,#0FH
	SWAP A
	ADD A ,#0DH
	MOV  58H ,A
	MOV R1 ,#30H
	LCALL  PRTSTS1
;;.......................
	MOV     58H,     7bh; #01H  ;1.20 YUANG
	MOV     59H,     7ch; #20H
;************************
	MOV      5AH,      #0AAH
	MOV     5BH,      #0AAH
 ;---------------
     mov   a,58h
        anl   a,#0f0h
        cjne  a,#00h,buxiang
        sjmp  xiangde
buxiang:mov   a,5bh
        anl   a,#0f0h
        swap  a
        mov   5ah,58h
        anl   5ah,#0f0h
        add   a,5ah
        swap  a
        mov   5bh,a
        mov   5ah,#0aah
;----------------
xiangde:	MOV   A,   58H
	SWAP  A
	ANL A ,#0F0H
	ADD  A,#0CH
	MOV  58H,A
	MOV   R1,  #30H     ;;;PRICE	  
       LCALL  PRTSTS1

;;.......................
	mov     5bh,      #00h  ;hight bit
	MOV     58H,    7dh;  #51H  ;mid BIT    2519.9
	MOV     59H,    7eh;  #99H  ;LOW  BIT
;****************************
	mov a,5bh
	ANL A ,#0FH
	CJNE A,#00H, KKK1_T
	MOV A,58H
	ANL A,#0F0H
	CJNE A,#00H,KKK2_T
	MOV A,58H
	ANL A,#0FH
	CJNE A,#00H,KKK3_T
	MOV  5AH,#0AAH
	MOV  5BH,#0AAH
	MOV  A, 59H
	ANL A ,#0F0H
	SWAP A
	MOV 58H,#0A0H
	ADD A,58H
	MOV 58H,A
	AJMP kkk0_T
kkk1_T:    MOV 5AH,#0AAh
	  MOV A,5BH
	  ANL A, #0FH
	  SWAP A
	  MOV 5BH,A
	  MOV A, 58H
	  ANL A ,#0F0H
	  SWAP A
	  ADD A,5BH
	  MOV 5BH,A        ;;CHU LI 5BH

	  MOV A,58H
	  ANL A ,#0FH
	  SWAP A
	  MOV 58H ,A
	  MOV A ,59H
	  SWAP A
	  ANL A ,#0FH
	  ADD A ,58H
	  MOV 58H, A      ;; CHU LI 58H

	  AJMP KKK0_T
KKK2_T:   MOV 5AH,0AAH
	  MOV A ,58H
	  ANL A,#0F0H
	  SWAP A
	  MOV 5BH,#0A0H
	  ADD A,5BH
	  MOV 5BH,A
	  MOV A,58H
	  ANL A ,#0FH
	  SWAP A
	  MOV 58H ,A
	  MOV A ,59H
	  SWAP A
	  ANL A ,#0FH
	  ADD A ,58H
	  MOV 58H, A      ;; CHU LI 58H
	  AJMP KKK0_T
kkk3_T:   MOV 5AH,#0AAH
	  MOV 5BH,#0AAH
	  MOV A,58H
	  ANL A ,#0FH
	  SWAP A
	  MOV 58H ,A
	  MOV A ,59H
	  SWAP A
	  ANL A ,#0FH
	  ADD A ,58H
	  MOV 58H, A      ;; CHU LI 58H
	  AJMP KKK0_T

KKK0_T:    MOV 5AH,#0AAH
	   MOV  R1, #30H
	   mov     a,      58H
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a   ;;30H
	   INC     R1           ;;31H
	   mov     a,      58H
	   anl     a,      #0fh
	   mov     @R1,  a

	   INC     R1            ;;32H
	   mov     a,      59H
	   SWAP    A
;          anl     a,      #0fh
	   mov     @R1,   #0ch; a
	   INC    R1             ;;33H
	   mov     a,      59H
	   anl     a,      #0fh
	   mov     @R1,    a

	   INC    R1             ;;34H
	   mov     a,           5AH
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC     R1              ;;35H
           mov     a,            5AH
	   anl     a,      #0fh
           mov     @R1,  a
           INC     R1              ;;36H
           mov     a,           5BH
           SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1               ;;37H
	   mov     a,          5BH
	   anl     a,      #0fh
	   mov     @R1,    a
	   LCALL PRN
	   LCALL   PRNNC
;;.......................
	MOV     5AH,     7fh; #00H    ;;HOUR
	mov   r0 ,#50h
	MOV     5BH,  @r0 ;#11H   ;;MIN
	mov r0,#54h
	mov     59h,   @r0;   #23h   ;;SEC
;****************************
	mov     a,        5bh
	anl     a,        #0fh
	add     a,        #0c0h
	SWAP A
	MOV     58H,      a
	mov     a,        5bh
	anl     a,         #0f0h
	add     a,         #0Dh
	SWAP A
	mov 5bh ,a
	MOV   R1,  #30H     ;; ;;DATE
	lcall prtsts1				;zzzzzz等候时间
;>>>>>>>>>>>>>>>>>>>>>>>>>>>
	mov r0,#51h
	MOV 5BH , @r0  ;#00H  ;55.80 YUANG
	inc r0
	MOV 58H, @r0  ;#55H
	inc r0
	MOV 59H, @r0  ;;#80H
;*********************
	MOV 5AH ,#0AAH
	MOV   R1,  #30H     ;;  ;;JING E  金额
	mov     a,      58H
	   anl     a,      #0fh
	   mov     @R1,    a   ;;30H
	   INC     R1           ;;31H
	   mov     a,      #0CH ; 58H
	   mov     @R1,  a
	   INC     R1            ;;32H
	   mov     a,      59H
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1             ;;33H
	   mov     a,      59H
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1             ;;34H
	   mov     a,           5AH
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC     R1              ;;35H
       mov     a,            5AH
	anl     a,      #0fh
       mov     @R1,  a
       INC     R1              ;;36H
       mov     a,           5BH
       anl     a,      #0fh
       CJNE A ,#00H, KKK_1
	MOV A,58H
       SWAP A
       ANL A ,#0FH
      CJNE A,#00H,KKK_2
       MOV 5BH,#0AAH
       AJMP   KKK_3
KKK_1: MOV A,5BH
       SWAP A
      ANL A,#0F0H
      MOV 5BH ,A
      MOV A,58H
      SWAP A
      ANL A,#0FH
      ADD A,5BH
      MOV 5BH,A
      AJMP KKK_3
KKK_2: MOV A,58H
      SWAP A
      ANL A ,#0FH
      ADD A,#0A0H
      MOV 5BH ,A
KKK_3:     mov     a,           5BH
	   SWAP    A
	   anl     a,      #0fh
	mov     @R1,    a
	INC    R1               ;;37H
	mov     a,          5BH
	anl     a,      #0fh
	mov     @R1,    a
	LCALL PRN
	LCALL   PRNNC
;.......
	MOV     5aH, 70h  ;     #56h
	MOV   A,    5AH
	ANL A,#0F0H
	SWAP A
	XRL A,#00H
	JNZ  INO0
       MOV A,5AH
       ANL A,#0FH
       MOV 27H,A
       XRL A,#00H
       JZ  ICHEAK_5B
       MOV A, #0A0H
       ADD A,27H
       MOV 5AH,A
       AJMP INO0

ICHEAK_5B:MOV 5AH,#0AAH
	 MOV 5BH ,71H
	 MOV A,5BH
	 ANL A,#0F0H
	 SWAP A
	 XRL A,#00H
	 JNZ INO0
	 MOV A,5BH
	 ANL A,#0FH
	 MOV 27H,A
	 XRL A,#00H
	 JZ  INOCHEAK
	 MOV A,#0A0H
	 ADD A,27H
	 MOV 5BH,A
	 AJMP INO058
INOCHEAK: MOV 5BH,#0AAH
	 AJMP INO058

INO0:
INO058:


;;.......................

	LCALL   PRNNC
	LCALL   PRNNC
	LCALL   PRNNC
	LCALL   PRNNC
	LCALL   PRNNC
	LCALL   PRNNC
	LCALL   PRNNC
	lcall   prnnc       ;tang
	lcall   prnnc
	lcall   prnnc
;;.......................
        setb LINE
	setb SYN
	clr 17h
	cpl dog
	setb    MOTO ;;;motor off
	mov 5Fh,#00h
	RET
;/////////////////////////////////////////////////////
		  
PRTSTS2:       	  
	   mov     a,      58H		 ;   打印数据处理程序
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a   ;;30H
	   INC     R1           ;;31H
	   mov     a,      58H
	   anl     a,      #0fh
	   mov     @R1,  a
	   INC     R1            ;;32H
	   mov     a,      59H
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1             ;;33H
	   mov     a,      59H
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1		   ;;34H
	   INC    R1		   ;;35H
	   INC    R1            	
	   mov     a,    5AH
	   subb    A ,  #31h			;字母
	   mov     @R1,    a
	   INC     R1	         ;;36H 	      
	   mov     a,      5BH	  ;字母
	   subb    A ,  #31h
	   mov     @R1,    a
	   inc     R1			  ;;37h
	   LCALL PRN 
	   LCALL   PRNNC
	   ret	 
;;**************************************************************************
PRTSTS1:   mov     a,      58H		 ;   打印数据处理程序
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a   ;;30H
	   INC     R1           ;;31H
	   mov     a,      58H
	   anl     a,      #0fh
	   mov     @R1,  a
	   INC     R1            ;;32H
	   mov     a,      59H
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1             ;;33H
	   mov     a,      59H
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC    R1             ;;34H
	   mov     a,           5AH
	   SWAP    A
	   anl     a,      #0fh
	   mov     @R1,    a
	   INC     R1              ;;35H
       mov     a,            5AH
	   anl     a,      #0fh
       mov     @R1,  a
       INC     R1              ;;36H
       mov     a,           5BH
	   SWAP    A
	   anl     a,      #0fh
      mov     @R1,    a
	INC    R1               ;;37H
	mov     a,          5BH
	anl     a,      #0fh
	mov     @R1,    a

⌨️ 快捷键说明

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