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

📄 h005master_longv10.asm

📁 倒车雷达主机收发程序,内带有滤波算法! 倒车雷达主机收发程序,内带有滤波算法!
💻 ASM
字号:
;********************************************;
;  COMPANY      : HORN			     ;
;  PROJECT NAME : H-020II	     	     ;
;  AUTHOR	: LIGAOSHOU		     ;
;  VERSION	: V1.0			     ;
;  START DATE	: 2005.11.18		     ;
;  MODIFY	: 2005.11.22	             ;
;  BODY		: PIC16C54		     ;
;  COMPILER	: V7.1			     ;
;  CRYSTAL	: 4MHZ			     ;
;********************************************;
TEMP0			EQU			7H	
TEMP1			EQU			8H	
FLAG			EQU			9H

DISTANCE		EQU			0AH

CHANNEL0_TEMP0		EQU			0BH
CHANNEL0_TEMP1		EQU			0CH
CHANNEL0_TEMP2		EQU			0DH
CHANNEL1_TEMP0		EQU			0EH
CHANNEL1_TEMP1		EQU			0FH
CHANNEL1_TEMP2		EQU			10H
CHANNEL2_TEMP0		EQU			11H
CHANNEL2_TEMP1		EQU			12H
CHANNEL2_TEMP2		EQU			13H
CHANNEL3_TEMP0		EQU			14H
CHANNEL3_TEMP1		EQU			15H
CHANNEL3_TEMP2		EQU			16H

SEND_BUF		EQU			17H

TEMP2			EQU			18H
TEMP3			EQU			19H
SEND_BUF0		EQU			1AH
SEND_BUF1		EQU			1BH
SEND_BUF2		EQU			1CH
DIGITAL_COUNT		EQU			1EH
COUNT_3TIMES		EQU			1FH
;************PORT DEFINE**********************
	#DEFINE		CLOCK_OUT_P		PORTB,2	
	#DEFINE		DATA_OUT_P		PORTB,5
	#DEFINE		DATA_IN_P		PORTA,3
	#DEFINE		TMR0_BIT7		TMR0,7
	#DEFINE		A_P			PORTB,1
	#DEFINE		B_P			PORTB,0
;************FLAG DEFINE**********************
	#DEFINE 	CH_BIT0_F		FLAG,0
	#DEFINE 	CH_BIT1_F		FLAG,1
	#DEFINE 	ZERO_F			FLAG,2
	#DEFINE 	V_FF_F			FLAG,3
	#DEFINE 	CLR_3TIMES_F		FLAG,4
	#DEFINE 	CLOCK_F			FLAG,5	
;*********************************************	
	LIST 		P=16C54
	#INCLUDE 	<P16C5X.INC>
	#INCLUDE	<MACRO1.INC>			
	ORG			0H
;*********************************************
;NAME		:MIDDLE_SUB
;FUCTION	:
;INPUT 		:TEMP0,TEMP1,TEMP2
;OUTPUT 	:TEMP0
;USED REGISTER	:TEMP0,TEMP1,TEMP2,TEMP3
;SUBROUTINE	:
;*********************************************
MIDDLE_SUB:
	MOVF	TEMP0,W
	SUBWF	TEMP1,W
	BTFSS	STATUS,C
	GOTO	MIDDLE_L10			;TEMP0>TEMP1
	MOVF	TEMP0,W				;TEMP0<=TEMP1
	SUBWF	TEMP2,W
	BTFSC	STATUS,C
	GOTO	MIDDLE_L20			;TEMP0<=TEMP2
	GOTO	MIDDLE_END			;TEMP0>TEMP2
MIDDLE_L10:
	MOVF	TEMP0,W
	SUBWF	TEMP2,W
	BTFSS	STATUS,C
	GOTO	MIDDLE_L30			;TEMP0>TEMP2
	GOTO	MIDDLE_END			;TEMP0<=TEMP2
MIDDLE_L20:
	MOVF	TEMP1,W
	SUBWF	TEMP2,W
	BTFSS	STATUS,C	
	GOTO	MIDDLE_L40			;TEMP2<TEMP1
	GOTO	MIDDLE_L50			;TEMP2>=TEMP1
