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

📄 at980.lst

📁 sunplus spca514 cdmp3 源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
    03B8 E90F      LDI	R16,0x9F
    03B9 E010      LDI	R17,0
    03BA D1CD      RCALL	_Set_String
(0451) 			//g_vfd_grid_buffer[9] |= VFD_alpha_S;
(0452)   			//g_vfd_grid_buffer[8] |= VFD_alpha_T;
(0453) 			//g_vfd_grid_buffer[7] |= VFD_alpha_O;
(0454) 			//g_vfd_grid_buffer[6] |= VFD_alpha_R;
(0455) 			//g_vfd_grid_buffer[5] |= VFD_alpha_E;
(0456) 		};
(0457) 		if(radio_count ==0)
    03BB 940E1AFB  CALL	0x1AFB
    03BD 2022      TST	R2
    03BE F449      BNE	0x03C8
    03BF 2033      TST	R3
    03C0 F439      BNE	0x03C8
(0458) 		{
(0459) 		   	g_vfd_grid_buffer[3] = VFD_alpha_DASH;
    03C1 E080      LDI	R24,0
    03C2 E290      LDI	R25,0x20
    03C3 940E1AD9  CALL	0x1AD9
    03C5 940E1B13  CALL	0x1B13
(0460) 			g_vfd_grid_buffer[2] = VFD_alpha_DASH;
(0461) 		}
    03C7 C003      RJMP	0x03CB
(0462) 		else
(0463) 		{
(0464) 			display_digit(radio_count);
    03C8 940E1B7B  CALL	0x1B7B
    03CA DE5D      RCALL	_display_digit
(0465) 			//g_vfd_grid_buffer[3] |= num_xlate[radio_count/10];
(0466) 			//g_vfd_grid_buffer[2] |= num_xlate[radio_count%10];
(0467) 		};
(0468) 		break;
(0469) 
(0470)   };
(0471)   if((!is_autosearching) &&(!radio_dout()))
    03CB 902001BA  LDS	R2,_is_autosearching
    03CD 2022      TST	R2
    03CE F449      BNE	0x03D8
    03CF 9987      SBIC	P10,7
    03D0 C007      RJMP	0x03D8
(0472)   	g_vfd_grid_buffer[8] |= VFD_LED_STEREO;
    03D1 919001AA  LDS	R25,0x1AA
    03D3 918001A9  LDS	R24,0x1A9
    03D5 6490      ORI	R25,0x40
    03D6 940E1C6F  CALL	0x1C6F
(0473)  if(is_autosearching)
    03D8 902001BA  LDS	R2,_is_autosearching
    03DA 2022      TST	R2
    03DB F049      BEQ	0x03E5
(0474)  {
(0475)   	if(blink_time<2)
    03DC 91800194  LDS	R24,_blink_time
    03DE 3082      CPI	R24,2
    03DF F428      BCC	0x03E5
    03E0 940E1D31  CALL	0x1D31
(0476)   		g_vfd_grid_buffer[0] |= VFD_LED_AUTO;
    03E2 6280      ORI	R24,0x20
    03E3 940E1C6A  CALL	0x1C6A
(0477)  }
(0478) }
    03E5 940E1A18  CALL	pop_gset2
    03E7 9508      RET
_ui_fp_update_handler:
  value                --> R22
  i                    --> R20
    03E8 940E1A0C  CALL	push_gset2
