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

📄 mp3_ctrolert

📁 lpc935/6下编写车载mp3控制面板源代码
💻
📖 第 1 页 / 共 4 页
字号:
#include "Reg935.inc"
#include "KEY_DEF.INC"
I2cSDA      	BIT		P2.5;收音机I2C
I2cSCL	  	BIT		P2.4
LCD_SCK     	BIT 		P1.2;LCD的I2C
LCD_DATA    	BIT         	P1.3
LCD_STB	    	BIT        	P0.1


POWER_2		BIT		P1.6;电源
POWER_1		BIT		P1.4
MP3_STATE	BIT		P0.6;检测MP3信号
MUTE_CTROL	BIT		P0.3;禁音控制

SDA_AMPLIFY	BIT		P2.6;放大器的I2C
SCLK_AMPLIFY	BIT		P2.7
Set_disp     	DATA 		0dH
Status_c    	DATA		84H
DATA_TY		DATA		05H
ABS_H		DATA		03H


SAV_BAND	DATA		0000H;波段存储
STAT_COUNT	DATA		0001H;电台计数
VOLMODE_SAV	DATA		0002H;收音机播放模式控制
MUSIC_OPTION	DATA		0003H;音场控制
PLAY_MODE	DATA		0004H;播放模式选择


SOUND_OP	DATA		0010H;音量控制参数9位
DAT_REDIO	DATA		0020H;收音机控制参数
STATION_FRE	DATA		0080H;电台频率参数存储位置
DL5US		DATA		08H
DL9US		DATA		020H
G_SENDSD	DATA		0130H;
G_RECI		DATA		0140H;
vol_ct_TEMP	DATA		0100H;
DISP_PROTECT	DATA		0160H;
W_DWord_BAK	DATA		0190H
COMM_L1		DATA		0A3H
COMM_L2		DATA		0AFH
COMM_L3		DATA		0BBH
COMM_L4		DATA		0C8H
W_DWord		DATA            09EH;收音机发送缓冲
R_DWord		DATA            099H;收音机接收缓冲
vol_ctr		DATA		08FH
MP3_RDATA	DATA		088H;MP3返回数据缓冲
MP3_RV_DAT	DATA		0120H;
AUDIO_EQ	DATA		0AH

ORDER_CMD	EQU		08H
DISP_ADRESS	EQU		09H
DISP_COM1	EQU		0AH
DISP_COM2	EQU		0BH
DISP_COM3	EQU		0CH
CHAR_ADR	EQU		0DH
DISP_COLUM	EQU		0EH
DELAY_COUNT	EQU		0FH
SEND_DATA	EQU		10H
READ_DATA	EQU		11H
TEMP_AD0	EQU		12H
TEMP_AD1	EQU		13H
TEMP_AD2	EQU		14H
TEMP_AD3	EQU		15H
KEY_1CC		EQU		16H
KEY_2CC		EQU		17H
TEMP1_KEYD	EQU		18H
TEMP2_KEYD	EQU		19H
TEMPC		EQU		1AH
STA_COUNT	EQU		1BH
DISP_TIMERC	EQU		1CH
ii_data		EQU		1DH
POW_COUNT	EQU		1EH
POW_CDD		EQU		1FH
DIV_C		EQU		30H
DIV_L		EQU		31H	
DIV_M		EQU		32H
DIV_H		EQU		33H		
D_TEMP1		EQU		34H
D_TEMP2		EQU		35H
D_INT		EQU		3AH
D_DIV		EQU		3BH	
STATION_COUNT	EQU		3CH
STA_DPH		EQU		3DH
STA_DPL		EQU		3EH
STATION_RV	EQU		3FH
SOUND_SC	EQU		40H
SELEC_C		EQU		41H
TIME_COUNT	EQU		42H
TIME_COMP	EQU		43H
KEY_2UPC	EQU		44H
KEY_1UPC	EQU		45H
DISP_VMODC	EQU		46H
ADRESS		EQU		47H
P_CMB		EQU		48H
P_CMC		EQU		49H	
P_PCMB		EQU		4AH
P_PCMC		EQU		4BH	
P_SELCB		EQU		4CH
P_SELCC		EQU		4DH
SELCMC_DONE	EQU		4EH	
SEND_ADRESS	EQU		4FH;
SEND_LENGTH	EQU		50H
MUSIC_OPTC	EQU		51H
S_COM_CU	EQU		52H
POWER_TEMP	EQU		53H
CONNECT		EQU		54H
CONNECTC	EQU		55H
swz_pt		EQU		56H		
DISP_TEMPS	EQU		57H
DISPC_TEMP	EQU		58H
KEY_COUNT	EQU		59H
MKEY_KJU	EQU		5AH
MKEY_KJU_BAK	EQU		5BH
MKEY_COUNT	EQU		5CH
HAND_KEY	EQU		5DH
HAND_KEY_BAK	EQU		5EH
HAND_COUNT	EQU		5FH
MP3_J		EQU		60H