MIDDLE_L30:
	MOVF	TEMP1,W
	SUBWF	TEMP2,W
	BTFSS	STATUS,C			
	GOTO	MIDDLE_L50			;TEMP2<TEMP1
MIDDLE_L40:					;TEMP2>=TEMP1
	MOVM	TEMP0,TEMP2
	GOTO	MIDDLE_END
MIDDLE_L50:
	MOVM	TEMP0,TEMP1		
MIDDLE_END:	
	RETLW		0		
;*********************************************
;NAME		:SEND_DATA_SUB
;FUCTION	:
;INPUT 		:SEND_BUF
;OUTPUT 	:
;USED REGISTER	:TEMP3
;SUBROUTINE	:
;*********************************************
SEND_DATA_SUB:
	BCF		DATA_OUT_P
	CALL		DELAY1MS
	BSF		DATA_OUT_P
	CALL		DELAY110US
	MOVH		TEMP3,8H
	BCF		STATUS,C
SEND_DATA_LOOP:
	RLF		SEND_BUF,F
	BTFSS		STATUS,C
	GOTO		SEND_ZERO
SEND_ONE:
	BCF		DATA_OUT_P
	CALL		DELAY110US
	BSF		DATA_OUT_P
	CALL		DELAY300US
	GOTO		SEND_COM
SEND_ZERO:
	BCF		DATA_OUT_P
	CALL		DELAY300US
	BSF		DATA_OUT_P
	CALL		DELAY110US
SEND_COM:
	DECFSZ		TEMP3
	GOTO		SEND_DATA_LOOP
	BSF		DATA_OUT_P	
	RETLW		0	
;*********************************************
;NAME		:SEND_CLOCK_SUB
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:TEMP0,TEMP1
;SUBROUTINE	:
;*********************************************
SEND_CLOCK_SUB:
	;BTFSS		CLOCK_F
	;GOTO		SEND_CLOCK_L10
	;MOVH		TEMP1,08H
	;GOTO		SEND_CLOCK_L20
;SEND_CLOCK_L10:	
	MOVH		TEMP1,28H
SEND_CLOCK_L20:	
	MOVLW		04H
SEND_CLOCK_LOOP:	
	XORWF		PORTB,F
	GOTO		SEND_CLOCK_L1
SEND_CLOCK_L1:
	GOTO		SEND_CLOCK_L2
SEND_CLOCK_L2:
	GOTO		SEND_CLOCK_L3
SEND_CLOCK_L3:
	GOTO		SEND_CLOCK_L4
SEND_CLOCK_L4:
	NOP
	DECFSZ		TEMP1
	GOTO		SEND_CLOCK_LOOP
	BCF		CLOCK_OUT_P
	RETLW		0
;*********************************************
;NAME		:DELAY1MS
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:TEMP0,TEMP1
;SUBROUTINE	:
;*********************************************
DELAY1MS:
	MOVH		TEMP0,5H
D_1MS_LOOP1:
	MOVH		TEMP1,41H
D_1MS_LOOP2:
	DECFSZ		TEMP1
	GOTO		D_1MS_LOOP2
	DECFSZ		TEMP0
	GOTO		D_1MS_LOOP1		
	RETLW		0
;*********************************************
;NAME		:DELAY300US
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:TEMP0,TEMP1
;SUBROUTINE	:
;*********************************************
DELAY300US:
	MOVH		TEMP0,06H
D_150US_LOOP1:
	MOVH		TEMP1,0FH
D_150US_LOOP2:
	DECFSZ		TEMP1
	GOTO		D_150US_LOOP2
	DECFSZ		TEMP0
	GOTO		D_150US_LOOP1
	NOP			
	RETLW		0	
;*********************************************
;NAME		:DELAY110US
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:TEMP0,TEMP1
;SUBROUTINE	:
;*********************************************
DELAY110US:
	MOVH		TEMP0,03H
D_100US_LOOP1:
	MOVH		TEMP1,0AH
