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

📄 yanchen.asm

📁 电动门程序急图纸
💻 ASM
📖 第 1 页 / 共 2 页
字号:
; 盐城鑫艺电动门 tel:13905107690 0515-7229356 4094 8 WORD第 3 口,只用一个口 
;HAND SIGNAL=55,AA,CC
;CHINESE 8 WORDS
;NO TIMER, OLD HARDWARE
CS EQU  1
HS EQU  16
HS1 EQU 15
ZJS EQU 16
ZJS1 EQU 15
;R0 --PAGES=(0000H)=30H
;R1---PAGE=31H
;R2---MODE
;R3---TIME
;R4--TEMP
;(0100H)----DATA

	 ORG 0000H
	 SJMP MAIN
	 ORG 000BH
	 LJMP INTER0         ;jump the  time0 interrupter subroutine
	 ORG 0023H
	 CLR ES
	 LJMP COMM
	 ORG 0040H
MAIN:
	 MOV IE,#90H        ;set register IE
	 MOV IP,#10H        ;set register IP ,COMM priority
	CLR RS0            ;set register III
	CLR RS1
	MOV SP, #60H      ;initiate the SP
	MOV SCON,#60H     ;SBUF mode I ,sm0=0,sm1=1,sm2=1,scon=#60h
	MOV TMOD,#21H      ;TIME1 mode II,Time0 mode I
	MOV TCON,#00H        ;inter1 low level trig,inter0 low level trig
	MOV TL1,#0F3H      ;9600 pbs,clk=24mhz ,smode=1,#0F3h
	MOV TH1,#0F3H       ;9600 pbs clk=40mhz  smode=1 #0EAh
	MOV PCON,#80H         ;smod=1(#80h)
    SETB TR1           ;make the time1 work
	 SETB REN
	 CLR ET0
	 CLR TR0
	 CLR P3.4             ;close LOE
	 CLR  P1.0  ;CLOCK
	 CLR P1.1
	 LCALL CLEAR
      MOV R7,#100
AA:
	LCALL DELAY
DJNZ R7,AA
BEGIN:
	 CLR P1.6   ;ARR16
	 MOV DPTR,#0000H
	 MOV  40H,DPL
	 MOV  41H,DPH        ;__
	 CLR P3.5           ;CS=0
	 MOVX A,@DPTR
	 MOV R0,A   ;R0=PAGES
	 MOV 30H,A   ;30H=PAGES
	 MOV R1,#0  ;R1=PAGE
	MOV DPTR,#0100H;;;;;;;;;;;;;;;300H    ;_
	MOV 42H ,DPL
	MOV 43H ,DPH 	;42H,43H PRE PAGE
	MOV 44H ,DPL
	MOV 45H ,DPH 	;44H,45H POST PAGE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
B0:    MOV DPL,40H
	 MOV DPH,41H
	 INC DPTR
	 CLR P3.5           ;CS=0
	 MOVX A,@DPTR
	 MOV R2,A       ;MODE
; MOV R2,#01
	 INC DPTR
	 MOVX A,@DPTR
	 MOV R3,A       ;TIME
; MOV R3,#5
	 SETB P3.5
	 MOV  40H,DPL
	 MOV  41H,DPH   ;;;;;40H,41H=PARAM
;;;;;;;;;;;;;;;;;;; DATA;;;;;;;;;
		MOV A,R1
		JZ BE5
		MOV A,45H
		ADD A, #01h;;;;;;;;;;;;;2H   ; LOW BYTE  1536=600H
		MOV 45H ,A ; 44H,45H POST PAGE
;;;;;;;;;;;;;;;;;;;;;;;;
BE5: CJNE R2,#00,B1
	 ACALL PAGE1           ;AT ONCE
	MOV 42H ,44H
	MOV 43H ,45H 	;42H,43H PRE PAGE
	 SJMP BB
B1: CJNE R2,#01,B2
		ACALL UP
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B2: CJNE R2,#02,B3
		ACALL DOWN
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B3: CJNE R2,#03,B4
		ACALL RIGHT
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B4: CJNE R2,#04,B5
		ACALL LEFT
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B5: CJNE R2,#05,B6
		;ACALL OPEN
		ACALL UP
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
;		ACALL PAGE1
		SJMP BB
B6: CJNE R2,#06,B7
		;ACALL CLOSE
		ACALL DOWN
				MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B7: CJNE R2,#07,B8
		;ACALL OPEN1
		ACALL RIGHT
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B8: CJNE R2,#08,B9
		;ACALL CLOSE1
		ACALL LEFT
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
		SJMP BB
