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

📄 main.lst

📁 153控制收音5800的源码
💻 LST
📖 第 1 页 / 共 4 页
字号:
   252 00141 154B          		jmp		Judgment_Rssi_ret
   253                     
   254 00142               Judgment_Rssi_muting:
   255 00142 1288          		call		FmTune
   256 00143 11BF          		call		delay_50ms
   257 00144 1272          		call		I2cRead
   258 00145 041A          		mov		a,RSSI
   259 00146 1A3F          		and		a,@0x3f
   260 00147 1D0C          		sub		a,@Rssi_MidPoint			;rssi 强度
   261 00148 0E03          		jbs		FLAG,@C
   262 00149 153B          		jmp		fm_unmute
   263 0014A 154B          		jmp		Judgment_Rssi_ret
   264                     
   265 0014B               Judgment_Rssi_ret:
   266                     		
   267 0014B 152A          		jmp		Judgment_Rssi_end	
   268                     ;-------------------------------------------------------------------------
   269                     
   270 0014C               Judgment_Sleep:
   271                     
   272 0014C 0C06          		jbc		P6,@0					;着断是否需要进入睡眠
   273 0014D 152B          		jmp		Judgment_Sleep_End
   274 0014E 11BF          		call		delay_50ms				;目的是防止收到假信号
   275 0014F 0C06          		jbc		P6,@0					;着断是否需要进入睡眠
   276 00150 152B          		jmp		Judgment_Sleep_End
   277 00151 11BF          		call		delay_50ms				;目的是防止收到假信号
   278 00152 0C06          		jbc		P6,@0					;着断是否需要进入睡眠
   279 00153 152B          		jmp		Judgment_Sleep_End
   280                     
   281                     		
   282 00154 0817          		bc		Rd5800_Reg_02L,@POWERUP_ENABLE		;关收音电源
   283 00155 1288          		call		FmTune
   284                     
   285 00156 180E          		mov		a,@0001110B		
   286 00157 0002          		contw		
   287 00158 0004          		wdtc		
   288 00159 001E          		ior		WTDCON					;禁止持门狗
   289 0015A 0050          		mov		A_buff,a
   290 0015B 09D0          		bc		A_buff,@0x07
   291 0015C 0410          		mov		a,A_buff
   292 0015D 000E          		iow		WTDCON
   293 0015E 0446          		mov		P6,P6
   294                     
   295 0015F 0011          		DISI
   296                     				
   297 00160 0003          		slep
   298 00161 084F          		bc		INT_STATU,@P6_FLAG_BIT
   299 00162 088F          		bc		INT_STATU,@EX_FLAG_BIT
   300                     
   301 00163 180E          		mov		a,@0001110B		
   302 00164 0002          		contw		
   303 00165 0004          		wdtc		
   304 00166 11BF          		call		delay_50ms
   305 00167 0820          		bc		FM_STATUS,@FM_MUTE			;置收音状态为开起音量
   306 00168 0A17          		bs		Rd5800_Reg_02L,@POWERUP_ENABLE		;开启收音电源
   307 00169 0996          		bc		Rd5800_Reg_02H,@DMUTE			;静音
   308 0016A 1288          		call		FmTune
   309 0016B 11BF          		call		delay_50ms
   310 0016C 11B8          		call		delay_500ms
   311 0016D 0B96          		bs		Rd5800_Reg_02H,@DMUTE			;开音量
   312 0016E 1288          		call		FmTune
   313 0016F 152B          		jmp		Judgment_Sleep_End
   314                     
   315                     
   316                     ;===============================================
   317                     ;	Includes Other Functions.
   318                     ;===============================================
   319                     
   320                     include		"init_sys.asm"
     1            C        ;===============================================
     2            C        ;	Function:CleanRam()
     3            C        ;===============================================	
     4 00170      C        CleanRam:
     5 00170 1810 C        		MOV		A,@0x10
     6 00171 0044 C        		MOV		R4,A
     7 00172      C        Loop:
     8            C        		; CLR R0 ==> [R4]=0
     9 00172 00C0 C        		CLR		R0
    10 00173 0544 C        		INC		R4
    11 00174 0404 C        		MOV		A,R4
    12 00175 19C0 C        		OR	 	A,@0B11000000
    13 00176 0883 C        		BC	 	FLAG,Z
    14 00177 1BF0 C        		XOR		A,@0xF0
    15 00178 0E83 C        		JBS		FLAG,Z
    16 00179 1572 C        		JMP		Loop
    17 0017A 0012 C        		RET
    18            C        
    19            C        ;===============================================
    20            C        ;	Function:Init_Ioport()设置端口状态
    21            C        ;===============================================	
    22 0017B      C        Init_Ioport:	
    23            C        		
    24 0017B 0080 C        		clra	
    25 0017C 0005 C        		iow		P5CON
    26 0017D 1801 C        		mov		a,@0x01
    27 0017E 0006 C        		iow		P6CON
    28            C        		
    29 0017F 1800 C        		mov		a,@0x0
    30 00180 0045 C        		mov		P5,a
    31 00181 1800 C        		mov		a,@0x0
    32 00182 0046 C        		mov		P6,a
    33 00183 0000 C        		nop
    34            C        		
    35            C        		;P5 and P6 Pull Down.
    36 00184 1800 C        		mov		A,	@0B00000000
    37 00185 000B C        		iow		IOCB
    38            C        
    39            C        		;P6 mask switch
    40 00186 1800 C        		mov		A,	@0B00000000
    41 00187 000C C        		iow		IOCC
    42 00188 1800 C        		mov		A,	@0x00
    43 00189 000D C        		iow		IOCD
    44            C        		
    45 0018A 0012 C        		ret
    46            C        
    47            C        
    48            C        
    49            C        
    50            C        
    51            C        
    52            C        
    53            C        ;===============================================
    54            C        ;	Function:Init_Con_reg()初始化控制寄存器
    55            C        ;===============================================	
    56 0018B      C        Init_Con_reg:	
    57            C        		;禁止看门狗
    58 0018B 0004 C        		wdtc		
    59 0018C 001E C        		ior		WTDCON					;禁止持门狗
    60 0018D 0050 C        		mov		A_buff,a
    61 0018E 09D0 C        		bc		A_buff,@0x07
    62 0018F 0410 C        		mov		a,A_buff
    63 00190 000E C        		iow		WTDCON	
    64 00191 180E C        		mov		a,@0001110B		;f/4
    65 00192 0002 C        		contw		
    66 00193 1800 C        		mov		a,@0
    67 00194 0041 C        		mov		TIME_COUNT,a
    68            C        		;----------------------------------------------
    69            C        		;计数中断使能
    70 00195 080F C        		bc		INT_STATU,@TC_FLAG_BIT
    71 00196 001F C        		ior		INT_MAST
    72 00197 0050 C        		mov		A_buff,a
    73 00198 0810 C        		bc		A_buff,@TC_FLAG_BIT
    74            C        		;bs		A_buff,@TC_FLAG_BIT
    75 00199 0410 C        		mov		a,A_buff
    76 0019A 000F C        		iow		INT_MAST
    77            C        		;----------------------------------------------
    78            C        		;外部中断使能
    79 0019B 088F C        		bc		INT_STATU,@EX_FLAG_BIT
    80            C        		;bs		INT_STATU,@EX_FLAG_BIT
    81 0019C 001F C        		ior		INT_MAST
    82 0019D 0050 C        		mov		A_buff,a
    83 0019E 0890 C        		bc		A_buff,@EX_FLAG_BIT
    84            C        	;	bs		A_buff,@EX_FLAG_BIT
    85 0019F 0410 C        		mov		a,A_buff
    86 001A0 000F C        		iow		INT_MAST
    87 001A1 001E C        		ior		WTDCON
    88 001A2 0050 C        		mov		A_buff,a
    89            C        	;	bs		A_buff,@0x06
    90 001A3 0990 C        		bc		A_buff,@0x06
    91 001A4 0410 C        		mov		a,A_buff
    92 001A5 000E C        		iow		WTDCON
    93            C        		;----------------------------------------------
    94            C        		;脚位变化中断
    95 001A6 084F C        		bc		INT_STATU,@P6_FLAG_BIT
    96 001A7 001F C        		ior		INT_MAST
    97 001A8 0050 C        		mov		A_buff,a
    98 001A9 0A50 C        		bs		A_buff,@P6_FLAG_BIT
    99            C        		;bc		A_buff,@P6_FLAG_BIT
   100 001AA 0410 C        		mov		a,A_buff
   101 001AB 000F C        		iow		INT_MAST
   102            C        		;----------------------------------------------
   103            C        
   104 001AC 0012 C        		ret
   105            C        
   106            C        
   321                     include		"time.asm"
     1            C        ;===============================================
     2            C        ;	Function:延迟25ms
     3            C        ;===============================================	
     4            C        ;delay_25ms:
     5            C        ;		clr		Time_Int_Count
     6            C        ;con_delay_25ms:
     7            C        ;		mov		a,Time_Int_Count
     8            C        ;		sub		a,@0xfa
     9            C        ;		jbs		FLAG,@Z
    10            C        ;		jmp		con_delay_25ms
    11            C        ;		ret
    12            C        
    13            C        ;===============================================
    14            C        ;	Function:延迟2ms
    15            C        ;===============================================	
    16 001AD      C        delay_2ms:
    17 001AD 00DD C        		clr		time_delay
    18            C        		
    19 001AE      C        con_delay_2ms:
    20 001AE 055D C        		inc		time_delay
    21 001AF 0000 C        		nop
    22 001B0 0000 C        		nop
    23 001B1 0000 C        		nop
    24 001B2 0000 C        		nop
    25 001B3 041D C        		mov		a,time_delay
    26 001B4 1DC8 C        		sub		a,@0xc8
    27 001B5 0E83 C        		jbs		FLAG,@Z
    28 001B6 15AE C        		jmp		con_delay_2ms
    29 001B7 0012 C        		ret
    30            C        
    31            C        ;===============================================
    32            C        ;	Function:延迟500ms
    33            C        ;===============================================	
    34 001B8      C        delay_500ms:
    35 001B8 18FA C        		mov		a,@0xfa
    36 001B9 005C C        		mov		time_delay1,a
    37 001BA      C        con_delay_500ms:
    38 001BA 11AD C        		call		delay_2ms
    39 001BB 01DC C        		dec		time_delay1
    40 001BC 0E83 C        		jbs		FLAG,@Z
    41 001BD 15BA C        		jmp		con_delay_500ms
    42 001BE 0012 C        		ret
    43            C        
    44            C        ;===============================================
    45            C        ;	Function:延迟50ms
    46            C        ;===============================================	
    47 001BF      C        delay_50ms:
    48 001BF 1819 C        		mov		a,@0x19
    49 001C0 005C C        		mov		time_delay1,a
    50            C        		
    51 001C1      C        con_delay_50ms:
    52 001C1 0004 C        		wdtc
    53 001C2 11AD C        		call		delay_2ms
    54 001C3 01DC C        		dec		time_delay1
    55 001C4 0E83 C        		jbs		FLAG,@Z
    56 001C5 15C1 C        		jmp		con_delay_50ms
    57 001C6 0012 C        		ret
    58            C        
    59            C        
   322                     include		"i2cproc.asm"
     1            C        include		"I2cproc.inc"
     1            C        
     2            C        
     3       0000 C        ACK         	equ		 0	;ACK bits
     4            C        
     5       0006 C        SdaPort		equ		P6
     6            C        
     7       0006 C        SclPort		equ		P6
     8       0001 C        SDA		equ		0x01
     9       0002 C        SCL		equ		0x02
    10            C        
    11            C        
    12            C        
    13            C        
     2            C        ;===============================================
     3            C        ;	Function:I2cDelay():;;多个延时函数共用.
     4            C        ;===============================================
     5 001C7      C        I2cDelay:
     6            C        	
     7 001C7 0000 C        		NOP
     8 001C8 0000 C        		NOP
     9 001C9 0000 C        		NOP
    10 001CA 0000 C        		NOP
    11 001CB 0000 C        		NOP
    12 001CC 0000 C        		NOP
    13 001CD 0000 C        		NOP
    14 001CE 0000 C        		NOP
    15 001CF 0000 C        		NOP
    16 001D0 0000 C        		NOP
    17            C        
    18 001D1 0000 C        		NOP
    19 001D2 0000 C        		NOP
    20 001D3 0000 C        		NOP
    21 001D4 0000 C        		NOP
    22 001D5 0000 C        		NOP
    23 001D6 0000 C        		NOP
    24 001D7 0000 C        		NOP
    25 001D8 0000 C        		NOP
    26 001D9 0000 C        		NOP
    27 001DA 0000 C        		NOP
    28            C        		
    29 001DB 0000 C        		NOP
    30 001DC 0000 C        		NOP
    31 001DD 0000 C        		NOP
    32 001DE 0000 C        		NOP
    33 001DF 0000 C        		NOP
    34 001E0 0000 C        		NOP
    35 001E1 0000 C        		NOP
    36 001E2 0000 C        		NOP
    37 001E3 0000 C        		NOP
    38 001E4 0000 C        		NOP
    39 001E5 0000 C        		NOP
    40 001E6 0000 C        		NOP
    41 001E7 0000 C        		NOP
    42 001E8 0000 C        		NOP
    43 001E9 0000 C        		NOP
    44 001EA 0000 C        		NOP
    45 001EB 0000 C        		NOP
    46 001EC 0000 C        		NOP
    47 001ED 0000 C        		NOP
    48 001EE 0000 C        		NOP
    49            C        
    50 001EF 0012 C        		ret
    51            C        
    52            C        ;===============================================
    53            C        ;	Function:I2cStart()
    54            C        ;===============================================
    55 001F0      C        I2cStart:
    56 001F0 0A46 C        		bs		SdaPort,@SDA
    57 001F1 0A86 C        		bs		SclPort,@SCL
    58 001F2 11C7 C        		call		I2cDelay
    59            C        
    60 001F3 0846 C        		bc		SdaPort,@SDA
    61 001F4 11C7 C        		call		I2cDelay
    62 001F5 11C7 C        		call		I2cDelay
    63            C        
    64 001F6 0886 C        		bc		SclPort,@SCL
    65 001F7 11C7 C        		call		I2cDelay
    66 001F8 11C7 C        		call		I2cDelay
    67 001F9 0012 C        		ret
    68            C        
    69            C        
    70            C        
    71            C        ;===============================================
    72            C        ;	Function:I2cStop()
    73            C        ;===============================================
    74 001FA      C        I2cStop:
    75            C        

⌨️ 快捷键说明

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