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

📄 yanchen.asm

📁 电动门程序急图纸
💻 ASM
📖 第 1 页 / 共 2 页
字号:
		 MOV 3BH,#1
D7:	 MOV 48H,44H
		 MOV 49H,45H
		 MOV A,3BH
		 MOV B,#ZJS
		 MUL AB
		 ADD A ,42H
		 MOV 46H,A
		 XCH A,B
		 ADDC A ,43H
		 MOV 47H,A
		 MOV DPTR,#0100H
		 MOV 4AH,DPL
		 MOV 4BH,DPH
		  CLR P3.5
;;;;;;;;;;;;;;;PRE;;;;;;;
		 MOV R7,3AH;;;;;47---
D3:	 MOV R6,#ZJS
D4:	 MOV DPL ,46H
		 MOV  DPH,47H
		 MOVX A,@DPTR
		 INC DPTR
		 MOV 46H,DPL
		 MOV 47H,DPH
		 MOV DPL ,4AH
		 MOV  DPH,4BH
		 MOVX @DPTR,A
		 INC DPTR
		 MOV 4AH,DPL
		 MOV 4BH,DPH
		 DJNZ R6,D4
		 DJNZ R7,D3
;;;;;;;;;;;POST;;;;;;;;;;;;;
		 MOV R7,3BH;;;;1++
D1:	 MOV R6,#ZJS
D2:	 MOV DPL ,48H
		 MOV DPH,49H
		 MOVX A,@DPTR
		 INC DPTR
		 MOV 48H,DPL
		 MOV 49H,DPH
		 MOV DPL ,4AH
		 MOV  DPH,4BH
		 MOVX @DPTR,A
		 INC DPTR
		 MOV 4AH,DPL
		 MOV 4BH,DPH
		 DJNZ R6,D2
		 DJNZ R7,D1
		 SETB P3.5
		 PUSH 44H
		 PUSH 45H
		 MOV 44H,#00
		 MOV 45H,#01
		 MOV R4,#CS
D5:	 LCALL  PAGE1
		 DJNZ R4,D5
		 POP 45H
		 POP 44H
		 INC 3BH
		 ;CLR P3.4            ;open  LOE
		 DJNZ 3AH,D6
		 LCALL  PAGE1
		 RET
D6:    AJMP D7

;;;;;;;;;;;;OPEN1;;;;;;;
OPEN1:
		 MOV 3AH,#15
		 MOV 3BH,#2
		 MOV A,44H ; 44H,45H POST PAGE
		 ADD A ,#0E0H
		 MOV 44H,A
		 MOV A ,45H			 ;32*15=1E0
		 ADDC A ,#1H
		 MOV 45H,A
 ;;;;;;;;;;BLACK;;;;;;;
O11:    MOV A , 3AH  ;3AH=15---
		  JZ  O12
		  MOV R7, A  ;3AH=15---
O3:     MOV R6,#ZJS
		  CLR A
O1:      CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
O2:  	    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,O2
			DJNZ R6,O1
			MOV R5,#08H
O200:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,O200
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,O3
 ;;;;;;;;;DATA;;;;;;;;;;;;;;
O12:	 	MOV DPL ,44H
			MOV DPH ,45H
			MOV R7, 3BH  ;3BH=2++
 O6:   MOV R6,#ZJS
 O4:	  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
O5:  	    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,O5
			INC DPTR
			DJNZ R6,O4
			MOV R5,#08H
O50:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,O50
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,O6
	 ;;;;;;;;NEXT PAGE;;;;;;;
			MOV A,44H
			CLR C
			SUBB A,#32
			MOV 44H,A
			JNC O7
			DEC 45H
O7:     INC 3BH   ;3BH=2++
		  INC 3BH
 ;;;;;;;;;;BLACK;;;;;;;
		 MOV A, 3AH  ;3AH=15---
		 JZ  O13
		 MOV R7, A  ;3AH=15---
O8:     MOV R6,#ZJS
		  CLR A
O9:      CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
O10:      SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,O10
			DJNZ R6,O9
			MOV R5,#08H
O101:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,O101
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,O8
			CLR P3.4             ;VS
			SETB P3.4
			DEC  3AH   ;3AH=15---
			MOV A, 3AH
			CJNE A ,#0FFH, O14
O13:   	CLR P3.4             ;VS
			SETB P3.4
			RET