D_100US_LOOP2:
	DECFSZ		TEMP1
	GOTO		D_100US_LOOP2
	DECFSZ		TEMP0
	GOTO		D_100US_LOOP1
	NOP
	NOP
	NOP		
	RETLW		0                                    
;*********************************************
;NAME		:PORT_INITIAL_SUB
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:
;SUBROUTINE	:
;*********************************************	
PORT_INITIAL_SUB:
	CLRF		PORTA
	CLRF		PORTB
	CLRW
	TRIS		PORTB
	MOVLW		08H
	TRIS		PORTA			;SET DATA_IN_P IS INPUT	
	BSF		DATA_OUT_P
	RETLW		0
;*********************************************
;NAME		:RAM_INITIAL_SUB
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:
;SUBROUTINE	:
;*********************************************	
RAM_INITIAL_SUB:
	MOVLW		08H
	MOVWF		TEMP0
CLR_RAM_LOOP:
	MOVF		TEMP0,W
	MOVWF		FSR
	CLRW	
	MOVWF		INDF
	INCF		TEMP0,F
	MOVLW		20H
	XORWF		TEMP0,W
	BTFSS		STATUS,Z
	GOTO		CLR_RAM_LOOP
	CLRW
	MOVWF		TEMP0	
	MOVH		CHANNEL0_TEMP1,0FFH
	MOVH		CHANNEL0_TEMP2,0FFH
	MOVH		CHANNEL1_TEMP1,0FFH
	MOVH		CHANNEL1_TEMP2,0FFH
	MOVH		CHANNEL2_TEMP1,0FFH
	MOVH		CHANNEL2_TEMP2,0FFH
	MOVH		CHANNEL3_TEMP1,0FFH
	MOVH		CHANNEL3_TEMP2,0FFH
	MOVH		SEND_BUF0,0FFH	
	RETLW		0
;*********************************************
;NAME		:SYS_INITIAL_SUB
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	:
;SUBROUTINE	:
;*********************************************	
SYS_INITIAL_SUB:
	MOVLW		26H			;0010 0101B
	OPTION					;GPWU,GPPU,T0SC,T0SE,PSA,PS2,PS1,PS0
						;PS2,PS1,PS0=000  TIMER0 RATE=1:2  	WDT RATE=1:1
						;PS2,PS1,PS0=001  TIMER0 RATE=1:4  	WDT RATE=1:2
						;PS2,PS1,PS0=010  TIMER0 RATE=1:8  	WDT RATE=1:4
						;PS2,PS1,PS0=011  TIMER0 RATE=1:16  	WDT RATE=1:8
						;PS2,PS1,PS0=100  TIMER0 RATE=1:32  	WDT RATE=1:16
						;PS2,PS1,PS0=101  TIMER0 RATE=1:64  	WDT RATE=1:32
						;PS2,PS1,PS0=110  TIMER0 RATE=1:128  	WDT RATE=1:64
						;PS2,PS1,PS0=111  TIMER0 RATE=1:256  	WDT RATE=1:128
						;PSA=0  TO TIMER0  PSA=1 TO WDT
						;T0SE=0 ????????????TOSE=1 ??????????
						;T0SC=0 ???????????? T0SC=1 ????T0CKI????????
						;(16C54????????)GPPU=0 GP0,GP1,GP3 ??????ENABLE         GPPU=1 DISABLE
						;(16C54????????)GPWU=0 GP0,GP1,GP3 ????????????ENABLE   GPWU=1 DISABLE
	RETLW		0