(0479) 
(0480) void ui_fp_update_handler(void)
(0481) {
(0482)  unsigned char i;
(0483)  unsigned int value;
(0484)  #ifndef TEST_KEY
(0485)  if(work_mode!=0)
    03EA 90200148  LDS	R2,0x148
    03EC 2022      TST	R2
    03ED F409      BNE	0x03EF
    03EE C15F      RJMP	0x054E
(0486)  #endif
(0487)  {
(0488)   for(i=0;i<VFD_BUFFER_SIZE;i++)
    03EF 2744      CLR	R20
    03F0 C00B      RJMP	0x03FC
(0489)   {
(0490)     g_vfd_grid_buffer[i] = 0;
    03F1 E989      LDI	R24,0x99
    03F2 E091      LDI	R25,1
    03F3 2FE4      MOV	R30,R20
    03F4 27FF      CLR	R31
    03F5 940E1AB6  CALL	0x1AB6
    03F7 2422      CLR	R2
    03F8 2433      CLR	R3
    03F9 8220      STD	R2,0+Z
    03FA 8231      STD	R3,1+Z
(0491)   #ifdef MORE_THAN_16SEGMENT
(0492)     g_vfd_grid_ext_buffer[i] = 0;
(0493)   #endif
(0494)   }
    03FB 9543      INC	R20
    03FC 304C      CPI	R20,0xC
    03FD F398      BCS	0x03F1
(0495)   blink_time = (blink_time+1)%5;
    03FE E015      LDI	R17,5
    03FF 91000194  LDS	R16,_blink_time
    0401 5F0F      SUBI	R16,0xFF
    0402 940E195D  CALL	mod8u
    0404 93000194  STS	R16,_blink_time
(0496)   switch(display_type)
    0406 91600140  LDS	R22,0x140
    0408 2777      CLR	R23
    0409 3065      CPI	R22,5
    040A E0E0      LDI	R30,0
    040B 077E      CPC	R23,R30
    040C F40C      BGE	0x040E
    040D C0E7      RJMP	0x04F5
    040E E183      LDI	R24,0x13
    040F E090      LDI	R25,0
    0410 1786      CP	R24,R22
    0411 0797      CPC	R25,R23
    0412 F40C      BGE	0x0414
    0413 C0E1      RJMP	0x04F5
    0414 E982      LDI	R24,0x92
    0415 E090      LDI	R25,0
    0416 01FB      MOVW	R30,R22
    0417 9735      SBIW	R30,5
    0418 940E1AA8  CALL	<created procedures>
    041A 9409      IJMP
(0497)   {
(0498)     case DISPLAY_VERSION:
(0499) 	     Set_String("A980R104");
    041B E906      LDI	R16,0x96
    041C E010      LDI	R17,0
    041D D16A      RCALL	_Set_String
(0500) 		 /*
(0501) 		 R104: MODIFIED BY SGJM IN 2002-10-23
(0502) 		      add SCART AV/TV control
(0503) 		 	  add RDS
(0504) 			  change 2 SET AV to 1 SET AV	
(0505) 		 */
(0506) 		 break;
    041E C12F      RJMP	0x054E
(0507)  	#ifdef CLOCK_STANDBY
(0508) 	case DISPLAY_TIME:
(0509) 	     if(hm_flag||(blink_time<3)) //display_hour
(0510) 		 {
(0511) 		   g_vfd_grid_buffer[7] = num_trans(time_val[0]/10);
(0512) 		   g_vfd_grid_buffer[6] = (num_trans(time_val[0]%10)|VFD_LED_COL);
(0513) 		 };
(0514) 	     if(!hm_flag||(blink_time<3))
(0515) 		 {
(0516) 		   g_vfd_grid_buffer[5] = num_trans(time_val[1]/10);
(0517) 		   g_vfd_grid_buffer[4] = num_trans(time_val[1]%10);
(0518) 		 };	 
(0519) 	     break;
(0520) 	#endif
(0521) 		 #ifdef TEST_KEY
(0522) 	case DISPLAY_KEY:
(0523) 	      display_digit(info);
(0524) 		  break;
(0525) 		  #endif
(0526) 	   case DISPLAY_VOL:
(0527) 	      	Set_String("VOL");
    041F E902      LDI	R16,0x92
    0420 E010      LDI	R17,0
    0421 D166      RCALL	_Set_String
(0528) 			//g_vfd_grid_buffer[9] |= VFD_alpha_V ;
(0529)    			//g_vfd_grid_buffer[8] |= VFD_alpha_O ;
(0530)    			//g_vfd_grid_buffer[7] |= VFD_alpha_L ;
(0531) 			if(Mchvol<60)
    0422 9180014F  LDS	R24,0x14F
    0424 338C      CPI	R24,0x3C
    0425 F420      BCC	0x042A
(0532)               display_digit(Mchvol);
    0426 2F08      MOV	R16,R24
    0427 2711      CLR	R17
    0428 DDFF      RCALL	_display_digit
    0429 C124      RJMP	0x054E
(0533) 			else
(0534) 			{
(0535) 			  g_vfd_grid_buffer[4] |= VFD_alpha_M ;
    042A 919001A2  LDS	R25,0x1A2
    042C 918001A1  LDS	R24,0x1A1
    042E 6386      ORI	R24,0x36
    042F 6191      ORI	R25,0x11
    0430 940E1CE1  CALL	0x1CE1
    0432 940E1C65  CALL	0x1C65
(0536)    			  g_vfd_grid_buffer[3] |= VFD_alpha_A ;
    0434 6E83      ORI	R24,0xE3
    0435 6191      ORI	R25,0x11
    0436 940E1AD9  CALL	0x1AD9
    0438 940E1B86  CALL	0x1B86
(0537)    			  g_vfd_grid_buffer[2] |= VFD_alpha_X ;
    043A 6184      ORI	R24,0x14
    043B 609A      ORI	R25,0xA
    043C 940E1B13  CALL	0x1B13
(0538) 			};
(0539)    			//g_vfd_grid_buffer[1] |= num_xlate[Mchvol/10];//(Mchvolume-MAX_VOLUME)/10];
(0540)    		    //g_vfd_grid_buffer[0] |= num_xlate[Mchvol%10];//(Mchvolume-MAX_VOLUME)%10];
(0541)         	break;
    043E C10F      RJMP	0x054E
(0542)   
(0543)  		case DISPLAY_BASS:
(0544)     		Set_String("BASS");
    043F E80D      LDI	R16,0x8D
    0440 E010      LDI	R17,0
    0441 D146      RCALL	_Set_String
(0545) 			//g_vfd_grid_buffer[9] |= VFD_alpha_B;
(0546)    		    //g_vfd_grid_buffer[8] |= VFD_alpha_A;
(0547)    		    //g_vfd_grid_buffer[7] |= VFD_alpha_S;
(0548)    		    //g_vfd_grid_buffer[6] |= VFD_alpha_S;
(0549)          	if(Bassvol >=7)
    0442 91800151  LDS	R24,0x151
    0444 3087      CPI	R24,7
    0445 F050      BCS	0x0450
(0550)          	{
(0551)   		    	g_vfd_grid_buffer[2] = num_trans(Bassvol-7);
    0446 2F08      MOV	R16,R24
    0447 5007      SUBI	R16,7
    0448 DDD6      RCALL	_num_trans
    0449 940E1B2F  CALL	0x1B2F
(0552)     			g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
    044B EC88      LDI	R24,0xC8
    044C E094      LDI	R25,4
    044D 940E1AD9  CALL	0x1AD9
(0553)          	}
    044F C0FE      RJMP	0x054E
(0554)          	else
(0555)          	{
(0556)           		//g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0557)     			g_vfd_grid_buffer[2] = num_trans(7-Bassvol);
    0450 90200151  LDS	R2,0x151
    0452 E007      LDI	R16,7
    0453 1902      SUB	R16,R2
    0454 DDCA      RCALL	_num_trans
    0455 940E1B2F  CALL	0x1B2F
(0558) 				g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
    0457 EC80      LDI	R24,0xC0
    0458 E090      LDI	R25,0
    0459 940E1AD9  CALL	0x1AD9
(0559)           	}
(0560)           	break;
    045B C0F2      RJMP	0x054E
(0561) 			
(0562) 		case DISPLAY_TREBLE:
(0563) 		    Set_String("TREBLE");
    045C E806      LDI	R16,0x86
    045D E010      LDI	R17,0
    045E D129      RCALL	_Set_String
(0564)     		//g_vfd_grid_buffer[9] |= VFD_alpha_T ; 
(0565)     		//g_vfd_grid_buffer[8] |= VFD_alpha_R ; 
(0566)     		//g_vfd_grid_buffer[7] |= VFD_alpha_E ; 
(0567)     		//g_vfd_grid_buffer[6] |= VFD_alpha_B ; 
(0568)     		//g_vfd_grid_buffer[5] |= VFD_alpha_L ; 
(0569)     		//g_vfd_grid_buffer[4] |= VFD_alpha_E ; 
(0570)          	if(Treblevol >=7)
    045F 91800150  LDS	R24,0x150
    0461 3087      CPI	R24,7
    0462 F050      BCS	0x046D
(0571)    		    {
(0572)    		    	//g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
(0573)     			g_vfd_grid_buffer[2] = num_trans(Treblevol-7);
    0463 2F08      MOV	R16,R24
    0464 5007      SUBI	R16,7
    0465 DDB9      RCALL	_num_trans
    0466 940E1B2F  CALL	0x1B2F
(0574)     			g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
    0468 EC88      LDI	R24,0xC8
    0469 E094      LDI	R25,4
    046A 940E1AD9  CALL	0x1AD9
(0575) 			}
    046C C0E1      RJMP	0x054E
(0576)          	else
(0577)          	{
(0578)     			//g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0579)     			g_vfd_grid_buffer[2] = num_trans(7-Treblevol);
    046D 90200150  LDS	R2,0x150
    046F E007      LDI	R16,7
    0470 1902      SUB	R16,R2
    0471 DDAD      RCALL	_num_trans
    0472 940E1B2F  CALL	0x1B2F
(0580)          		g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
    0474 EC80      LDI	R24,0xC0
    0475 E090      LDI	R25,0
    0476 940E1AD9  CALL	0x1AD9
(0581) 			}
(0582)          	break;
    0478 C0D5      RJMP	0x054E
(0583) 		case ERROR_MSG:  //err_msg
(0584)          	Set_String(err_msg);
    0479 91100196  LDS	R17,_err_msg+1
    047B 91000195  LDS	R16,_err_msg
    047D D10A      RCALL	_Set_String
(0585)          	break;
    047E C0CF      RJMP	0x054E
(0586) 
(0587) 		case DISPLAY_BALANCE:
(0588) 		     Set_String("BAL");
    047F E802      LDI	R16,0x82
    0480 E010      LDI	R17,0
    0481 D106      RCALL	_Set_String
(0589) 			 if(Balanceval ==7)
    0482 91800152  LDS	R24,0x152
    0484 3087      CPI	R24,7
    0485 F449      BNE	0x048F
(0590) 			 {
(0591) 			    g_vfd_grid_buffer[2] = VFD_alpha_L;
    0486 E280      LDI	R24,0x20
    0487 E390      LDI	R25,0x30
    0488 940E1B13  CALL	0x1B13
(0592)     			g_vfd_grid_buffer[3] = VFD_alpha_R;
    048A EE83      LDI	R24,0xE3
    048B E192      LDI	R25,0x12
    048C 940E1AD9  CALL	0x1AD9
(0593) 			}
    048E C0BF      RJMP	0x054E
(0594) 			else if(Balanceval >7)
    048F 940E1D13  CALL	0x1D13
    0491 F450      BCC	0x049C
(0595)    		    {
(0596)    		    	//g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
(0597)     			g_vfd_grid_buffer[2] = num_trans(Balanceval-7);
    0492 2D02      MOV	R16,R2
    0493 5007      SUBI	R16,7
    0494 DD8A      RCALL	_num_trans
    0495 940E1B2F  CALL	0x1B2F
(0598)     			g_vfd_grid_buffer[3] = VFD_alpha_R;
    0497 EE83      LDI	R24,0xE3
    0498 E192      LDI	R25,0x12
    0499 940E1AD9  CALL	0x1AD9
(0599) 			}
    049B C0B2      RJMP	0x054E
(0600)          	else
(0601)          	{
(0602)     			//g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0603)     			g_vfd_grid_buffer[2] = num_trans(7-Balanceval);
    049C 90200152  LDS	R2,0x152
    049E E007      LDI	R16,7
    049F 1902      SUB	R16,R2
    04A0 DD7E      RCALL	_num_trans
    04A1 940E1B2F  CALL	0x1B2F
(0604)          		g_vfd_grid_buffer[3] = VFD_alpha_L;
    04A3 E280      LDI	R24,0x20
    04A4 E390      LDI	R25,0x30
    04A5 940E1AD9  CALL	0x1AD9
(0605) 			}
(0606)          	break;
    04A7 C0A6      RJMP	0x054E
(0607) 			// display_digit(Balanceval);
(0608) 		//	g_vfd_grid_buffer[6] |= VFD_LED_COL;
(0609) 			
(0610) 			/*g_vfd_grid_buffer[9] |=VFD_alpha_L;
(0611) 			if(Balanceval>0)
(0612) 				g_vfd_grid_buffer[8] |=VFD_SPECIAL_1|VH|VR;
(0613) 			if(Balanceval>1)
(0614) 				g_vfd_grid_buffer[8] |=VFD_SPECIAL_2;
(0615) 			if(Balanceval>2)
(0616) 				g_vfd_grid_buffer[7] |=VFD_SPECIAL_1;
(0617) 			if(Balanceval>3)
(0618) 				g_vfd_grid_buffer[7] |=VFD_SPECIAL_2;
(0619) 			if(Balanceval>4)
(0620) 				g_vfd_grid_buffer[6] |=VFD_SPECIAL_1;
(0621) 			if(Balanceval>5)
(0622) 				g_vfd_grid_buffer[6] |=VFD_SPECIAL_2;
(0623) 			
(0624) 			g_vfd_grid_buffer[2] |=VFD_alpha_R;
(0625) 			if(Balanceval<12)
(0626) 				g_vfd_grid_buffer[3] |=VFD_SPECIAL_2|VK|VN;
(0627) 			if(Balanceval<11)
(0628) 				g_vfd_grid_buffer[3] |=VFD_SPECIAL_1;
(0629) 			if(Balanceval<10)
(0630) 				g_vfd_grid_buffer[4] |=VFD_SPECIAL_2;
(0631) 			if(Balanceval<9)
(0632) 				g_vfd_grid_buffer[4] |=VFD_SPECIAL_1;
(0633) 			if(Balanceval<8)
(0634) 				g_vfd_grid_buffer[5] |=VFD_SPECIAL_2;
(0635) 			if(Balanceval<7)
(0636) 				g_vfd_grid_buffer[5] |=VFD_SPECIAL_1;*/
(0637) 	
(0638) 		//	break;
(0639) 
(0640) 	/*
(0641) 		case DISPLAY_LOUDNESS:
(0642) 			//g_vfd_grid_buffer[9] |= VFD_alpha_L ; 
(0643)     		//g_vfd_grid_buffer[8] |= VFD_alpha_O ; 
(0644)     		//g_vfd_grid_buffer[7] |= VFD_alpha_U ; 
(0645)     		//g_vfd_grid_buffer[6] |= VFD_alpha_D ;
(0646)     		//Set_string("LOUD");
(0647) 			if(Loudnessval)
(0648)        		{
(0649)       		    Set_String("3D ON");
(0650) 				//g_vfd_grid_buffer[4] |= VFD_alpha_O; 
(0651)    				//g_vfd_grid_buffer[3] |= VFD_alpha_N;
(0652)    				//g_vfd_grid_buffer[2] |= VFD_alpha_F;
(0653)        		}
(0654) 			else
(0655) 			{
(0656) 			    Set_String("3D OFF");
(0657) 				//g_vfd_grid_buffer[4] |= VFD_alpha_O; 
(0658)    			//	g_vfd_grid_buffer[3] |= VFD_alpha_F;
(0659)    			//	g_vfd_grid_buffer[2] |= VFD_alpha_F;
(0660) 			}
(0661) 			break;*/
(0662) 	 case DISPLAY_TIMING:
(0663) 	        Set_String("SLEEP"); 
    04A8 E70C      LDI	R16,0x7C
    04A9 E010      LDI	R17,0
    04AA D0DD      RCALL	_Set_String
(0664)          	//g_vfd_grid_buffer[9] |= VFD_alpha_S ; 
(0665)     		//g_vfd_grid_buffer[8] |= VFD_alpha_L ; 
(0666)     		//g_vfd_grid_buffer[7] |= VFD_alpha_E ; 
(0667)     		//g_vfd_grid_buffer[6] |= VFD_alpha_E ;
(0668)     		//g_vfd_grid_buffer[5] |= VFD_alpha_P;
(0669)        		value =( g_ui_timing_cnt/300);
    04AB E22C      LDI	R18,0x2C

⌨️ 快捷键说明

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