DISP_TIMERD	BIT		01H
ERROR_SF	BIT		02H
RADIO_ERR	BIT		03H
SEACH_BEGIN	BIT		04H
SOUND_SB	BIT		05H
MUTE_KNOCK	BIT		06H
P_DN		BIT		07H
P_AF_MO		BIT		08H
P_V_DN		BIT		09H
P_CLK		BIT		0AH
P_MODE		BIT		0BH	
P_V_UP		BIT		0CH
P_SEL		BIT		0DH
P_MUTE		BIT		0EH
P_BAND		BIT		0FH
P_A_P		BIT		10H
P_SCAN		BIT		11H
P_M1		BIT		12H
P_M2		BIT		13H
P_M3		BIT		14H
P_M4		BIT		15H
P_M5		BIT		16H
P_M6		BIT		17H
P_UP		BIT		18H
SAME_KEY	BIT		19H
DISP_VMODE	BIT		20H
P_MB		BIT		21H
P_MD		BIT		22H		
P_PMB		BIT		23H
P_PMD		BIT		24H	
SEACH_QUICK	BIT		25H
P_SELCMB	BIT		26H
P_SELCMD	BIT		27H	
SELC_QUICK	BIT		28H
SEND_END	BIT		29H
SCON_DINGSHIB	BIT		2AH	
CONNECT_1BITS	BIT		2BH
CONNECT_BS	BIT		2CH
DISPB_TEMP	BIT		2DH
DISPD_TEMP	BIT		2EH
MUSIC_SET_AREA  BIT		2FH
AUTO_SRHED	BIT		30H
M_KEY_BAL	BIT		31H
HAND_BAKL	BIT		32H
SAV_MKEY_SIGN	BIT		33H
AUTO_SEACHJ	BIT		34H
SELECT_CTR_SGN  BIT		35H


power_colse	bit		59h
HAND_PRESS	BIT		5AH
WAIT_B		BIT		5BH
ALLOW_OP	BIT		5CH
SETB_FADRF	BIT		5DH
SETB_FADLF	BIT		5EH
SETB_BALRR	BIT		5FH
SETB_BALLR	BIT		60H
TRE_SETB	BIT		61H
BASS_SETB	BIT		62H
SELCMD_DONE	BIT		63H
VOL_SETB	BIT		64H
sign_INT	BIT		65H
AREAO_ON	BIT		66H
sign_ROCK 	BIT		68H
sign_POP 	BIT		69H
sign_CLASS	BIT		6AH
sign_FLAT	BIT		6BH
sign_stop	BIT		6CH
sign_rpt	BIT		6DH
sign_rdm	BIT		6EH
S_SCAN		BIT		6FH
MP3_MODE	BIT		70H		
COM_3BIT	BIT		71H
COM_1BIT	BIT		72H
COM_2BIT	BIT		73H
RADIO_MODE	BIT		74H
POW_CLOSE	BIT		75H
POW_RESET	BIT		76H
POW_RST		BIT		77H
KEY_2UPB	BIT		78H
KEY_1B		BIT		79H
KEY_1C		BIT		7AH
KEY_1D		BIT		7BH
KEY_1UPB	BIT		7CH
KEY_2B		BIT		7DH
KEY_2C		BIT		7EH
KEY_2D		BIT		7FH

       ORG   	0000H 
       LJMP  	BEGIN
       ORG   	000BH
       LJMP  	INT_T0
       ORG   	0023H
       LJMP  	SCRON
       ORG   	00078H
       