O14:     AJMP O11
;;;;;;;;;;;;CLOSE1;;;;;;;;
CLOSE1:
		 MOV 3AH,#30
		 MOV 3BH,#1
		 MOV A,44H ; 44H,45H  UP POST PAGE
		 ADD A ,#0E0H
		 MOV 46H,A
		 MOV A ,45H			 ;32*31=3E0
		 ADDC A ,#3H
		 MOV 47H,A    ; 46H,47H DOWN  POST PAGE
		 MOV  R4,#16
  ;;;;;UP DATA;;;;;;;;;;;;;;
C1:	 	MOV DPL ,44H
			MOV DPH ,45H
			MOV R7, 3BH  ;3BH=1++
 C2:     MOV R6,#ZJS
C3:	  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
C4:  	    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,C4
			INC DPTR
			DJNZ R6,C3
			MOV R5,#08H
C40:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,C40
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,C2
 ;;;;;;;;;;BLACK;;;;;;;
		  MOV A, 3AH  ;3AH=30---
		  JZ  C8
		  MOV R7, A  ;3AH=30---
C5:     MOV R6,#ZJS
C6:		  CLR A
			CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
C7:  	    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,C7
			DJNZ R6,C6
			MOV R5,#08H
C70:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,C70
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,C5
;;;;;DOWN DATA;;;;;;;;;;;;;;
C8:	 	MOV DPL ,46H
			MOV DPH ,47H
			MOV R7, 3BH  ;3BH=1++
 C9:     MOV R6,#ZJS
C10:	  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
C11:  	    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,C11
			INC DPTR
			DJNZ R6,C10
			MOV R5,#08H
C110:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,C110
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,C9
			CLR P3.4             ;VS
			SETB P3.4
	;;;;;;;;NEXT PAGE;;;;;;;
			MOV A,46H
			CLR C
			SUBB A,#32
			MOV 46H,A
			JNC C12
			DEC 47H
C12:		INC 3BH
			DEC 3AH
			DEC 3AH
		  DJNZ R4,C13
			RET
 C13:   AJMP  C1
;;;;;;;;;;OPEN;;;;;;;;;;;;;
OPEN:
		  MOV 3CH,#15
		  MOV 3DH,#0
OO15:	  MOV R7,#HS
		  MOV 3AH,#7
		  MOV 3BH,#1
OO14:	  MOV DPL,44H
		  MOV DPH ,45H
OO3:    MOV A ,3CH
			JZ OO20
;;;;;;;;BLACK;;;;;;;;;;;;;
			MOV R6,A  ;R6=15--
		  CLR A
OO2:	  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
OO1:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO1
			INC DPTR
			DJNZ R6,OO2

 ;;;;;;;;UNCOMPLETE;;;;;;;;;;;;;
OO20:	 MOV A,3AH     ;R6=3AH=7--
		 JZ OO50
	;;;;;;;0 BIT    ;;;;;;;;
			CLR A
			CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3AH		;R5=3AH=7--
OO51:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO51
;;;;;;;;;;;;;;;;;;;;;;;
		 MOV R6,3AH     ;R6=3AH=7--
		 CLR P3.5
		 MOVX A,@DPTR
		 SETB P3.5
 OO4:    RR A
			DJNZ R6,OO4
			CLR P1.2            ;SELETE FIRST ROW
			MOVX @DPTR,A						;SET DATA
			SETB P1.2
			MOV R5,3BH           ;R5=3BH=1++
OO5:      SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO5
			INC DPTR
  ;;;;;;;;COMPLETE;;;;;;
OO50:     MOV A ,3DH
			 JZ OO8
			MOV R6, 3DH  ;3DH=0+2
OO6:	  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
OO7:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO7
			INC DPTR
			DJNZ R6,OO6
 ;;;;;;;;UNCOMPLETE;;;;;;;;;;;
OO8:     MOV A,3AH     ;R6=3AH=7--
		  JZ OO10
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3BH		;R5=3BH=1++
OO9:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO9
			INC DPTR
	;;;;;;;0 BIT    ;;;;;;;;
			CLR A
			CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3AH		;R5=3AH=7--
OO80:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO80
 ;;;;;;;BLACK;;;;;;;;;;;;;;;;;;
OO10:   MOV A ,3CH;
			JZ OO21
		  MOV R6,A  ;R6=3CH=15--
		  CLR A
OO11:	  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
OO12:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,OO12
			INC DPTR
			DJNZ R6,OO11
