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

📄 at980.lst

📁 sunplus spca514 cdmp3 源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0285)   			g_vfd_grid_buffer[8] = num_trans(r2);
    0286 DF98      RCALL	_num_trans
    0287 0118      MOVW	R2,R16
    0288 923001AA  STS	R3,0x1AA
    028A 922001A9  STS	R2,0x1A9
(0286)   		}
    028C C012      RJMP	0x029F
(0287)   		else
(0288)   		{
(0289)   			if(amfm_flag)
    028D 902001B7  LDS	R2,_amfm_flag
    028F 2022      TST	R2
    0290 F039      BEQ	0x0298
(0290)   			{
(0291)   				g_vfd_grid_buffer[9] = VFD_alpha_A;
    0291 EE83      LDI	R24,0xE3
    0292 E191      LDI	R25,0x11
    0293 940E1C7F  CALL	0x1C7F
    0295 940E1C6F  CALL	0x1C6F
(0292)   				g_vfd_grid_buffer[8] = VFD_alpha_M;
(0293)   				
(0294) 			}
    0297 C007      RJMP	0x029F
(0295)   			else
(0296)   			{
(0297)   				g_vfd_grid_buffer[9] = VFD_alpha_F;
    0298 EE81      LDI	R24,0xE1
    0299 E190      LDI	R25,0x10
    029A 940E1C7F  CALL	0x1C7F
(0298) 				g_vfd_grid_buffer[8] = VFD_alpha_M;
    029C E191      LDI	R25,0x11
    029D 940E1C6F  CALL	0x1C6F
(0299)   				
(0300) 			};
(0301)   		};
(0302) 		if(amfm_flag)
    029F 902001B7  LDS	R2,_amfm_flag
    02A1 2022      TST	R2
    02A2 F031      BEQ	0x02A9
    02A3 940E1B86  CALL	0x1B86
(0303) 		  g_vfd_grid_buffer[2] |= VFD_LED_KHZ;
    02A5 6490      ORI	R25,0x40
    02A6 940E1B13  CALL	0x1B13
    02A8 C122      RJMP	0x03CB
(0304) 		else
(0305) 		{
(0306) 		 	g_vfd_grid_buffer[2] |= VFD_LED_MHZ;
    02A9 940E1B86  CALL	0x1B86
    02AB 6890      ORI	R25,0x80
    02AC 940E1B13  CALL	0x1B13
    02AE 940E1C65  CALL	0x1C65
(0307)   			g_vfd_grid_buffer[3] |= VFD_LED_DP;
    02B0 6890      ORI	R25,0x80
    02B1 940E1AD9  CALL	0x1AD9
(0308)   		};
(0309) 		break;
    02B3 C117      RJMP	0x03CB
(0310) 	#ifdef SGJM_RDS
(0311) 	case DIS_PS_NAME:
(0312)   							//	printf(rds_dis_string);printf("\n");
(0313)   			if(rds_status&PS_NAME_EXIST)
    02B4 9020018F  LDS	R2,0x18F
    02B6 FE20      SBRS	R2,0
    02B7 C004      RJMP	0x02BC
(0314)   				Set_String(rds_dis_string);
    02B8 E602      LDI	R16,0x62
    02B9 E012      LDI	R17,2
    02BA D2CD      RCALL	_Set_String
    02BB C10F      RJMP	0x03CB
(0315)   			 else
(0316)   				Set_String("NOPSNAME");
    02BC E307      LDI	R16,0x37
    02BD E011      LDI	R17,1
    02BE D2C9      RCALL	_Set_String
(0317)   		break;
    02BF C10B      RJMP	0x03CB
(0318) 	case DIS_PTY:
(0319) 		if(pty_is_searching == 2)
    02C0 91800190  LDS	R24,0x190
    02C2 3082      CPI	R24,2
    02C3 F4F9      BNE	0x02E3