B9: CJNE R2,#09,B10
		ACALL UP
		MOV 42H ,44H
		MOV 43H ,45H 	;42H,43H PRE PAGE
BB:   MOV A ,R3
		JZ B10
		CLR ET0
		CLR TR0
		MOV TH0,#15H  ; 30ms
		MOV TL0,#0A0H  ;
		MOV R4,#33
		SETB TR0
		SETB ET0
B13:	CJNE R3,#00,B12 ;TIME
B10:  CLR ET0
		CLR TR0
		INC R1
		DJNZ R0,B11
		MOV R0,30H
	 MOV DPTR,#0000H
	 MOV  40H,DPL
	 MOV  41H,DPH        ;__
	 MOV R1,#0  ;R1=PAGE
	 MOV DPTR,#0100H;;;;;;;;;;;;;300H    ;_
	 MOV 44H ,DPL
	 MOV 45H ,DPH 	;44H,45H POST PAGE
B11: AJMP B0
B12: ACALL PAGE1
		AJMP B13
;;;;;;;;;;TICKET;;;;;;;;;;;;;;;;;;;
TICKET: ACALL PAGE1
		AJMP TICKET
;----SETDATA--------------------------------
SETDATA:
		CLR P3.5           ;CS=0
		 MOVX A,@DPTR
		SETB P3.5
		CLR P1.3   ;SELETE THIRD ROW
		MOVX @DPTR,A
		 CLR P1.5             ;SET DATA
		SETB P1.3
		SETB P1.5
;		PUSH DPH
;		MOV A,DPH
;		ADD A,#01;;;;;;;2      ;32*16=512=200H
;		MOV DPH,A
;		CLR P3.5           ;CS=0
;	  MOVX A,@DPTR
;		SETB P3.5
;		CLR P1.3    ;SELETE SECOND ROW
;		MOVX @DPTR,A
;		CLR P1.5             ;SET DATA
;		SETB P1.3
;		SETB P1.5
;		MOV A,DPH
;		ADD A,#02      ;32*16=512=200H
;		MOV DPH,A
;		CLR P3.5           ;CS=0
;	  MOVX A,@DPTR
;		SETB P3.5
;		CLR P1.3   ;SELETE FIRST ROW
;		MOVX @DPTR,A
;		CLR P1.5             ;SET DATA
;		SETB P1.3
;		SETB P1.5
;		POP DPH
		RET
;;;;;;;;;COMPLETE PAGE;;;;;;;;;;;;;;;;;
PAGE1: CLR P3.4             ;close LOE
		MOV R7,#HS
		CLR P3.2
		MOV DPL,44H      ;POST PAGE
		MOV DPH,45H
PP3: 	MOV R6,#ZJS
PP2:  ACALL SETDATA
		MOV R5,#08H
PP4:   SETB P1.0            ;lclk
		CLR  P1.0
		DJNZ R5,PP4
		INC DPTR
		SETB P3.4            ;open  LOE
		DJNZ R6,PP2
		CLR P3.4             ;close LOE
		NOP
		NOP
		NOP
		NOP
	  SETB P1.1  	 ;LSTR invalid
	  NOP
	  CLR P1.1
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
	  ; CLR P3.4            ;open  LOE
		SETB P3.2             ;HD invalid
		DJNZ R7,PP3
		CLR P3.2             ;HD  valid
MOV R5,#20H
PP5:   NOP
		DJNZ R5,PP5
		 RET

;;;;;;;GEGIN LEFT;;;;;;;;;;
LEFT:
		MOV 31H,R1
		MOV 32H,R2
		MOV 33H,R3
		MOV 34H,R4
		MOV 35H,R5
		MOV 36H,R6
		MOV 37H,R7
                MOV 38H,R0
 ;;;;;;;;;;; BEGIN ;;;;;;;;;
		MOV 3CH,#ZJS1   ; PRE PAGE ZANZJS  3CH=31--
		MOV 3DH,#1    ;     3DH=1+++
LE1:   MOV 3AH,#7     ;3AH=R6=7
		 MOV 3BH,#1    ;3BH=R5=1
LE2:   CLR P3.4
      MOV 46H,42H     ; 46H,47H =PRE PAGE TEMP
		 MOV 47H,43H
		 MOV 49H,45H
		 MOV A,44H   ;POST PAGE 44H,45H TAIL
		 ADD A,3CH
		 MOV 48H,A
		 JNC LE01
		 INC 49H     ;POST PAGE
LE01:
     mov r0,#8
       mov 50h,46h
       mov 51h,47h
       mov 52h,48h
       mov 53h,49h