;*********************************************
CONVERT:						;(/128)                    	;  foot   inch
	ADDWF		PCL,F
	;RETLW		0H				;"0.0 "		0     		;0.00
	RETLW		10H				;"0.35m"	1               ;1.03
	RETLW		14H				;"0.45m"	2               ;1.07     
	RETLW		19H				;"0.55m"	3               ;1.11     
	RETLW		1dH				;"0.65m"	4               ;2.03     
	RETLW		21H				;"0.75m"	5               ;2.07     
	RETLW		26H				;"0.85m"	6               ;2.11     
	RETLW		2bH				;"0.95m"	7               ;3.03     
	RETLW		30H				;"1.05m"	8               ;3.07     
	RETLW		34H				;"1.15m"	9               ;3.11     
	RETLW		38H				;"1.25m"	a               ;4.03     
	RETLW		3dH				;"1.35m"	b               ;4.07     
	RETLW		42H				;"1.45m"	c               ;5.00     
	RETLW		46H				;"1.55m"	d               ;5.03     
	RETLW		4bH				;"1.65m"	e               ;5.07     
	RETLW		4fH				;"1.75m"	f               ;5.11     
	RETLW		54H				;"1.85m"	10              ;6.03     
	RETLW		58H				;"1.95m"	11              ;6.07     
	RETLW		5cH				;"2.05m"	12              ;6.11     
	RETLW		61H				;"2.15m"	13              ;7.03     
	RETLW		65H				;"2.25m"	14              ;7.07     
	RETLW		6aH				;"2.35m"	15              ;7.11     
	RETLW		6eH				;"2.45m"	16              ;8.03     
	RETLW		73H				;"2.55m"	17              ;8.07     
	RETLW		77H				;"2.65m"	18              ;8.11     
	RETLW		7cH				;"2.75m"	19              ;9.03     
	RETLW		81H				;"2.85m"	1a              ;9.07     
	RETLW		86H				;"2.95m"	1b	        ;9.11     
	RETLW		8bH				;"3.05m"	1c
	RETLW		90H				;"3.15m"	1d
	RETLW		95H				;"3.25m"	1e 
	RETLW		9aH				;"3.35m"	1f
	RETLW		9fH				;"3.45m"	20 
	RETLW		0a4H				;"3.55m"	21 
	RETLW		0a9H				;"3.65m"	22
	RETLW		0aeH				;"3.75m"	23
	RETLW		0b3H				;"3.85m"	24
	RETLW		0b8H				;"3.95m"	25
	RETLW		0bdH				;"4.05m"	26
	RETLW		0FFH	
;*********************************************
;*********************************************
;NAME		:DIGITAL_SUB
;FUCTION	:
;INPUT 		:TEMP2
;OUTPUT 	:SEND_BUF0
;USED REGISTER	:DIGITAL_COUNT
;SUBROUTINE	:
;*********************************************	
DIGITAL_SUB:
	CMPRS		TEMP2,0FFH,DIGITAL_L10
	CLRF		DIGITAL_COUNT
	MOVM		SEND_BUF0,TEMP2
	GOTO		DIGITAL_END
DIGITAL_L10:
	INCF		DIGITAL_COUNT
	MOVLW		05H
	SUBWF		DIGITAL_COUNT,W 
	BTFSS		STATUS,C
	GOTO		DIGITAL_END
	CLRF		DIGITAL_COUNT
	MOVH		SEND_BUF0,0FFH		
DIGITAL_END:	
	RETLW		0
;*********************************************
;NAME		:DEAL_SUB
;FUCTION	:
;INPUT 		:CHANNEL0_TEMP0,CHANNEL1_TEMP0,CHANNEL2_TEMP0,CHANNEL3_TEMP0
;OUTPUT 	:SEND_BUF0
;USED REGISTER	:TEMP0,TEMP1,TEMP2,TEMP3
;SUBROUTINE	:
;*********************************************
DEAL_SUB:
	MOVF		CHANNEL0_TEMP0,W
	SUBWF		CHANNEL1_TEMP0,W
	BTFSS		STATUS,C
	GOTO		DEAL_L10
	MOVM		TEMP2,CHANNEL0_TEMP0
	GOTO		DEAL_L11
DEAL_L10:
	MOVM		TEMP2,CHANNEL1_TEMP0
DEAL_L11:
	MOVF		TEMP2,W
	SUBWF		CHANNEL2_TEMP0,W
	BTFSC		STATUS,C
	GOTO		DEAL_L12
	MOVM		TEMP2,CHANNEL2_TEMP0