(0320)  		{
(0321)   			if(blink_time<3)
    02C4 91800194  LDS	R24,_blink_time
    02C6 3083      CPI	R24,3
    02C7 F418      BCC	0x02CB
(0322)   				Set_String("PTY");
    02C8 E303      LDI	R16,0x33
    02C9 E011      LDI	R17,1
    02CA D2BD      RCALL	_Set_String
(0323) 			display_digit(freq);
    02CB 940E1B54  CALL	0x1B54
    02CD DF5A      RCALL	_display_digit
(0324)   			if(amfm_flag)
    02CE 902001B7  LDS	R2,_amfm_flag
    02D0 2022      TST	R2
    02D1 F031      BEQ	0x02D8
    02D2 940E1B86  CALL	0x1B86
(0325)   			{
(0326)   				g_vfd_grid_buffer[2] |= VFD_LED_KHZ;
    02D4 6490      ORI	R25,0x40
    02D5 940E1B13  CALL	0x1B13
(0327)   			}
    02D7 C0F3      RJMP	0x03CB
(0328)   			else
(0329)   			{
(0330)   			
(0331)   				g_vfd_grid_buffer[2] |= VFD_LED_MHZ;
    02D8 940E1B86  CALL	0x1B86
    02DA 6890      ORI	R25,0x80
    02DB 940E1B13  CALL	0x1B13
    02DD 940E1C65  CALL	0x1C65
(0332)   				g_vfd_grid_buffer[3] |= VFD_LED_DP;
    02DF 6890      ORI	R25,0x80
    02E0 940E1AD9  CALL	0x1AD9
(0333)   			};
(0334)   		  									
(0335)   		}
    02E2 C0E8      RJMP	0x03CB