BEGIN:
		CLR 	RS0
		CLR 	RS1
		MOV 	R0,#02H
		MOV 	R1,#0FDH
	CLR_RAM:
		MOV     @R0,#00
		INC     R0
		DJNZ    R1,CLR_RAM
		MOV     SP,#0C8H
		LCALL   INI_CPU
		LCALL   READ_MAP
		LCALL   WDT_OP ;看门狗初始化
		mov     swz_pt,#0ffh
	        SETB    EA
MAIN_CT:
		LCALL   CLR_WDT
		JB   	POW_RESET,POWER_ER
		JNB   	POW_RST,MAIN_CT
		LCALL 	POWER_RESET;带电复位
		LJMP    MAIN_CT
	POWER_ER:
		JNB   	DISP_TIMERD,NEXE_1TASK
		LCALL 	HIST_COVERY
	 NEXE_1TASK:
		LCALL 	DEAL_KEYS;按键处理
		JB    	HAND_PRESS,NEXT_3TASK
		JB      MP3_MODE,NEXT_2TASK
		JB      MP3_STATE,NEXT_2TASK
		LCALL   DGNE_MP3
		clr     MUTE_CTROL
		LJMP  	MAIN_CT
	NEXT_2TASK:
		JB      HAND_PRESS,NEXT_3TASK
		JNB     MP3_MODE,NEXT_3TASK
		JNB     MP3_STATE,NEXT_3TASK
		LCALL   DGNE_RADIO
		clr     MUTE_CTROL
	NEXT_3TASK:
	;	LCALL   LJMP_MP3J
		LJMP    MAIN_CT
LJMP_MP3J:
		MOV     C,MP3_STATE	
		MOV     A,MP3_J
		RLC     A
		MOV     MP3_J,A
		ANL     A,#03FH
		CJNE    A,#03FH,MP_XMP3J
		LJMP    MP_XMP4J
	MP_XMP3J:
		CLR     HAND_PRESS	
	MP_XMP4J:	
		RET
DEAL_KEYS:
		PUSH	00H
		PUSH	01H
		LCALL   ST_MONO;单-双声道控制
		LCALL   ADD_1VOL
		LCALL   SUBB_1VOL
		LCALL   MODE_RVL;工作模式选择
		LCALL   RECI_MP3DAT
		LCALL   M_KEY
		LCALL	SELECT_CTR
		LCALL   SELECT_CTR_DONE
		LCALL   HAND_SEARCH
		JB      MP3_MODE,EXIT_1KEYS
		LCALL   SAV_MKEY
		LCALL   SEARCH_MAN
		LCALL   BAND_KEY;
		LCALL   SEARCH_START
		LCALL	AUTO_SEACH;搜索处理
	EXIT_1KEYS:
		POP	01H
		POP	00H
		RET
HAND_SEARCH:
		JBC     HAND_BAKL,D_1SEARCH
		LJMP    EXIT_3SH
	D_1SEARCH:
		SETB    MUTE_CTROL
		MOV     A,HAND_KEY
		JNB     MP3_MODE,EXIT_0SH
		lcall   tedr_sbuf
		lcall   reci_datmp3
		LJMP    EXIT_2SH
	EXIT_0SH:
		CJNE    A,#05,EXIT_1SH
		LCALL   UP_5SEARCH_SET
		LJMP    EXIT_2SH
	EXIT_1SH:
		CJNE    A,#06,EXIT_2SH
		LCALL   DOWN_5SEARCH
		LJMP    EXIT_2SH
	EXIT_2SH:
		clr     MUTE_CTROL	
	EXIT_3SH:
		RET