DEAL_L12:
	MOVF		TEMP2,W
	SUBWF		CHANNEL3_TEMP0,W
	BTFSC		STATUS,C
	GOTO		DEAL_L13
	MOVM		TEMP2,CHANNEL3_TEMP0
DEAL_L13:
	
	CLRF		TEMP0
	MOVF           	TEMP2,W
	CMPRS          	TEMP2,0,DEAL_L20		;
    	CMPRS		TEMP2,0FFH,DEAL_L40
CONVERT_LOOP:
	MOVF		TEMP0,W
	CALL		CONVERT
	SUBWF		TEMP2,W
	BTFSS		STATUS,C
	GOTO		DEAL_L30
	INCF		TEMP0
	GOTO		CONVERT_LOOP
DEAL_L20:
	CLRF		SEND_BUF0
	GOTO		DEAL_END	
DEAL_L30:
	MOVM		SEND_BUF0,TEMP0
	GOTO		DEAL_END
DEAL_L40:
	MOVH		SEND_BUF0,0FFH
DEAL_END:															
	RETLW		0			
;*********************************************					
START:	
	CALL		PORT_INITIAL_SUB
	CALL		RAM_INITIAL_SUB
	CALL		SYS_INITIAL_SUB
;*********************************************
;NAME		:MAINLOOP
;FUCTION	:
;INPUT 		:
;OUTPUT 	:
;USED REGISTER	: 
;SUBROUTINE	:
;*********************************************	
MAINLOOP:
	CALL		DELAY1MS
	CALL		DELAY1MS 	
	;CLRWDT	
	BTFSC		CLR_3TIMES_F
	GOTO		MAINLOOP10
	BSF		CLR_3TIMES_F
	MOVH		COUNT_3TIMES,03H
MAINLOOP10:	
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,0,CH0_L10
	GOTO		CH1_L10
CH0_L10:		
	BCF		A_P
	BCF		B_P			;CHANNEL0
	GOTO		CH_COMMON_LABEL
CH1_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,1,CH1_L11
	GOTO		CH2_L10	
CH1_L11:	
	BSF		A_P
	BCF		B_P			;CHANNEL1
	GOTO		CH_COMMON_LABEL
CH2_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,2,CH2_L11
	GOTO		CH3_L10	
CH2_L11:	
	BCF		A_P
	BSF		B_P			;CHANNEL2
	GOTO		CH_COMMON_LABEL	
CH3_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,3,CH3_L11
	GOTO		CH_COMMON_LABEL
CH3_L11:	
	BSF		A_P
	BSF		B_P			;CHANNEL3
	;GOTO		CH_COMMON_LABEL	
CH_COMMON_LABEL:
	CLRF		TMR0	
	MOVLW		06H			;START 
	OPTION
	CALL		SEND_CLOCK_SUB
	CALL		DELAY1MS	
	CALL		DELAY300US		
	CALL		DELAY110US
	CALL		DELAY110US
	CALL		DELAY110US
	CALL		DELAY110US
	CALL		DELAY110US		
	BTFSC		DATA_IN_P  
	GOTO		WAIT_ZERO	
	MOVLW		26H
	OPTION					;STOP	COUNTER
	CLRF		DISTANCE		;VALUE IS ZERO
;*********************************************
	CALL		DELAY1MS
	CALL		DELAY1MS
	CALL		DELAY1MS
	CALL		DELAY1MS
	;CALL		DELAY1MS
	;CALL		DELAY1MS
	;CALL		DELAY1MS
	;CALL		DELAY1MS	
;*********************************************
	GOTO		MAINLOOP51				
WAIT_ZERO:
	BTFSS		DATA_IN_P
	GOTO		MAINLOOP50
	BTFSS		TMR0_BIT7
	GOTO		WAIT_ZERO	
WAIT_ZERO1:
	BTFSS		DATA_IN_P
	GOTO		MAINLOOP50
	BTFSC		TMR0_BIT7
	GOTO		WAIT_ZERO1
	MOVLW		26H
	OPTION					;STOP	COUNTER
	MOVH		DISTANCE,0FFH		;VALUE IS 0FFH
	GOTO		MAINLOOP51
