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

📄 main.s

📁 sunplus spca514 cdmp3 源码
💻 S
📖 第 1 页 / 共 3 页
字号:
; 				display_type = DISPLAY_BASS;
; 			}
; 			dvd_key = D_BASS_KEY | Bassvol;
; 			g_ui_tmp_msg_cnt = 20;
;     		break;
; 	
; 		case UICC_BASS_DOWN:
; 			if(dislay_type == DISPLAY_BASS)
; 			{
; 			   if(Bassvol>0)
; 			   {
; 				 Bassvol--;
; 			     PT2320_bass();
; 			   }
; 			}
; 			else
; 			{
; 				display_type = DISPLAY_BASS;
; 			}
; 			dvd_key = D_BASS_KEY | Bassvol;
; 			g_ui_tmp_msg_cnt = 20;
;      		break;
; 	#endif //bass_two_key
; 	
; 	#ifdef TREBLE_TWO_KEY
; 		case UICC_TREBLE_UP:
;      		if(dislay_type == DISPLAY_TREBLE)
; 			{
; 			   if(Treblevol<140)
; 			   {
; 			     Treblevol++;
; 			     PT2320_treble();
; 			   }
; 			}
; 			else
; 			{
; 				display_type = DISPLAY_Treble;
; 			}
; 			dvd_key = D_TREBLE_KEY | Treble_vol;
; 			g_ui_tmp_msg_cnt = 20;
;      		break;
; 
; 		case UICC_TREBLE_DOWN:
;      		if(dislay_type == DISPLAY_TREBLE)
; 			{
; 			   if(Treblevol>0)
; 			   {
; 			     Treblevol--;
; 			     PT2320_treble();
; 			   }
; 			}
; 			else
; 			{
; 				display_type = DISPLAY_Treble;
; 			}
; 			dvd_key = D_TREBLE_KEY | Treble_vol;
; 			g_ui_tmp_msg_cnt = 20;
;      		break;
;         #endif //treble_two_key
;         
; 
; 	 
;        case UICC_MUTE:
; 	        if(work_mode == DVD_MODE)
	lds R2,_work_mode
	tst R2
	brne L97
	.dbline 481
; 			 {
	.dbline 482
; 			   dvd_key = IRKC_MUTE;
	ldi R24,120
	ldi R25,0
	sts _dvd_key+1,R25
	sts _dvd_key,R24
	.dbline 483
; 			   break;
	xjmp L21
L97:
	.dbline 485
; 			 }
; 	        if(radio_is_muted)
	lds R2,_radio_is_muted
	tst R2
	breq L99
	.dbline 486
; 			   radio_is_muted = 0;
	clr R2
	sts _radio_is_muted,R2
	xjmp L100
L99:
	.dbline 488
; 			 else 
; 			   radio_is_muted = 1;
	ldi R24,1
	sts _radio_is_muted,R24
L100:
	.dbline 489
; 			 mute_radio();
	xcall _mute_radio
	.dbline 490
; 			 break;
	xjmp L21
L101:
	.dbline 492
; 		case UICC_TIMING:
; 			tmp =( g_ui_timing_cnt/(300*SLEEP_TIME_TAG));  //10m*60*5
	ldi R18,9000
	ldi R19,35
	lds R17,_g_ui_timing_cnt+1
	lds R16,_g_ui_timing_cnt
	xcall div16u
	movw R20,R16
	.dbline 493
; 			if((g_ui_timing_cnt%(300*SLEEP_TIME_TAG))>2)
	ldi R18,9000
	ldi R19,35
	lds R17,_g_ui_timing_cnt+1
	lds R16,_g_ui_timing_cnt
	xcall mod16u
	ldi R24,2
	ldi R25,0
	cp R24,R16
	cpc R25,R17
	brsh L102
	.dbline 494
; 				tmp++;
	subi R20,255  ; offset = 1
	sbci R21,255
L102:
	.dbline 495
; 			if(display_type== DISPLAY_TIMING )
	lds R24,_display_type
	cpi R24,16
	brne L104
	.dbline 496