UP_5SEARCH_SET:
		PUSH	06H
		PUSH	07H
		lcall   up_sethig
		LCALL   JUDG_PLK;四舍5入补偿后设置
		POP	07H
		POP	06H
		RET
up_sethig:
		LCALL   CLR_WDT
		LCALL   COVER_DATA
		LCALL   TOP_JUDGE;高极限判断
		MOV     R1,#W_DWord
		INC     R1
		CLR 	C
		MOV     A,@R1
		ADD     A,#06H
		MOV     @R1,A
		MOV     R6,A
		DEC     R1
		MOV     A,@R1
		ADDC    A,#00
		MOV     @R1,A
		MOV     R7,A
		ret
DOWN_5SEARCH:
		PUSH	07H
		PUSH	06H
		lcall  down_ssh
		LCALL  JUDG_PLK
		POP	07H
		POP	06H
		RET
down_ssh:
		LCALL   COVER_DATA
		LCALL   DOWN_JUDGE
		MOV     R1,#W_DWord
		INC     R1
		CLR C
		MOV     A,@R1
		SUBB    A,#06H
		MOV    @R1,A
		MOV    R6,A
		DEC    R1
		MOV    A,@R1
		SUBB   A,#00
		MOV    @R1,A
		MOV    R7,A
		ret
SEARCH_MAN:
		JB      AUTO_SRHED,CH_0MAN
		LJMP    AUTO_END
	CH_0MAN:
		SETB   MUTE_CTROL
		MOV    A,HAND_KEY
		CJNE   A,#5,H_AUTODOWN
		LCALL  UP_SEARCH
		LJMP   AUTO_END
	H_AUTODOWN:
		CJNE   A,#6,AUTO_END
		LCALL  DOWN_SEARCH
	AUTO_END:
		CLR    MUTE_CTROL	
		RET
DOWN_SEARCH:;
		PUSH	06H
		PUSH	07H
		LCALL  CLR_FLASH
		SETB   DISPB_TEMP
	UP_BOTT:
		lcall  down_ssh
		MOV    R1,#W_DWord
		MOV    A,@R1
		ORL    A,#0C0H
		MOV    @R1,A
		MOV    R1,#W_DWord+2
		MOV    A,@R1
		CLR    ACC.7
		MOV    @R1,A
		LCALL  WriteSTR
		LCALL  DEALY_50
	BOTT_0DP:
		LCALL   CLR_WDT
		LCALL  READSTR
		MOV    R0,#R_DWord
		MOV    A,@R0
		JB     ACC.7,BOTT_1DP
		LJMP   BOTT_0DP
	BOTT_1DP:
		JNB     ACC.6,BOTT_2DP
		lcall   setb_higher
		LJMP  	UP_BOTT
	BOTT_2DP:
		LCALL   CLR_WDT
		LCALL   JUDG_SDOWN
		CJNE    A,#0AAH,UP_BOTT
		LCALL   MEM_SUB
		
		LCALL   CLR_FLASH
		LCALL   CLR_DISPT
		POP	06H
		POP	07H
		RET
DOWN_JUDGE:
		lcall   sav_zhip
		LCALL  DIV_4FGH
		LCALL  FIVE_ADC
		MOV    R0,#36H
		LCALL  COMP_108
		JC     EXIT_1BOTTOM
		LJMP   EXIT_3BOTTOM
	EXIT_1BOTTOM:
		MOV    	R0,#36H
		LCALL  	COM_875
		JNC   	EXIT_4BOTTOM
	EXIT_3BOTTOM:
		lcall   setb_higher
	EXIT_4BOTTOM:
		RET