MAINLOOP50:
	MOVLW		26H
	OPTION					;STOP	COUNTER
	MOVF		TMR0,W
	MOVWF		DISTANCE
;*********************************************
	CALL		DELAY1MS
	CALL		DELAY1MS		
;*********************************************	
MAINLOOP51:	
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,0,CH0_FUZHI_L10
	GOTO		CH1_FUZHI_L10	
CH0_FUZHI_L10:
	MOVM		CHANNEL0_TEMP2,CHANNEL0_TEMP1
	MOVM		CHANNEL0_TEMP1,CHANNEL0_TEMP0	
	MOVM		CHANNEL0_TEMP0,DISTANCE	
	BSF		CH_BIT0_F
	BCF		CH_BIT1_F
	GOTO		MAINLOOP
CH1_FUZHI_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,1,CH1_FUZHI_L11
	GOTO		CH2_FUZHI_L10	
CH1_FUZHI_L11:
	MOVM		CHANNEL1_TEMP2,CHANNEL1_TEMP1
	MOVM		CHANNEL1_TEMP1,CHANNEL1_TEMP0	
	MOVM		CHANNEL1_TEMP0,DISTANCE	
	BCF		CH_BIT0_F
	BSF		CH_BIT1_F
	GOTO		MAINLOOP	
CH2_FUZHI_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,2,CH2_FUZHI_L11
	GOTO		CH3_FUZHI_L10	
CH2_FUZHI_L11:
	MOVM		CHANNEL2_TEMP2,CHANNEL2_TEMP1
	MOVM		CHANNEL2_TEMP1,CHANNEL2_TEMP0	
	MOVM		CHANNEL2_TEMP0,DISTANCE	
	BSF		CH_BIT0_F
	BSF		CH_BIT1_F
	GOTO		MAINLOOP
CH3_FUZHI_L10:
	MOVF		FLAG,W
	ANDLW		03H
	MOVWF		TEMP0
	CMPRS		TEMP0,3,CH3_FUZHI_L11
	GOTO		MAINLOOP	
CH3_FUZHI_L11:
	MOVM		CHANNEL3_TEMP2,CHANNEL3_TEMP1
	MOVM		CHANNEL3_TEMP1,CHANNEL3_TEMP0	
	MOVM		CHANNEL3_TEMP0,DISTANCE	
	BCF		CH_BIT0_F
	BCF		CH_BIT1_F
	
	DECFSZ		COUNT_3TIMES
	GOTO		MAINLOOP
	BCF		CLR_3TIMES_F
	
	MOVM		TEMP0,CHANNEL0_TEMP0
	MOVM		TEMP1,CHANNEL0_TEMP1
	MOVM		TEMP2,CHANNEL0_TEMP2
	CALL		MIDDLE_SUB	
	MOVM		CHANNEL0_TEMP0,TEMP0
	
	MOVM		TEMP0,CHANNEL1_TEMP0
	MOVM		TEMP1,CHANNEL1_TEMP1
	MOVM		TEMP2,CHANNEL1_TEMP2
	CALL		MIDDLE_SUB	
	MOVM		CHANNEL1_TEMP0,TEMP0
	
	MOVM		TEMP0,CHANNEL2_TEMP0
	MOVM		TEMP1,CHANNEL2_TEMP1
	MOVM		TEMP2,CHANNEL2_TEMP2
	CALL		MIDDLE_SUB	
	MOVM		CHANNEL2_TEMP0,TEMP0
	
	MOVM		TEMP0,CHANNEL3_TEMP0
	MOVM		TEMP1,CHANNEL3_TEMP1
	MOVM		TEMP2,CHANNEL3_TEMP2
	CALL		MIDDLE_SUB	
	MOVM		CHANNEL3_TEMP0,TEMP0	
	
	CALL		DEAL_SUB
	;CALL		DIGITAL_SUB	
	MOVM		SEND_BUF,SEND_BUF0
	CALL		SEND_DATA_SUB
	GOTO		MAINLOOP
	ORG		1FFH
	GOTO		START
	END

⌨️ 快捷键说明

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