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

📄 bu2624.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 039E A9F0              breq L68
 03A0                   .dbline 312
                       ;         {
 03A0                   .dbline 313
                       ;             if(freq <FMreq_MAX)
 03A0 90910100          lds R25,_freq+1
 03A4 80910000          lds R24,_freq
 03A8 8033              cpi R24,48
 03AA EAE2              ldi R30,42
 03AC 9E07              cpc R25,R30
 03AE 30F4              brsh L70
 03B0                   .dbline 314
                       ;                 freq += FMreq_STEP;
 03B0 0596              adiw R24,5
 03B2 90930100          sts _freq+1,R25
 03B6 80930000          sts _freq,R24
 03BA 1DC0              xjmp L69
 03BC                 L70:
 03BC                   .dbline 316
                       ;             else 
                       ;                 freq = FMreq_MIN;
 03BC 8EE2              ldi R24,8750
 03BE 92E2              ldi R25,34
 03C0 90930100          sts _freq+1,R25
 03C4 80930000          sts _freq,R24
 03C8                   .dbline 317
                       ;         }
 03C8 16C0              xjmp L69
 03CA                 L68:
 03CA                   .dbline 319
                       ;         else
                       ;         {
 03CA                   .dbline 320
                       ;             if(freq > FMreq_MIN)
 03CA 8EE2              ldi R24,8750
 03CC 92E2              ldi R25,34
 03CE 30900100          lds R3,_freq+1
 03D2 20900000          lds R2,_freq
 03D6 8215              cp R24,R2
 03D8 9305              cpc R25,R3
 03DA 38F4              brsh L72
 03DC                   .dbline 321
                       ;                 freq -= FMreq_STEP;
 03DC C101              movw R24,R2
 03DE 0597              sbiw R24,5
 03E0 90930100          sts _freq+1,R25
 03E4 80930000          sts _freq,R24
 03E8 06C0              xjmp L73
 03EA                 L72:
 03EA                   .dbline 323
                       ;             else 
                       ;                 freq = FMreq_MAX;
 03EA 80E3              ldi R24,10800
 03EC 9AE2              ldi R25,42
 03EE 90930100          sts _freq+1,R25
 03F2 80930000          sts _freq,R24
 03F6                 L73:
 03F6                   .dbline 324
                       ;         }
 03F6                 L69:
 03F6                   .dbline 325
 03F6 25E0              ldi R18,5
 03F8 30E0              ldi R19,0
 03FA 10910100          lds R17,_freq+1
 03FE 00910000          lds R16,_freq
 0402 025D              subi R16,210  ; offset = 1070
 0404 1B4F              sbci R17,251
 0406 0E940000          xcall div16u
 040A 10930E00          sts _In_Pdata+1,R17
 040E 00930D00          sts _In_Pdata,R16
 0412                   .dbline 326
 0412                 L61:
 0412                   .dbline -2
 0412                   .dbline 327
                       ;         In_Pdata = (freq+IF_FM)/5;
                       ;     }
                       ; }
 0412                 L59:
 0412                   .dbline 0 ; func end
 0412 0895              ret
 0414                   .dbfunc s tuner_handsearch _tuner_handsearch fI
                         .even
 0414                 _tuner_handsearch::
 0414                   .dbline -1
 0414                   .dbline 330
                       ; 
                       ; void   tuner_handsearch()
                       ; {
 0414                   .dbline 331
                       ;     radio_is_muted = 1;
 0414 81E0              ldi R24,1
 0416 80930800          sts _radio_is_muted,R24
 041A                   .dbline 332
                       ;     mute_radio();
 041A 7FDE              xcall _mute_radio
 041C                   .dbline 333
                       ;     is_autosearching = 0;
 041C 2224              clr R2
 041E 20920500          sts _is_autosearching,R2
 0422                   .dbline 334
                       ;     change_freq_value();
 0422 6EDF              xcall _change_freq_value
 0424                   .dbline 335
                       ;     send_cmd_to_bu2624();
 0424 6BDE              xcall _send_cmd_to_bu2624
 0426                   .dbline 337
                       ;     #ifdef SGJM_RDS
                       ;     rds_init();
 0426 0E940000          xcall _rds_init
 042A                   .dbline 338
                       ;     display_type = DIS_FREQUENCY;
 042A 2224              clr R2
 042C 20920000          sts _display_type,R2
 0430                   .dbline 339
                       ;     g_ui_tmp_msg_cnt = 10;
 0430 8AE0              ldi R24,10
 0432 80930000          sts _g_ui_tmp_msg_cnt,R24
 0436                   .dbline 342
                       ;     #endif
                       ;     
                       ;     delay_ms(100);
 0436 04E6              ldi R16,100
 0438 10E0              ldi R17,0
 043A 0E940000          xcall _delay_ms
 043E                   .dbline 343
                       ;     radio_is_muted =0;
 043E 2224              clr R2
 0440 20920800          sts _radio_is_muted,R2
 0444                   .dbline 344
                       ;     mute_radio();
 0444 6ADE              xcall _mute_radio
 0446                   .dbline -2
 0446                   .dbline 345
                       ; }
 0446                 L74:
 0446                   .dbline 0 ; func end
 0446 0895              ret
 0448                   .dbfunc s tuner_autosearch _tuner_autosearch fI
                         .area func_lit(rom, con, rel)
 0000                 L109:
 0000 7602              .word `L85
 0002 8002              .word `L86
 0004 9702              .word `L89
 0006 A202              .word `L92
 0008 2403              .word `L108
                         .area text(rom, con, rel)
 0448                   .dbfile D:\avrmcu\AT980\bu2624\bu2624.c
                       ;        Ifcount -> y+0
                         .even
 0448                 _tuner_autosearch::
 0448 0E940000          xcall push_gset3
 044C 2497              sbiw R28,4
 044E                   .dbline -1
 044E                   .dbline 348
                       ; 
                       ; void tuner_autosearch(void)
                       ; {
 044E                   .dbline 351
                       ;     //char i;
                       ;     unsigned long Ifcount;
                       ;     if(search_ok )
 044E 20900600          lds R2,_search_ok
 0452 2220              tst R2
 0454 69F1              breq L76
 0456                   .dbline 352
                       ;     {
 0456                   .dbline 353
                       ;         if(is_autosearching)
 0456 20900500          lds R2,_is_autosearching
 045A 2220              tst R2
 045C 09F4              brne X2
 045E FCC0              xjmp L75
 0460                 X2:
 0460                   .dbline 354
                       ;         {
 0460                   .dbline 355
                       ;             is_autosearching = 0;
 0460 2224              clr R2
 0462 20920500          sts _is_autosearching,R2
 0466                   .dbline 356
                       ;             save_fre();
 0466 0E940000          xcall _save_fre
 046A                   .dbline 365
                       ;             /*if(amfm_flag)
                       ;             {
                       ;                 In_Pdata =((freq+IF_AM)/AMreq_STEP)<<4;
                       ;             }
                       ;             else
                       ;             {
                       ;                 In_Pdata = (freq+IF_FM)/5;
                       ;             }*/
                       ;             Enable_SD_OUT();//  In_Cdata &= (~(COUNTER_START | IF_COUNTER_16MS));   //set cte = 0
 046A 90910C00          lds R25,_In_Cdata+1
 046E 80910B00          lds R24,_In_Cdata
 0472 8F77              andi R24,127
 0474 9F7B              andi R25,191
 0476 90930C00          sts _In_Cdata+1,R25
 047A 80930B00          sts _In_Cdata,R24
 047E                   .dbline 366
                       ;             Disable_IF_OUT();//In_Cdata |= P1_IF_NOOUT;
 047E 8260              ori R24,2
 0480 90930C00          sts _In_Cdata+1,R25
 0484 80930B00          sts _In_Cdata,R24
 0488                   .dbline 367
                       ;             send_cmd_to_bu2624();
 0488 39DE              xcall _send_cmd_to_bu2624
 048A                   .dbline 368
                       ;             radio_is_muted = 0;
 048A 2224              clr R2
 048C 20920800          sts _radio_is_muted,R2
 0490                   .dbline 370
                       ;            
                       ;             if(!amfm_flag)
 0490 20900200          lds R2,_amfm_flag
 0494 2220              tst R2
 0496 09F4              brne L80
 0498                   .dbline 371
                       ;                 switch_audio_channel();
 0498 9EDE              xcall _switch_audio_channel
 049A                 L80:
 049A                   .dbline 372
                       ;             delay_ms(100);
 049A 04E6              ldi R16,100
 049C 10E0              ldi R17,0
 049E 0E940000          xcall _delay_ms
 04A2                   .dbline 373
                       ;             mute_radio();
 04A2 3BDE              xcall _mute_radio
 04A4                   .dbline 376
                       ;           //station_num = 1;
                       ;             #ifdef SGJM_RDS
                       ;             rds_init();
 04A4 0E940000          xcall _rds_init
 04A8                   .dbline 380
                       ;             //rds_status  = 0;
                       ;             //rds_data.syc_flag = 0;
                       ;             //rds_step = SEARCH_SYC_STEP;
                       ;             g_ui_tmp_msg_cnt = 10;
 04A8 8AE0              ldi R24,10
 04AA 80930000          sts _g_ui_tmp_msg_cnt,R24
 04AE                   .dbline 384
                       ;         //  if(pty_is_searching==2)
                       ;         //      pty_search_delay = 67;
                       ;             #endif
                       ;         }
 04AE                   .dbline 385
                       ;         return;
 04AE D4C0              xjmp L75
 04B0                 L76:
 04B0                   .dbline 387
                       ;     }
                       ;     rdelay20ms--;
 04B0 80911200          lds R24,_rdelay20ms
 04B4 8150              subi R24,1
 04B6 80931200          sts _rdelay20ms,R24
 04BA                   .dbline 388
                       ;     switch(autosrch_step)
 04BA A0900700          lds R10,_autosrch_step
 04BE BB24              clr R11
 04C0 80E0              ldi R24,0
 04C2 90E0              ldi R25,0
 04C4 A816              cp R10,R24
 04C6 B906              cpc R11,R25
 04C8 0CF4              brge X3
 04CA C6C0              xjmp L82
 04CC                 X3:
 04CC 84E0              ldi R24,4
 04CE 8A15              cp R24,R10
 04D0 9B05              cpc R25,R11
 04D2 0CF4              brge X4
 04D4 C1C0              xjmp L82
 04D6                 X4:
 04D6 80E0              ldi R24,<L109
 04D8 90E0              ldi R25,>L109
 04DA F501              movw R30,R10
 04DC EE0F              lsl R30
 04DE FF1F              rol R31
 04E0 E80F              add R30,R24
 04E2 F91F              adc R31,R25
 04E4 0590              lpm R0,Z+
 04E6 1490              lpm R1,Z
 04E8 F001              movw R30,R0
 04EA 0994              ijmp
 04EC                 X1:
 04EC                   .dbline 389
                       ;     {
 04EC                 L85:
 04EC                   .dbline 392
                       ;         case AUTOSRCH_STEP1:
                       ;             //printf("step 1\n");
                       ;             switch_fmam(); 
 04EC 8DDE              xcall _switch_fmam
 04EE                   .dbline 393
                       ;             autosrch_step ++;
 04EE 80910700          lds R24,_autosrch_step
 04F2 8F5F              subi R24,255    ; addi 1
 04F4 80930700          sts _autosrch_step,R24
 04F8                   .dbline 394
                       ;             rdelay20ms = 2;
 04F8 82E0              ldi R24,2
 04FA 80931200          sts _rdelay20ms,R24
 04FE                   .dbline 396
                       ;             //if(!ok_count) radio_delay200ms =2;
                       ;             break;
 04FE ACC0              xjmp L83
 0500                 L86:
 0500                   .dbline 400
                       ;             
                       ;         case AUTOSRCH_STEP2:
                       ;                 //step interval 20ms
                       ;             if(rdelay20ms) break;
 0500 20901200          lds R2,_rdelay20ms
 0504 2220              tst R2
 0506 09F0              breq L87
 0508                   .dbline 400

⌨️ 快捷键说明

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