JUDG_SDOWN:
		PUSH	DPL
		PUSH	DPH
		LCALL   SAV_DATA_STA
		MOV     R4,#01H
	YUID_2IOP:
		MOV     R1,#W_DWord
		MOV     A,@R1
		ANL     A,#3FH
		MOV	@R1,A
		INC     R1
		CLR     C
		MOV     A,@R1
		SUBB    A,#1;1
		MOV  	@R1,A
		DEC  	R1
		MOV     A,@R1
		SUBB  	A,#00
		MOV     @R1,A
		LCALL   SETB_SEARCH
		CLR     ACC.7
		LCALL 	JUDG_OPLH
		CJNE    A,02H,YUID_S4IOP
		INC 	R1
		MOV     A,@R1
		CJNE    A,03H,YUID_S4IOP
		INC     R4
		LJMP    YUID_2IOP 
	YUID_S4IOP: 
		CJNE    R4,#03H,YUID_S5IOP
	YUID_S5IOP:
		LCALL   SET_SCVB
		POP	DPH
		POP	DPL
		RET
JUDG_PLK:
	GO_0ONADD:
		LCALL  DIV_4FGH
		LCALL  JUDG_HALF
		CJNE   R1,#0AAH,GO_1ONADD
		LJMP   GO_3ONADD
	GO_1ONADD:
		CJNE   R1,#0ADH,GO_2ONADD
		LCALL  ADDC_1
		LJMP   GO_0ONADD
	GO_2ONADD:
		CJNE   R1,#0DAH,EXIT_DSCHED
		LCALL  SUBB_1
		LJMP   GO_0ONADD
	GO_3ONADD:
		LCALL  WriteSTR
		LCALL  SAV_DATA_STA
		LCALL  SEARCH_V
	EXIT_DSCHED:
		RET	

UP_SEARCH:;
		PUSH	06H
		PUSH	07H
		LCALL  CLR_FLASH
		SETB   DISPB_TEMP;打开闪烁
	UP_TOP:
		lcall   up_sethig
		MOV     R1,#W_DWord
		MOV     A,@R1
		ORL     A,#0C0H
		MOV     @R1,A
		MOV     R1,#W_DWord+2
		MOV     A,@R1
		SETB    ACC.7
		MOV     @R1,A
		LCALL   CLR_WDT
		LCALL   WriteSTR
		LCALL   DEALY_50
	TOP_0DP:
		LCALL  READSTR
		MOV    R0,#R_DWord
		MOV    A,@R0
		JB     ACC.7,TOP_1DP
		LJMP   TOP_0DP
	TOP_1DP:
		JNB     ACC.6,TOP_2DP
		lcall   setb_lower
		LJMP    UP_TOP
	TOP_2DP:
		LCALL  JUDG_SENDSD
		CJNE   A,#0AAH,UP_TOP
		LCALL  MEM_SUB
		LCALL  CLR_FLASH
		POP	07H
		POP	06H
		RET
MEM_SUB:
		LCALL   SEARCH_V
		MOV     R0,#W_DWord
		MOV     A,@R0
		ANL     A,#3FH
		MOV     @R0,A
		LCALL  WriteSTR
		CLR     AUTO_SRHED
		RET
TOP_JUDGE:
		lcall   sav_zhip
		LCALL  	DIV_4FGH
		LCALL  	FIVE_ADC
		MOV  	R0,#36H
		LCALL   COM_875
		JNC     EXIT_1TOP
		LJMP    EXIT_2TOP
	EXIT_1TOP:
		MOV  	R0,#36H
		LCALL   COMP_108
		JC      EXIT_3TOP
	EXIT_2TOP:	
		lcall   setb_lower
	EXIT_3TOP:
		RET
COM_875:
		CJNE @R0,#0H,EXIT_0BOTTOM
		INC  R0
		CJNE @R0,#8H,EXIT_0BOTTOM
		INC  R0
		CJNE @R0,#7H,EXIT_0BOTTOM
		INC  R0
		CJNE @R0,#5H,EXIT_0BOTTOM
	EXIT_0BOTTOM:
		RET