OO21:  	MOV R5,#08H
OO210:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,OO210
			SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,OO23
			CLR  P3.4             ;VS
			SETB P3.4
			INC 3BH              ;3BH=1++
			DEC  3AH   				;3AH=7---
			MOV A, 3AH
			JNZ  OO22
			INC 3DH      ;3DH=0+2
			INC 3DH
OO22:		CJNE A ,#0FFH, OO13
			DEC 3CH			;3CH=15--
			MOV A ,3CH
			CJNE A ,#0FFH, OO16
			 RET
OO16:     AJMP  OO15
OO13:   AJMP  OO14
OO23:     AJMP  OO3
;;;;;;;;;;CLOSE;;;;;;;;;;;;
CLOSE:
		  MOV 3CH,#30
		  MOV 3DH,#0
CC1:	  MOV R7,#HS
		  MOV 3AH,#7
		  MOV 3BH,#1
CC2:	  MOV DPL,44H
		  MOV DPH ,45H
	;;;;;;;;COMPLETE;;;;;;
CC3:    MOV A ,3DH
			JZ CC6
			MOV R6, A  ;3DH=0++
CC4:	  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
CC5:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC5
			INC DPTR
			DJNZ R6,CC4
 ;;;;;;;;UNCOMPLETE;;;;;;;;;;;;;
CC6:	 MOV A,3AH     ;R6=3AH=7--
		 JZ CC8
		CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
		  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3BH		;R5=3BH=1++
CC7:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC7
	;;;;;;;0 BIT    ;;;;;;;;
			CLR A
			CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3AH		;R5=3AH=7--
CC70:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC70
			INC DPTR
;;;;;;;;;;;BLACK;;;;;;;;;;
CC8:     MOV A,3CH
			JZ CC11
			MOV R6,A  ;R6=3CH=30--
			 CLR A
CC9:	  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
CC10:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC10
			INC DPTR
			DJNZ R6,CC9
 ;;;;;;;;UNCOMPLETE;;;;;;;;;;;
CC11:  MOV A,3AH     ;R6=3AH=7--
		 JZ CC14
			;;;;;;;0 BIT    ;;;;;;;;
			CLR A
			CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,3AH		;R5=3AH=7--
 CC110:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC110
  ;;;;;;;;;;;;;;;;;;;;;;;;
		 MOV R6,3AH     ;R6=3AH=7--
		 CLR P3.5
		 MOVX A,@DPTR
		 SETB P3.5
CC12:    RR A
			DJNZ R6,CC12
			CLR P1.2            ;SELETE FIRST ROW
			MOVX @DPTR,A						;SET DATA
			SETB P1.2
			MOV R5,3BH           ;R5=3BH=1++
CC13:      SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC13
			INC DPTR
 ;;;;;;;;COMPLETE ;;;;;;;;
CC14:    MOV A ,3DH
			JZ CC17
		  MOV R6,A  ;R6=3DH=0++
CC140:  CLR P3.5
		  MOVX A,@DPTR
		  SETB P3.5
CC15:	  CLR P1.2		    ;FIRST ROW
			MOVX @DPTR,A		;SET DATA
			SETB P1.2
			MOV R5,#08H
CC16:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,CC16
			INC DPTR
			DJNZ R6,CC140
CC17:    MOV R5,#08H
CC170:		SETB P1.0            ;lclk  HARDWARE NEEDS
			CLR  P1.0
			DJNZ R5,CC170
	SETB P1.1             ;HS
			CLR P1.1
			DJNZ R7,CC21
			CLR P3.4             ;VS
			SETB P3.4
			INC 3BH              ;3BH=1++
			DEC  3AH   				;3AH=7---
			MOV A, 3AH
			JNZ  CC18
			INC 3DH      ;3DH=0++
CC18:		CJNE A ,#0FFH, CC19
			DEC 3CH			;3CH=30-2
			DEC 3CH
			MOV A ,3CH
			CJNE A ,#0FEH, CC20
			 RET
CC19:     LJMP  CC2
CC20:   LJMP  CC1
CC21:   LJMP  CC3
;;;;;;;;;;INTER0 ;jump the  time0 interrupter subroutine ;;;;;;;;
INTER0:
			CLR ET0
			CLR TR0
			MOV TH0,#15H  ; 30ms
			MOV TL0,#0A0H  ;
			DJNZ R4,IN1
			MOV R4,#33
			DEC R3
IN1:		SETB TR0
			SETB ET0
		RETI