(0336)   		else
(0337) 		{		
(0338)   				if(pty_is_searching==1)
    02E3 91800190  LDS	R24,0x190
    02E5 3081      CPI	R24,1
    02E6 F459      BNE	0x02F2
(0339)   				{
(0340)   					if(blink_time>2)
    02E7 E082      LDI	R24,2
    02E8 90200194  LDS	R2,_blink_time
    02EA 1582      CP	R24,R2
    02EB F408      BCC	0x02ED
(0341)   					 break;
    02EC C0DE      RJMP	0x03CB
(0342)   					rds_dis_string[5] = pty_search_type;
    02ED 90200263  LDS	R2,_rds_dis_string+1
    02EF 92200267  STS	R2,0x267
(0343)   				}
    02F1 C00C      RJMP	0x02FE
(0344)   				else
(0345)   				{
(0346)   					if((rds_status&PTY_EXIST)==0)
    02F2 9020018F  LDS	R2,0x18F
    02F4 FC21      SBRC	R2,1
    02F5 C004      RJMP	0x02FA
(0347)   					{
(0348)   					 Set_String("NO PTY");
    02F6 E20C      LDI	R16,0x2C
    02F7 E011      LDI	R17,1
    02F8 D28F      RCALL	_Set_String
(0349)   					break;
    02F9 C0D1      RJMP	0x03CB
(0350)   					};	
(0351)   					rds_dis_string[5] = pty_dis_type;
    02FA 90200262  LDS	R2,_rds_dis_string
    02FC 92200267  STS	R2,0x267
(0352)   				}
(0353)   					
(0354)   				switch(rds_dis_string[5])
    02FE 91600267  LDS	R22,0x267
    0300 2777      CLR	R23
    0301 3060      CPI	R22,0
    0302 E0E0      LDI	R30,0
    0303 077E      CPC	R23,R30
    0304 F40C      BGE	0x0306
    0305 C050      RJMP	0x0356
    0306 E18F      LDI	R24,0x1F
    0307 E090      LDI	R25,0
    0308 1786      CP	R24,R22
    0309 0797      CPC	R25,R23
    030A F40C      BGE	0x030C
    030B C04A      RJMP	0x0356
    030C E582      LDI	R24,0x52
    030D E090      LDI	R25,0
    030E 01FB      MOVW	R30,R22
    030F 940E1AA8  CALL	<created procedures>
    0311 9409      IJMP
(0355)   				{
(0356)   					case PTY_NONE:
(0357)   						 Set_String("NONE");
    0312 E207      LDI	R16,0x27
    0313 E011      LDI	R17,1
    0314 D273      RCALL	_Set_String
(0358)   					     break;
    0315 C0B5      RJMP	0x03CB
(0359)   					case PTY_NEWS:
(0360)   						 Set_String("NEWS");
    0316 E202      LDI	R16,0x22
    0317 E011      LDI	R17,1
    0318 D26F      RCALL	_Set_String
(0361)   						break;
    0319 C0B1      RJMP	0x03CB
(0362)   					case PTY_AFFAIRS:
(0363)   						Set_String("AFFAIRS");
    031A E10A      LDI	R16,0x1A
    031B E011      LDI	R17,1
    031C D26B      RCALL	_Set_String
(0364)   						break;
    031D C0AD      RJMP	0x03CB
(0365) 					case PTY_INFO:
(0366)   						Set_String("INFO");
    031E E105      LDI	R16,0x15
    031F E011      LDI	R17,1
    0320 D267      RCALL	_Set_String
(0367)   						break;
    0321 C0A9      RJMP	0x03CB
(0368) 					case PTY_SPORT:
(0369)   						Set_String("SPORT");
    0322 E00F      LDI	R16,0xF
    0323 E011      LDI	R17,1
    0324 D263      RCALL	_Set_String
(0370)   					    break;
    0325 C0A5      RJMP	0x03CB
(0371) 					case PTY_EDUCATE:
(0372)   						Set_String("EDUCATE");
    0326 E007      LDI	R16,7
    0327 E011      LDI	R17,1
    0328 D25F      RCALL	_Set_String
(0373)   						break;
    0329 C0A1      RJMP	0x03CB
(0374) 					case PTY_DRAMA:
(0375)   						Set_String("DRAMA");
    032A E001      LDI	R16,1
    032B E011      LDI	R17,1
    032C D25B      RCALL	_Set_String
(0376)   						break;
    032D C09D      RJMP	0x03CB
(0377)   					case PTY_CULTURE:
(0378)   						Set_String("CULTUTE");
    032E EF09      LDI	R16,0xF9
    032F E010      LDI	R17,0
    0330 D257      RCALL	_Set_String
(0379)   						break;
    0331 C099      RJMP	0x03CB
(0380) 					case PTY_SCIENCE:
(0381)   						Set_String("SCIENCE");
    0332 EF01      LDI	R16,0xF1
    0333 E010      LDI	R17,0
    0334 D253      RCALL	_Set_String
(0382)   						break;
    0335 C095      RJMP	0x03CB
(0383) 					case PTY_VARIED:
(0384)   						Set_String("VARIED");
    0336 EE0A      LDI	R16,0xEA
    0337 E010      LDI	R17,0
    0338 D24F      RCALL	_Set_String
(0385)   						break;
    0339 C091      RJMP	0x03CB
(0386) 					case PTY_POP_M:
(0387)   						Set_String("POP M");
    033A EE04      LDI	R16,0xE4
    033B E010      LDI	R17,0
    033C D24B      RCALL	_Set_String
(0388)   						break;
    033D C08D      RJMP	0x03CB
(0389) 					case PTY_ROCK_M:
(0390)   						 Set_String("ROCK M");
    033E ED0D      LDI	R16,0xDD
    033F E010      LDI	R17,0
    0340 D247      RCALL	_Set_String
(0391)   						break;
    0341 C089      RJMP	0x03CB
(0392) 					case PTY_EASY_M:
(0393)   						Set_String("EASY M");
    0342 ED06      LDI	R16,0xD6
    0343 E010      LDI	R17,0
    0344 D243      RCALL	_Set_String
(0394)   						break;
    0345 C085      RJMP	0x03CB
(0395) 					case PTY_LIGHT_M:
(0396)   						Set_String("LIGHT M");
    0346 EC0E      LDI	R16,0xCE
    0347 E010      LDI	R17,0
    0348 D23F      RCALL	_Set_String
(0397)   						break;
    0349 C081      RJMP	0x03CB
(0398) 					case PTY_CLASSICS:
(0399)   						Set_String("CLASSICS");
    034A EC05      LDI	R16,0xC5
    034B E010      LDI	R17,0
    034C D23B      RCALL	_Set_String
(0400)   						break;
    034D C07D      RJMP	0x03CB
(0401) 					case PTY_OTHER_M:
(0402)   						Set_String("OTHER M");
    034E EB0D      LDI	R16,0xBD
    034F E010      LDI	R17,0
    0350 D237      RCALL	_Set_String
(0403)   						break;
    0351 C079      RJMP	0x03CB
(0404) 					case PTY_ALARM:
(0405)   						Set_String("ALARM");
    0352 EB07      LDI	R16,0xB7
    0353 E010      LDI	R17,0
    0354 D233      RCALL	_Set_String
(0406)   						break;
    0355 C075      RJMP	0x03CB
(0407) 					default:
(0408)   						Set_String("OTHER");
    0356 EB01      LDI	R16,0xB1
    0357 E010      LDI	R17,0
    0358 D22F      RCALL	_Set_String
(0409)   						break;
(0410)   				};
(0411) 			}
(0412)   			break;
    0359 C071      RJMP	0x03CB
(0413) 			case DIS_RT:
(0414)   				if(rds_status&RT_EXIST)
    035A 9020018F  LDS	R2,0x18F
    035C FE22      SBRS	R2,2
    035D C01B      RJMP	0x0379