; 			{
	.dbline 498
; 		
; 				tmp =(tmp + 1)%SLEEP_MAX_CNT;
	movw R24,R20
	adiw R24,1
	andi R24,3
	andi R25,0
	movw R20,R24
	.dbline 499
; 				g_ui_timing_cnt =(300*SLEEP_TIME_TAG)*tmp;	
	ldi R16,9000
	ldi R17,35
	movw R18,R20
	xcall empy16s
	sts _g_ui_timing_cnt+1,R17
	sts _g_ui_timing_cnt,R16
	.dbline 500
; 			}
	xjmp L105
L104:
	.dbline 502
; 			else
; 				display_type = DISPLAY_TIMING;
	ldi R24,16
	sts _display_type,R24
L105:
	.dbline 503
; 			g_ui_tmp_msg_cnt = 20;
	ldi R24,20
	sts _g_ui_tmp_msg_cnt,R24
	.dbline 504
; 			tmp = g_ui_timing_cnt/300;
	ldi R18,300
	ldi R19,1
	lds R17,_g_ui_timing_cnt+1
	lds R16,_g_ui_timing_cnt
	xcall div16u
	movw R20,R16
	.dbline 505
; 			if(g_ui_timing_cnt%10>10)
	ldi R18,10
	ldi R19,0
	lds R17,_g_ui_timing_cnt+1
	lds R16,_g_ui_timing_cnt
	xcall mod16u
	ldi R24,10
	ldi R25,0
	cp R24,R16
	cpc R25,R17
	brsh L106
	.dbline 506
; 			  tmp++;
	subi R20,255  ; offset = 1
	sbci R21,255
L106:
	.dbline 507
; 			dvd_key = D_TIMING_KEY|tmp;
	movw R24,R20
	ori R25,250
	sts _dvd_key+1,R25
	sts _dvd_key,R24
	.dbline 509
; 			//key_pressed_type = 4;
; 			break;
	xjmp L21
L108:
	.dbline 511
;         case  UICC_AVTV:
; 		    if(g_avtv)
	lds R2,_g_avtv
	tst R2
	breq L109
	.dbline 512
; 			{
	.dbline 513
; 			  g_avtv=0;
	clr R2
	sts _g_avtv,R2
	.dbline 514
; 			  Set_AV();
	CBI 0x15,2
	.dbline 515
; 			}
	xjmp L21
L109:
	.dbline 517
; 			else
; 			{
	.dbline 518
; 			 g_avtv=1;
	ldi R24,1
	sts _g_avtv,R24
	.dbline 519
; 			 Set_TV();
	SBI 0x15,2
	.dbline 520
; 			}
	.dbline 521
; 			break;
	xjmp L21
L20:
	.dbline 523
; 	default:
; 	    if(g_ui_tmp_msg_cnt >1)
	ldi R24,1
	lds R2,_g_ui_tmp_msg_cnt
	cp R24,R2
	brsh L111
	.dbline 524
; 	     g_ui_tmp_msg_cnt = 1;
	sts _g_ui_tmp_msg_cnt,R24
L111:
	.dbline 525
; 	   switch(work_mode)
	lds R20,_work_mode
	clr R21
	cpi R20,0
	cpc R20,R21
	breq L117
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L116
	xjmp L113
X4:
	.dbline 526
; 	   {
L116:
	.dbline 529
; 	    case TUNER_MODE:
; 		     
; 		     radio_action();
	xcall _radio_action
	.dbline 530
; 			 break;
	xjmp L114
L117:
	.dbline 537
; 		//case :
; 		  //   tape_operator();
; 		   //  break;
; 		//case AV2_MODE:
; 		  //   break;
; 		case DVD_MODE:
; 		     dvd_key = key_buff;
	lds R3,_key_buff+1
	lds R2,_key_buff
	sts _dvd_key+1,R3
	sts _dvd_key,R2
	.dbline 538
; 		     break;
L113:
L114:
	.dbline 540
; 	    
; 	   };  //work_mode    
	.dbline 541
;   }//uicc_code
L21:
	.dbline 542
;  } //if
L17:
	.dbline 543
;  last_key=uicc_code;
	lds R2,_uicc_code
	sts _last_key,R2
	.dbline -2
	.dbline 544
; }
L15:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r tmp 20 i
	.dbfunc s main _main fI
;              i -> R20
	.even
_main::
	.dbline -1
	.dbline 547