RE:  POP ACC
    SETB TR0
	 SETB ES
	 RETI



;;;;;;;;;;;;;;;;;;;;;;;
COMM:     PUSH ACC
               LCALL RECEPTION
			  JC RE
			 CJNE A,#44H,RE
                    LCALL RECEPTION
			  JC RE
			 CJNE A,#44H,RE
                  LCALL RECEPTION
			 JC RE
			 CJNE A,#99H,CO1
			   LCALL CLEAR
           	SJMP TKT
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CO1:      CJNE A,#11H,CO2
				SJMP RTN
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CO2:			 CJNE A,#55H,RE
			 LCALL RECEPTION
			  JC RE
			 CJNE A,#0AAH,RE
			 LCALL RECEPTION
			  JC RE
			 CJNE A,#0CCH,RE
			MOV A,#99H
			LCALL TRANPC
			 MOV A,#0AAH
	 LCALL TRANPC
	 MOV A,#0CCH
	 LCALL TRANPC
	LCALL CLEAR
	 MOV DPTR,#0000H     ;
	  CLR P1.6   ;ARR16
	 CLR P3.5
	LCALL RECEPTION     ;receive the pages of data
			JC RTN
			MOV R0,A  ;   R0=PAGES
			MOVX @DPTR,A
			RL A
		  MOV R7,A  ;   R7=PAGES*2
RE1:   	LCALL RECEPTION
			JC RTN
			INC DPTR
			MOVX @DPTR,A
			DJNZ R7,RE1        ;begin to receive the data
			MOV DPTR,#0100H;;;;;;;;;;;;300H     ;SECOND SEGMENT;;;;;;;
RE2:   	MOV R1,#00H        ; LOW BYTE  1536=600H
	MOV R2,#01H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;www6H        ; HIGH BYTE
RE6:     CJNE R1,#00,RE4         ;begin to receive the data
			CJNE R2,#00,RE5
			DJNZ R0,RE2
			SJMP RTN
RE5:     DEC R2
RE4:     DEC R1
			LCALL RECEPTION
			JC RTN
			;CPL A;;;;;;;;;;;
			MOVX @DPTR,A
			INC DPTR
			SJMP RE6
RTN:	   POP ACC
			POP  DPH
			POP  DPL
			MOV  DPTR,#BEGIN
			PUSH DPL
			PUSH DPH
			SETB ES
			SETB P3.5
			RETI


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TKT:		MOV DPTR,#0100H     ;SECOND SEGMENT;;;;;;;
			 CLR P1.6   ;ARR16
			 CLR P3.5
			MOV R1,#00H        ; LOW BYTE  1536=600H
			MOV R2,#01H;;;;;;;;;;;;;;;;;;;;;;;02H        ; HIGH BYTE
RE06:     CJNE R1,#00,RE04         ;begin to receive the data
			CJNE R2,#00,RE05
			POP ACC
			POP  DPH
			POP  DPL
			MOV 44H,#00
			MOV 45H,#01
			MOV  DPTR,#TICKET
			PUSH DPL
			PUSH DPH
			SETB ES
			SETB P3.5
			RETI
RE05:     DEC R2
RE04:     DEC R1
			LCALL RECEPTION
			JC RTN
			;CPL A;;;;;;;;;;;
			MOVX @DPTR,A
			INC DPTR
			SJMP RE06




RECEPTION:
			CLR C
	 MOV TH0,#00H
	 MOV TL0,#01H
	 SETB TR0
RECEWAIT:
			JBC RI,RECEYES
			JNB TF0,RECEWAIT
			CLR TF0
			CLR TR0
			SETB C
			RET

RECEYES:
			CLR TR0
			MOV A,SBUF
			CLR TF0
			RET
TRANPC:
			MOV SBUF,A         ;transmitter the data in the rigister ACC
			JNB TI,$
			CLR TI
			RET

DELAY:
	  MOV 3EH,#40H
DE:  MOV 3FH,#0FFH
	  DJNZ 3FH,$
	  DJNZ 3EH,DE
	  RET
CLEAR:  CLR P3.4             ;close LOE
		  MOV R0,#HS
		  SETB P3.2        ;hd invalid
CL1:     CLR  P1.1         ;hck=0
		  NOP
		  NOP
		  SETB P1.1        ;hck=1
		  NOP
		  NOP
		  DJNZ R0,CL1
		  RET

⌨️ 快捷键说明

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