(0415)   				{
(0416)   					r2=Set_String(&rds_dis_string[rds_dis_buffer[2]]);
    035E E682      LDI	R24,0x62
    035F E092      LDI	R25,2
    0360 910002A5  LDS	R16,_rds_dis_buffer+2
    0362 2711      CLR	R17
    0363 0F08      ADD	R16,R24
    0364 1F19      ADC	R17,R25
    0365 D222      RCALL	_Set_String
    0366 0118      MOVW	R2,R16
    0367 2D42      MOV	R20,R2
(0417) 					//r2 = display_RT(rds_dis_buffer[2]);
(0418)   					if(!blink_time)
    0368 90200194  LDS	R2,_blink_time
    036A 2022      TST	R2
    036B F009      BEQ	0x036D
    036C C05E      RJMP	0x03CB
(0419)   					{	
(0420)   						if(r2) 
    036D 2344      TST	R20
    036E F031      BEQ	0x0375
(0421)   						  rds_dis_buffer[2]++;  //
    036F 918002A5  LDS	R24,_rds_dis_buffer+2
    0371 5F8F      SUBI	R24,0xFF
    0372 938002A5  STS	R24,_rds_dis_buffer+2
    0374 C056      RJMP	0x03CB
(0422)   					    else 
(0423)   						  rds_dis_buffer[2] = 0;  //oa
    0375 2422      CLR	R2
    0376 922002A5  STS	R2,_rds_dis_buffer+2
(0424)   								 	
(0425)   					}
(0426)   				}
    0378 C052      RJMP	0x03CB
(0427)   				else
(0428)   					Set_String("NO RT");
    0379 EA0B      LDI	R16,0xAB
    037A E010      LDI	R17,0
    037B D20C      RCALL	_Set_String
(0429)   			    break;
    037C C04E      RJMP	0x03CB
(0430) 				
(0431) 			case DIS_CT:
(0432)   					if(rds_status&CT_EXIST)
    037D 9020018F  LDS	R2,0x18F
    037F FE23      SBRS	R2,3
    0380 C02F      RJMP	0x03B0
(0433)   					{
(0434)   						g_vfd_grid_buffer[7] = num_trans(rds_dis_string[0]/10);
    0381 E01A      LDI	R17,0xA
    0382 91000262  LDS	R16,_rds_dis_string
    0384 940E1973  CALL	div8s
    0386 DE98      RCALL	_num_trans
    0387 0118      MOVW	R2,R16
    0388 923001A8  STS	R3,0x1A8
    038A 922001A7  STS	R2,0x1A7
(0435)   						g_vfd_grid_buffer[6] = ((num_trans(rds_dis_string[0]%10)|VFD_LED_COL));
    038C E01A      LDI	R17,0xA
    038D 91000262  LDS	R16,_rds_dis_string
    038F 940E1971  CALL	mod8s
    0391 DE8D      RCALL	_num_trans
    0392 0118      MOVW	R2,R16
    0393 01C1      MOVW	R24,R2
    0394 6490      ORI	R25,0x40
    0395 939001A6  STS	R25,0x1A6
    0397 938001A5  STS	R24,0x1A5
(0436)   						g_vfd_grid_buffer[5] = num_trans(rds_dis_string[1]/10);
    0399 E01A      LDI	R17,0xA
    039A 91000263  LDS	R16,_rds_dis_string+1
    039C 940E1973  CALL	div8s
    039E DE80      RCALL	_num_trans
    039F 0118      MOVW	R2,R16
    03A0 923001A4  STS	R3,0x1A4
    03A2 922001A3  STS	R2,0x1A3
(0437)   						g_vfd_grid_buffer[4] = num_trans(rds_dis_string[1]%10);
    03A4 E01A      LDI	R17,0xA
    03A5 91000263  LDS	R16,_rds_dis_string+1
    03A7 940E1971  CALL	mod8s
    03A9 DE75      RCALL	_num_trans
    03AA 0118      MOVW	R2,R16
    03AB 923001A2  STS	R3,0x1A2
    03AD 922001A1  STS	R2,0x1A1
(0438)   						
(0439)   					}
    03AF C01B      RJMP	0x03CB
(0440)   					else
(0441)   						Set_String("NO CT");
    03B0 EA05      LDI	R16,0xA5
    03B1 E010      LDI	R17,0
    03B2 D1D5      RCALL	_Set_String
(0442)   						
(0443)   				
(0444)   				break;
    03B3 C017      RJMP	0x03CB
(0445) 
(0446)    #endif
(0447) 	case RADIO_STORE:
(0448)   		if(blink_time<2)
    03B4 91800194  LDS	R24,_blink_time
    03B6 3082      CPI	R24,2
    03B7 F418      BCC	0x03BB
(0449)   		{
(0450)   			Set_String("STORE");

⌨️ 快捷键说明

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