LE300:	 MOV DPL,48H   ;POST PAGE
		 MOV DPH,49H
		 MOV R7,#HS
		 CLR P3.4             ;close LOE
;;;;;;;;;;;;POST PAGE FIRST;;;;;;;;;;;;
;;;;;POST PAGE UNCOMPLETE BYTE;;;;;;
LE3:    MOV A,3AH     ;R6=3AH=7--
		 JZ LE6
		 MOV R6,A
		 CLR P3.5
		 MOVX A,@DPTR
		 SETB P3.5
LE4:    RR A
			DJNZ R6,LE4
			CLR P1.3            ;SELETE THIRD ROW
			MOVX @DPTR,A						;SET DATA
			 CLR P1.5             ;SET DATA
			SETB P1.3
			SETB P1.5
;			PUSH DPH
;		  MOV A,DPH
;		  ADD A,#01;;;;;;;;;;;2      ;32*16=512=200H
;		  MOV DPH,A
;		  CLR P3.5           ;CS=0
;			MOVX A,@DPTR
;			SETB P3.5
;			MOV R6,3AH     ;R6=3AH=7--
;LE04:    RR A
;			DJNZ R6,LE04
;			CLR P1.3            ;SELETE SECOND ROW
;			MOVX @DPTR,A						;SET DATA
;			 CLR P1.5             ;SET DATA
;			SETB P1.3
;			SETB P1.5
;			 MOV A,DPH
;		  ADD A,#02      ;32*16=512=200H
;		  MOV DPH,A
;		  CLR P3.5           ;CS=0
;			MOVX A,@DPTR
;			SETB P3.5
;			MOV R6,3AH     ;R6=3AH=7--
;LE004:    RR A
;			DJNZ R6,LE004
;			CLR P1.3            ;SELETE FIRST ROW
;			MOVX @DPTR,A						;SET DATA
;			 CLR P1.5             ;SET DATA
;			SETB P1.3
;			SETB P1.5
		;;;;;;;;;;;;;;;;;;;;;
			MOV R5,3BH           ;R5=3BH=1++
LE5:      SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,LE5
;			POP DPH
			INC DPTR
;;;;;;;;;;;POST PAGE;;;COMPLETE BYTE;;;;;;
LE6:      MOV R2,3DH    ;R2=3DH=1++
			 MOV A,3AH
			 JZ LE7
			 DEC R2
			 CJNE R2,#0, LE7
			AJMP LE10   ;ONLY  UNCOMPLETE BYTE;
LE7:  ACALL SETDATA
		 MOV R4,#08H
LE8:    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R4,LE8
			INC DPTR
			SETB P3.4            ;open  LOE
			DJNZ R2,LE7          ;R2=3DH
			MOV A,DPL     ;   POST PAGE   NEXT H
			ADD A,3CH     ;3CH=31---
			MOV 48H,A
			MOV 49H, DPH    ; 48H,49H  POST PAGE   NEXT H
			JNC LE10
			INC 49H
;;;;;;;;PRE PAGE COMPLETE BYTE;;;;;;;
LE10:    MOV DPL,46H   ;PRE PAGE  NEXT H
			MOV DPH,47H
			MOV A,3CH    ;R3=3CH=31--
			JZ LE13    ;ONLY  UNCOMPLETE BYTE;
			MOV R3,A   ; PRE PAGE ZANZJS  3CH=R3=31--
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LE11:		ACALL SETDATA
			MOV R4,#08H
LE12:      SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R4,LE12
			INC DPTR
		 	SETB P3.4            ;open  LOE
			DJNZ R3,LE11;          ;R3=31--
 ;;;;;;;;;PRE PAGE UNCOMPLETE BYTE;;;
 LE13:   MOV A,3AH  ;R6=3AH=7--
			JZ  LE140
			MOV R6,A
			ACALL SETDATA
LE14:    SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R6,LE14
LE140:	MOV A ,DPL
			ADD A ,3DH    ;3DH=1++
			MOV 46H ,A
			MOV 47H ,DPH 	;46H,47H PRE PAGE NEXT H
			JNC LE15
			INC 47H