COMP_108:
		CJNE @R0,#1H,EXIT_BOTTOM
		INC  R0
		CJNE @R0,#0H,EXIT_BOTTOM
		INC  R0
		CJNE @R0,#8H,EXIT_BOTTOM
		INC  R0
		CJNE @R0,#0H,EXIT_BOTTOM
	EXIT_BOTTOM:
		RET

sav_zhip:
		MOV    R0,#W_DWord
		MOV    07H,@R0
		INC    R0
		MOV    06H,@R0
		ret
COVER_DATA:
		MOV     R1,#W_DWord
		MOV     A,@R1
		ANL     A,#3FH
		MOV     @R1,A
		RET
M_KEY:
		JBC     M_KEY_BAL,M_1KEY
		LJMP    EXIT_Y
	M_1KEY:
		JNB     MP3_MODE,EXIT_1Y
		LCALL   MP3_MEKEY
		LJMP    EXIT_Y
	EXIT_1Y:
		LCALL   DEAL_SHORTMEY
	EXIT_Y:
		
		RET
		
	

JUDG_MEKEY:
		LCALL  CLR_CARRY_BIT
		MOV    R1,MKEY_KJU
		MOV    DPTR,#SAV_BAND
		MOVX   A,@DPTR
		lcall  tedr_sbuf
		DEC    A
		MOV    B,#06H
		MUL    AB
		ADD    A,R1
		MOV    DPTR,#STAT_COUNT
		MOVX   @DPTR,A
		MOV    R1,A
		MOV    R0,DPL
		LCALL  WD_EERAM
		MOV    A,R1
		MOV    B,#02
		MUL    AB
	NEXT_ME:
		RET
DEAL_SHORTMEY:
		LCALL  JUDG_MEKEY
		MOV    DPTR,#STATION_FRE
		ADD    A,DPL
		MOV    DPL,A
		MOV    A,B
		ADDC   A,DPH
		MOV    DPH,A
		MOVX   A,@DPTR
		MOV    R1,#W_DWord
		MOV    @R1,A
		INC    R1
		INC    DPTR
		MOVX   A,@DPTR
		MOV    @R1,A
		lcall  RADIO_VMOD;显示RADIO截面
		LCALL  WriteSTR
		RET
SAV_MKEY:
		JB     SAV_MKEY_SIGN,SDD_1EXITF
		LJMP   SDD_EXITF
	SDD_1EXITF:
		LCALL  JUDG_MEKEY
		MOV    DPTR,#STATION_FRE
		ADD    A,DPL
		MOV    DPL,A
		MOV    A,B
		ADDC   A,DPH
		MOV    DPH,A
		MOV    R1,#W_DWord
		MOV    A,@R1
		MOVX   @DPTR,A
		MOV    R0,DPL
		LCALL  WD_EERAM
		INC    R1
		INC    DPTR
		MOV    A,@R1
		MOVX   @DPTR,A
		MOV    R0,DPL
		LCALL  WD_EERAM
		lcall  RADIO_VMOD;显示RADIO截面
		LCALL  WriteSTR
		CLR    SAV_MKEY_SIGN
	SDD_EXITF:
		RET
MP3_MEKEY:
		MOV    R1,MKEY_KJU
		CJNE   R1,#00H,MP3_1MMKEY
		JB     sign_INT,MP3_5MMKEY
		CLR    sign_rpt	
		CLR    sign_rdm
		JBC    sign_stop,MP3_4MMKEY
		setb   sign_stop
		LJMP   MP3_4MMKEY
	MP3_1MMKEY:
		CJNE   R1,#01H,MP3_2MMKEY
		SETB   sign_INT
		CLR    sign_stop
		CLR    sign_rpt	
		CLR    sign_rdm
		SETB   S_SCAN
		JB     MP3_MODE,MP3_4MMKEY
		CLR    S_SCAN
		LJMP   MP3_4MMKEY
	MP3_2MMKEY:
		CJNE   R1,#02H,MP3_3MMKEY
		JB     sign_INT,MP3_5MMKEY
		CLR    sign_stop
		CLR    sign_rdm
		JBC    sign_rpt,MP3_4MMKEY
		setb   sign_rpt
		LJMP   MP3_4MMKEY
	MP3_3MMKEY:
		CJNE   R1,#03H,MP3_5MMKEY
		JB     sign_INT,MP3_5MMKEY
		CLR    sign_stop
		CLR    sign_rpt	
		JBC    sign_rdm,MP3_4MMKEY
		setb   sign_rdm
	MP3_4MMKEY:
		INC     R1
		MOV     A,R1
		lcall   tedr_sbuf
		LJMP    MP3_5MMKEY
	MP3_5MMKEY:
		RET