; 
; void main(void)
; {
	.dbline 548
;  unsigned char i=0;
	clr R20
	.dbline 550
;  
;  init_io();
	xcall _init_io
	.dbline 551
;  init_timer();
	xcall _init_timer
	.dbline 552
;  spi_init() ;
	xcall _spi_init
	.dbline 553
;  SEI();
	sei
	.dbline 554
;  decoder_power_off();
	clr R16
	xcall _DEC_power
	.dbline 555
;  g_avtv = 0;
	clr R2
	sts _g_avtv,R2
	.dbline 556
;  Set_AV();
	CBI 0x15,2
	.dbline 557
;  led_val = 00;
	sts _led_val,R2
	.dbline 558
;  delay_ms(150);
	ldi R16,150
	ldi R17,0
	xcall _delay_ms
	.dbline 559
;  decoder_power_off();
	clr R16
	xcall _DEC_power
	.dbline 562
;  //SEI();
;  #ifndef TEST_KEY
;  work_mode = DVD_MODE;
	clr R2
	sts _work_mode,R2
	.dbline 566
;  #else
;  work_mode = AV1_MODE;
;  #endif
;  for(i=0;i<12;i++)
	xjmp L129
L126:
	.dbline 567
	ldi R24,<_g_vfd_grid_buffer
	ldi R25,>_g_vfd_grid_buffer
	mov R30,R20
	clr R31
	lsl R30
	rol R31
	add R30,R24
	adc R31,R25
	clr R2
	clr R3
	std z+0,R2
	std z+1,R3
L127:
	.dbline 566
	inc R20
L129:
	.dbline 566
	cpi R20,12
	brlo L126
	.dbline 568
;      g_vfd_grid_buffer[i] = 0;
;  Set_String("  DVD");
	ldi R16,<L130
	ldi R17,>L130
	xcall _Set_String
	.dbline 569
;  ui_fp_update_handler();
	xcall _ui_fp_update_handler
	.dbline 570
;  delay_ms(200);
	ldi R16,200
	ldi R17,0
	xcall _delay_ms
	.dbline 571
;  delay_ms(200);
	ldi R16,200
	ldi R17,0
	xcall _delay_ms
	.dbline 572
;  ui_fp_update_handler();
	xcall _ui_fp_update_handler
	.dbline 573
;  delay_ms(300);
	ldi R16,300
	ldi R17,1
	xcall _delay_ms
	.dbline 574
;  delay_ms(200);
	ldi R16,200
	ldi R17,0
	xcall _delay_ms
	.dbline 575
;  work_mode_convert();
	xcall _work_mode_convert
	xjmp L132
L131:
	.dbline 578
;  
;  while(1)
;  {
	.dbline 580
;   
;   if(tick_flag&TICK_20MS)
	lds R2,_tick_flag
	sbrs R2,0
	rjmp L134
	.dbline 581
;   {
	.dbline 582
;    tick_flag &=(~TICK_20MS);
	mov R24,R2
	andi R24,254
	sts _tick_flag,R24
	.dbline 583
;    	fp_key_scan2();
	xcall _fp_key_scan2
	.dbline 584
; 	fp_vol_scan();
	xcall _fp_vol_scan
	.dbline 585
; 	if(work_mode==TUNER_MODE)
	lds R24,_work_mode
	cpi R24,1
	brne L136
	.dbline 586
; 	{
	.dbline 587
; 	 if(is_autosearching) tuner_autosearch();
	lds R2,_is_autosearching
	tst R2
	breq L138
	.dbline 587
	xcall _tuner_autosearch
L138:
	.dbline 589
; 	 #ifdef SGJM_RDS
; 	 rds_handler();
	xcall _rds_handler
	.dbline 591
; 	 #endif
; 	}
L136:
	.dbline 592
;   }
L134:
	.dbline 594
;   
;   if(tick_flag&TICK_200MS) 
	lds R2,_tick_flag
	sbrs R2,1
	rjmp L140
	.dbline 595
;   {
	.dbline 596
;    tick_flag &=(~TICK_200MS);  //clear 200msflag
	mov R24,R2
	andi R24,253
	sts _tick_flag,R24
	.dbline 597
;    repeat++; //key repeat
	lds R24,_repeat
	subi R24,255	; addi 1
	sts _repeat,R24
	.dbline 598
;    if(key_buff!=0xffff)
	lds R25,_key_buff+1
	lds R24,_key_buff
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	breq L142
	.dbline 599
;    {
	.dbline 605
;    	#ifdef TEST_KEY
;    	info = key_buff;
;    	display_type = DISPLAY_KEY;
;    	#endif
; 
;    	uicc_code = get_uicc_key(key_buff);
	movw R16,R24
	xcall _get_uicc_key
	movw R2,R16
	sts _uicc_code,R2
	.dbline 607
; 	//key_buff = 0xffff;
; 	if(uicc_code!=0xff)
	mov R24,R2
	cpi R24,255
	breq L144
	.dbline 608
; 	{
	.dbline 609
; 	  ui_input_handler();
	xcall _ui_input_handler
	.dbline 610
; 	}
	xjmp L145
L144:
	.dbline 612
; 	else
; 	 dvd_key = key_buff;
	lds R3,_key_buff+1
	lds R2,_key_buff
	sts _dvd_key+1,R3
	sts _dvd_key,R2
L145:
	.dbline 613
; 	key_buff = 0xffff;
	ldi R24,-1
	ldi R25,-1
	sts _key_buff+1,R25
	sts _key_buff,R24
	.dbline 614
;    }
L142:
	.dbline 616
;     
;    ui_fp_update_handler();
	xcall _ui_fp_update_handler
	.dbline 618
;    
;    if(g_ui_tmp_msg_cnt)
	lds R2,_g_ui_tmp_msg_cnt
	tst R2
	breq L146
	.dbline 619
;    {
	.dbline 620
;      g_ui_tmp_msg_cnt--;
	mov R24,R2
	subi R24,1
	sts _g_ui_tmp_msg_cnt,R24
	.dbline 621
; 	 if(!g_ui_tmp_msg_cnt)
	mov R2,R24
	tst R2
	brne L148
	.dbline 622
; 	 {
	.dbline 624
; 	    #ifdef SGJM_RDS
; 		display_type = rds_display_type;
	lds R2,_rds_display_type
	sts _display_type,R2
	.dbline 628
; 	    #else
; 		display_type = 0;
; 		#endif
; 		last_key = 0xff;
	ldi R24,255
	sts _last_key,R24
	.dbline 629
; 		clear_vol_cnt();
	xcall _clear_vol_cnt
	.dbline 630
L148:
	.dbline 630
; 	 };
	.dbline 631
;    }
L146:
	.dbline 633
;    
;    if(g_ui_timing_cnt)
	lds R3,_g_ui_timing_cnt+1
	lds R2,_g_ui_timing_cnt
	tst R2
	brne X23
	tst R3
	breq L150
X23:
	.dbline 634
;    {
	.dbline 635
;     g_ui_timing_cnt--;
	movw R24,R2
	sbiw R24,1
	sts _g_ui_timing_cnt+1,R25
	sts _g_ui_timing_cnt,R24
	.dbline 636
; 	if(!g_ui_timing_cnt)
	movw R2,R24
	tst R2
	brne L152
	tst R3
	brne L152
	.dbline 637
; 	{
	.dbline 638
; 	 work_mode1= work_mode;
	lds R2,_work_mode
	sts _work_mode1,R2
	.dbline 639
; 	 work_mode = POWER_OFF_MODE;
	ldi R24,5
	sts _work_mode,R24
	.dbline 641
; 	 //work_mode1 = work_mode;
; 	 work_mode_convert();
	xcall _work_mode_convert
	.dbline 647
L152:
	.dbline 647
; 	 //muted = 1;
; 	//MCU_mute();
; 	//delay_ms(200);
; 		//decoder_power_off();
; 		//delay_ms(200);
; 	};
	.dbline 648
;    }
L150:
	.dbline 649
L140:
	.dbline 649
	.dbline 651
L132:
	.dbline 577
	xjmp L131
X22:
	.dbline -2
	.dbline 652
;   };
;   
;  }
; }
L125:
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.area bss(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\main.c
_work_mode1::
	.blkb 1
	.dbsym s work_mode1 _work_mode1 c
_last_key::
	.blkb 1
	.dbsym s last_key _last_key c
_uicc_code::
	.blkb 1
	.dbsym s uicc_code _uicc_code c
_g_avtv::
	.blkb 1
	.dbsym s g_avtv _g_avtv c
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\main.c
L130:
	.blkb 6
	.area idata
	.byte 32,32,'D,'V,'D,0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\AT980\main.c

⌨️ 快捷键说明

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