LE15:		MOV DPL,48H        ;48H,49H   POST PAGE
			MOV DPH ,49H
			CLR P3.4             ;close LOE
			NOP
			NOP
			NOP
			NOP
		  SETB P1.1  	 ;LSTR invalid
	  NOP
	  CLR P1.1
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
	;  CLR P3.4            ;open  LOE
			SETB P3.2             ;HD invalid
			DJNZ R7, LE18
			CLR P3.2             ;HD  valid
  mov 46h,50h
          mov 47h,51h
          mov 48h,52h
          mov 49h,53h
          djnz r0,le200
          CLR P3.4
                        INC 3BH              ;3BH=1++
			DEC 3AH
			MOV A,3AH
			CJNE A,#0FFH,LE19         ;3AH=7--
			INC  3DH     ;       3DH=1+++
			DEC  3CH     ;       3CH=31--
			MOV A,3CH
		CJNE A ,#0FFH, LE20
	 ;		JNZ  LE20          ;NEXT  POST  PAGE
	;		MOV R5,#20H
;LE22:    NOP
;			DJNZ R5,LE22
	 SETB P3.4            ;open  LOE
			MOV R1, 31H
		 MOV R2 , 32H
		MOV  R3 ,   33H
		MOV R4 ,    34H
		MOV R5 ,  35H
		MOV R6 , 36H
		MOV   R7 , 37H
                MOV R0,38H
		RET
LE18:    AJMP  LE3
LE19:   AJMP LE2
LE20:    AJMP  LE1
LE200:   AJMP LE300
;;;;;;;;;;;;RIGHT;;;;;;;;;;;
RIGHT:
		MOV 31H,R1
		MOV 32H,R2
		MOV 33H,R3
		MOV 34H,R4
		MOV 35H,R5
		MOV 36H,R6
		MOV 37H,R7
;;;;;;;;;;; BEGIN ;;;;;;;;;
		MOV 3CH,#ZJS1   ; PRE PAGE ZANZJS  3CH=31--
		MOV 3DH,#1    ;     3DH=1++++
RI1: 	 MOV 3AH,#7     ;3AH=R6=7--
		 MOV 3BH,#1    ;3BH=R5=1++
RI2:  CLR P3.4             ;close LOE
		MOV 46H,44H     ; 46H,47H =POST PAGE  TEMP
		MOV 47H,45H
		MOV DPL,42H   ;PRE PAGE
		MOV DPH,43H
		MOV R7,#HS
 ;;;;;;;;;PRE PAGE NOT COMPLETE BYTE;;;
RI3:  	MOV A ,3AH
			JZ RI50
			CLR P3.5
			MOVX A,@DPTR
			SETB P3.5
			MOV R5,3BH     ;R5=3BH=1++
RI4:     RR A
			DJNZ R5,RI4
			CLR P1.3            ;SELETE THIRD ROW
			MOVX @DPTR,A						;SET DATA
			 CLR P1.5             ;SET DATA
			SETB P1.3
			SETB P1.5
			PUSH DPH
		  MOV A,DPH
		  ADD A,#01;;;;;;;;;;;;;;;2      ;32*16=512=200H
		  MOV DPH,A
		  CLR P3.5           ;CS=0
			MOVX A,@DPTR
			SETB P3.5
			MOV R5,3BH     ;R5=3BH=1++
RI04:    RR A
			DJNZ R5,RI04
			CLR P1.2            ;SELETE SECOND ROW
			MOVX @DPTR,A						;SET DATA
			 CLR P1.5             ;SET DATA
			SETB P1.2
			SETB P1.5
;			 MOV A,DPH
;		  ADD A,#02      ;32*16=512=200H
;		  MOV DPH,A
;		  CLR P3.5           ;CS=0
;			MOVX A,@DPTR
;			SETB P3.5
;			MOV R5,3BH     ;R5=3BH=1++
;RI004:    RR A
;			DJNZ R5,RI004
;			CLR P1.3            ;SELETE FIRST ROW
;			MOVX @DPTR,A						;SET DATA
;			 CLR P1.5             ;SET DATA
;			SETB P1.3
;			SETB P1.5
			MOV R6,3AH     ;R6=3AH=7--
RI5:    	 SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R6,RI5
			POP DPH
 ;;;;;;;;PRE PAGE COMPLETE BYTE;;;;;;;
RI50:   	MOV A,3CH
			JZ  RI8  ;ONLY  POST  PAGE
			MOV R3,A    ; PRE PAGE ZANZJS  3CH=R3=31--
RI6:     INC DPTR
			ACALL SETDATA
			MOV R4,#08H
RI7:     SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R4,RI7
			SETB P3.4            ;open  LOE
			DJNZ R3,RI6        ;R3=31--
RI07:		MOV A,DPL     ;   PRE PAGE   NEXT H
			ADD A,3DH     ;3DH=1++
			MOV 48H,A
			MOV 49H,DPH
			JNC RI8
			INC 49H   ; 48H,49H  PRE PAGE   NEXT H