BAND_KEY:
		
		JNB    P_BAND,EWE_BAND
		LCALL  CLR_CARRY_BIT
		MOV    DPTR,#SAV_BAND
		MOVX   A,@DPTR
		lcall  tedr_sbuf
		INC    A
		CJNE   A,#06H,EWE_1BAND
	EWE_1BAND:
		JC     EWE_2BAND
		MOV    A,#01H
	EWE_2BAND:	
		MOVX   @DPTR,A
		MOV    R1,A
		MOV    R0,DPL
		LCALL  WD_EERAM
		DEC    R1
		MOV    A,R1
		MOV    B,#06
		MUL    AB
		MOV    DPTR,#STAT_COUNT
		MOVX   @DPTR,A
		MOV    R1,A
		MOV    R0,DPL
		LCALL  WD_EERAM
		MOV    A,R1
		MOV    B,#02
		MUL    AB
		MOV    DPTR,#STATION_FRE
		ADD    A,DPL
		MOV    DPL,A
		MOVX   A,@DPTR
		MOV    R1,#W_DWord
		MOV    @R1,A
		INC    R1
		INC    DPTR
		MOVX   A,@DPTR
		MOV    @R1,A
		lcall  RADIO_VMOD;显示RADIO截面
		LCALL  WriteSTR
	EWE_BAND:
		RET
AUTO_SEACH:
		JB     SEACH_BEGIN,TYU_1SEARCH
		LJMP   EXIT_SEARCH
	TYU_1SEARCH:
		SETB   MUTE_CTROL
		LCALL  CLR_WDT
		MOV    R1,#W_DWord+1
		MOV    A,@R1
		ADD    A,#0CH
		MOV    @R1,A
		MOV    R6,A
		DEC    R1
		MOV    A,@R1
		ANL    A,#3FH
		ADDC   A,#00
		MOV    @R1,A
		MOV    R7,A
		MOV    R0,#W_DWord
	EXIJ_FH:	
		LCALL  DIV_4FGH
		LCALL  JUDG_HALF
		CJNE   R1,#0AAH,ADD_JHK
		LJMP   EXIJ_JJ1
	ADD_JHK:
		CJNE   R1,#0ADH,SUBB_JHK
		LCALL  ADDC_1
		LJMP   EXIJ_FH
	SUBB_JHK:
		CJNE   R1,#0DAH,DFF3G
		LCALL  SUBB_1
		LJMP   EXIJ_FH
	EXIJ_JJ1:
		LCALL  GET_SSERCH
		SETB   ACC.7
		MOV    @R1,A
		LCALL  WriteSTR
		LCALL  DEALY_50
	TRX1:
		LCALL  READSTR
		MOV    R0,#R_DWord
		MOV    A,@R0
		JB     ACC.7,DFFG
		LJMP   TRX1
	TYU_2SEARCH:
		LJMP   TYU_1SEARCH
	DFFG:
		JB      ACC.6,DFF3G
		LCALL   JUDG_SENDSD;判断是否是台
		CJNE    A,#0AAH,TYU_1SEARCH
		MOV     DPTR,#W_DWord_BAK
		MOVX    A,@DPTR
		MOV     R0,A
		INC 	DPTR
		MOVX    A,@DPTR
		MOV     R1,A

⌨️ 快捷键说明

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