;;;;;;;;;;;;;;;;;;;;;POST PAGE;;;;;;;;;;;;;
RI8:		MOV DPL,46H   ;POST PAGE  NEXT H
			MOV DPH,47H
			MOV R2,3DH  ;R2=3DH=1++(-1)
			MOV A,3AH    ;
			JZ  RI9
			DEC R2
			CJNE R2,#0, RI9
			AJMP RI11   ;ONLY  UNCOMPLETE BYTE;
;;;;;;;;;;;;;;;      COMPLETE BYTE;;;;;;
RI9:  	ACALL SETDATA
			MOV R4,#08H
RI10:   	SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R4,RI10
			INC DPTR
			SETB P3.4            ;open  LOE
			DJNZ R2,RI9          ;R2=3DH
;;;;;;;NOT COMPLETE BYTE;;;;;;
RI11:    MOV A ,3AH
			 JZ RI120           ; ONLY  COMPLETE BYTE;
			 ACALL SETDATA
			MOV R5,3BH           ;R5=3BH=1++
RI12:   SETB P1.0            ;lclk
			CLR  P1.0
			DJNZ R5,RI12
			INC DPTR
RI120:	MOV A ,DPL
			ADD A ,3CH    ;3CH=31--
			MOV 46H ,A
			MOV 47H ,DPH 	;46H,47H POST PAGE  NEXT H
			JNC RI13
			INC 47H
RI13:    CLR P3.4             ;close LOE
			NOP
		NOP
		NOP
		NOP
	  NOP
	  SETB P1.1  	 ;LSTR invalid
	  NOP
	  CLR P1.1
	 NOP
	 NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		;	  CLR P3.4            ;open  LOE
			SETB P3.2             ;HD invalid
			MOV  DPL,48H        ;   PRE PAGE   NEXT H
			MOV  DPH,49H
			DJNZ R7, RI14
			CLR P3.2             ;HD  valid
			 CLR P3.4             ;close LOE
			INC 3BH              ;3BH=1++
			DEC 3AH
			MOV A,3AH
			CJNE A,#0FFH,RI15         ;3AH=7--
			INC 42H
			MOV A,42H
			JNZ  RI17
			INC 43H
RI17:		INC  3DH     ;       3DH=1+++
			DEC  3CH     ;       3CH=31--
			MOV A,3CH
			CJNE A ,#0FFH, RI16   ; NEXT  PRE  PAGE
			MOV R5,#08H
RI22:    NOP
			DJNZ R5,RI22
			SETB  P3.4            ;open  LOE
			MOV R1, 31H
			MOV R2 , 32H
			MOV  R3 ,   33H
			MOV R4 ,    34H
			MOV R5 ,  35H
			MOV R6 , 36H
			MOV   R7 , 37H
			RET
RI14:   	 AJMP  RI3
RI15:     AJMP RI2
RI16:     AJMP RI1
;;;;;;;;;;;;;;;;UP;;;;;;;;;;;;
UP:
		 MOV 3AH,#31;;;;;;;;;;;;47;;;;47----
		 MOV 3BH,#1
U7:	 MOV 46H,42H
		 MOV 47H,43H
		 MOV A,3AH
		 MOV B,#ZJS
		 MUL AB
		 ADD A ,44H
		 MOV 48H,A
		 XCH A,B
		 ADDC A ,45H
		 MOV 49H,A
		 MOV DPTR,#0100H
		 MOV 4AH,DPL
		 MOV 4BH,DPH
;;;;;;;;;;;POST;;;;;;;;;;;;;
		CLR P3.5
		 MOV R7,3BH;;;;1++
U1:	 MOV R6,#ZJS
U2:	 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,U2
		 DJNZ R7,U1
;;;;;;;;;;;;;;;PRE;;;;;;;
		 MOV A,3AH
		 JZ U8
		 MOV R7,3AH;;;;;47---
U3:	 MOV R6,#ZJS
U4:	 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,U4
		 DJNZ R7,U3
U8:	 SETB P3.5
		 PUSH 44H
		 PUSH 45H
		 MOV 44H,#00
		 MOV 45H,#01H
		 MOV R4,#CS
U5:	 LCALL  PAGE1
		 DJNZ R4,U5
		 POP 45H
		 POP 44H
		 INC 3BH
		 DEC 3AH
		 MOV A,3AH
		 ;	 CLR P3.4            ;open  LOE

		 CJNE A,#0FFH,U6
		 RET
U6:    AJMP U7
;;;;;;;;;;;;;;;;DOWN;;;;;;;;;;;;
DOWN:
		 MOV 3AH,#31;;;;;;;;;;;;;;;;;;47;;;;47----

⌨️ 快捷键说明

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