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

📄 radio.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0590 000F              lsl R16
 0592 111F              rol R17
 0594 080F              add R16,R24
 0596 191F              adc R17,R25
 0598 0E940000          xcall _EEPROMReadBytes
 059C                   .dbline 337
                       ;         }
 059C 24C0              xjmp L130
 059E                 L129:
 059E                   .dbline 339
                       ;         else
                       ;         {
 059E                   .dbline 340
                       ;             if( station_no == 0 )
 059E 20900000          lds R2,_station_no
 05A2 2220              tst R2
 05A4 21F4              brne L135
 05A6                   .dbline 341
                       ;                 station_no = MAX_FM_STATION-1;
 05A6 8DE1              ldi R24,29
 05A8 80930000          sts _station_no,R24
 05AC 05C0              xjmp L136
 05AE                 L135:
 05AE                   .dbline 343
                       ;             else
                       ;                 station_no--;
 05AE 80910000          lds R24,_station_no
 05B2 8150              subi R24,1
 05B4 80930000          sts _station_no,R24
 05B8                 L136:
 05B8                   .dbline 344
                       ;             EEPROMwrite((int)&(gps.ps_fm_no),station_no);
 05B8 20910000          lds R18,_station_no
 05BC 00E0              ldi R16,<_gps+2
 05BE 10E0              ldi R17,>_gps+2
 05C0 0E940000          xcall _EEPROMwrite
 05C4                   .dbline 345
                       ;             EEPROM_READ((int)&gps.ps_fm_station[station_no],freq);
 05C4 82E0              ldi R24,2
 05C6 90E0              ldi R25,0
 05C8 8883              std y+0,R24
 05CA 9983              std y+1,R25
 05CC 20E0              ldi R18,<_freq
 05CE 30E0              ldi R19,>_freq
 05D0 80E0              ldi R24,<_gps+8
 05D2 90E0              ldi R25,>_gps+8
 05D4 00910000          lds R16,_station_no
 05D8 1127              clr R17
 05DA 000F              lsl R16
 05DC 111F              rol R17
 05DE 080F              add R16,R24
 05E0 191F              adc R17,R25
 05E2 0E940000          xcall _EEPROMReadBytes
 05E6                   .dbline 346
 05E6                 L130:
 05E6                   .dbline 346
                       ;         };
 05E6                   .dbline 347
                       ;         save_fre();
 05E6 0CDD              xcall _save_fre
 05E8                   .dbline 348
                       ;         init_radio();
 05E8 0E940000          xcall _init_radio
 05EC                   .dbline 349
                       ;         display_type = DIS_FREQUENCY;
 05EC 2224              clr R2
 05EE 20920000          sts _display_type,R2
 05F2                   .dbline 350
                       ;         break;
 05F2 35C2              xjmp L26
 05F4                 L139:
 05F4                   .dbline 354
                       ;     
                       ;     case RD_SKIPF:
                       ;         //if(is_search_all_station||is_autosearching) brea
                       ;         is_autosearching = 0;
 05F4 2224              clr R2
 05F6 20920000          sts _is_autosearching,R2
 05FA                   .dbline 355
                       ;         g_ui_tmp_msg_cnt = 10;
 05FA 8AE0              ldi R24,10
 05FC 80930000          sts _g_ui_tmp_msg_cnt,R24
 0600                   .dbline 356
                       ;         if(amfm_flag)
 0600 20900000          lds R2,_amfm_flag
 0604 2220              tst R2
 0606 F9F0              breq L140
 0608                   .dbline 357
                       ;         {
 0608                   .dbline 358
                       ;             station_no=(station_no+1)%MAX_AM_STATION;
 0608 14E1              ldi R17,20
 060A 00910000          lds R16,_station_no
 060E 0F5F              subi R16,255    ; addi 1
 0610 0E940000          xcall mod8u
 0614 00930000          sts _station_no,R16
 0618                   .dbline 359
                       ;             EEPROMwrite((int)&(gps.ps_am_no),station_no);
 0618 202F              mov R18,R16
 061A 00E0              ldi R16,<_gps+3
 061C 10E0              ldi R17,>_gps+3
 061E 0E940000          xcall _EEPROMwrite
 0622                   .dbline 360
                       ;             EEPROM_READ((int)&gps.ps_am_station[station_no],freq);
 0622 82E0              ldi R24,2
 0624 90E0              ldi R25,0
 0626 8883              std y+0,R24
 0628 9983              std y+1,R25
 062A 20E0              ldi R18,<_freq
 062C 30E0              ldi R19,>_freq
 062E 80E0              ldi R24,<_gps+68
 0630 90E0              ldi R25,>_gps+68
 0632 00910000          lds R16,_station_no
 0636 1127              clr R17
 0638 000F              lsl R16
 063A 111F              rol R17
 063C 080F              add R16,R24
 063E 191F              adc R17,R25
 0640 0E940000          xcall _EEPROMReadBytes
 0644                   .dbline 361
                       ;         }
 0644 1EC0              xjmp L141
 0646                 L140:
 0646                   .dbline 363
                       ;         else
                       ;         {
 0646                   .dbline 364
                       ;             station_no=(station_no+1)%MAX_FM_STATION;
 0646 1EE1              ldi R17,30
 0648 00910000          lds R16,_station_no
 064C 0F5F              subi R16,255    ; addi 1
 064E 0E940000          xcall mod8u
 0652 00930000          sts _station_no,R16
 0656                   .dbline 365
                       ;             EEPROMwrite((int)&(gps.ps_fm_no),station_no);
 0656 202F              mov R18,R16
 0658 00E0              ldi R16,<_gps+2
 065A 10E0              ldi R17,>_gps+2
 065C 0E940000          xcall _EEPROMwrite
 0660                   .dbline 366
                       ;             EEPROM_READ((int)&gps.ps_fm_station[station_no],freq);
 0660 82E0              ldi R24,2
 0662 90E0              ldi R25,0
 0664 8883              std y+0,R24
 0666 9983              std y+1,R25
 0668 20E0              ldi R18,<_freq
 066A 30E0              ldi R19,>_freq
 066C 80E0              ldi R24,<_gps+8
 066E 90E0              ldi R25,>_gps+8
 0670 00910000          lds R16,_station_no
 0674 1127              clr R17
 0676 000F              lsl R16
 0678 111F              rol R17
 067A 080F              add R16,R24
 067C 191F              adc R17,R25
 067E 0E940000          xcall _EEPROMReadBytes
 0682                   .dbline 367
                       ;         }
 0682                 L141:
 0682                   .dbline 368
                       ;         save_fre();
 0682 BEDC              xcall _save_fre
 0684                   .dbline 369
                       ;         init_radio();
 0684 0E940000          xcall _init_radio
 0688                   .dbline 370
                       ;         display_type = DIS_FREQUENCY;
 0688 2224              clr R2
 068A 20920000          sts _display_type,R2
 068E                   .dbline 371
                       ;         break;
 068E E7C1              xjmp L26
 0690                 L146:
 0690                   .dbline 374
                       ; 
                       ;     case RD_STORE:
                       ;         if(is_autosearching) break;
 0690 20900000          lds R2,_is_autosearching
 0694 2220              tst R2
 0696 09F0              breq L147
 0698                   .dbline 374
 0698 E2C1              xjmp L26
 069A                 L147:
 069A                   .dbline 375
                       ;         if(display_type != RADIO_STORE)
 069A 80910000          lds R24,_display_type
 069E 8E30              cpi R24,14
 06A0 81F1              breq L149
 06A2                   .dbline 376
                       ;         {
 06A2                   .dbline 378
                       ;         //  flashtime = 0;
                       ;             display_type = RADIO_STORE;
 06A2 8EE0              ldi R24,14
 06A4 80930000          sts _display_type,R24
 06A8                   .dbline 379
                       ;             radio_count = station_no+2;
 06A8 80910000          lds R24,_station_no
 06AC 9927              clr R25
 06AE 0296              adiw R24,2
 06B0 90930100          sts _radio_count+1,R25
 06B4 80930000          sts _radio_count,R24
 06B8                   .dbline 380
                       ;             if(amfm_flag)
 06B8 20900000          lds R2,_amfm_flag
 06BC 2220              tst R2
 06BE 79F0              breq L151
 06C0                   .dbline 381
                       ;             {
 06C0                   .dbline 382
                       ;               if(radio_count>MAX_AM_STATION)
 06C0 84E1              ldi R24,20
 06C2 90E0              ldi R25,0
 06C4 30900100          lds R3,_radio_count+1
 06C8 20900000          lds R2,_radio_count
 06CC 8215              cp R24,R2
 06CE 9305              cpc R25,R3
 06D0 A0F4              brsh L152
 06D2                   .dbline 383
                       ;                 radio_count = 1;
 06D2 81E0              ldi R24,1
 06D4 90930100          sts _radio_count+1,R25
 06D8 80930000          sts _radio_count,R24
 06DC                   .dbline 385
                       ;         
                       ;             }
 06DC 0EC0              xjmp L152
 06DE                 L151:
 06DE                   .dbline 387
                       ;             else
                       ;             {
 06DE                   .dbline 388
                       ;               if(radio_count>MAX_FM_STATION)
 06DE 8EE1              ldi R24,30
 06E0 90E0              ldi R25,0
 06E2 30900100          lds R3,_radio_count+1
 06E6 20900000          lds R2,_radio_count
 06EA 8215              cp R24,R2
 06EC 9305              cpc R25,R3
 06EE 28F4              brsh L155
 06F0                   .dbline 389
                       ;                 radio_count = 1;
 06F0 81E0              ldi R24,1
 06F2 90930100          sts _radio_count+1,R25
 06F6 80930000          sts _radio_count,R24
 06FA                 L155:
 06FA                   .dbline 391
                       ;              
                       ;             }
 06FA                 L152:
 06FA                   .dbline 392
                       ;             g_ui_tmp_msg_cnt = 20;
 06FA 84E1              ldi R24,20
 06FC 80930000          sts _g_ui_tmp_msg_cnt,R24
 0700                   .dbline 395
                       ;         
                       ;             //store_bit = 0;
                       ;         }
 0700 AEC1              xjmp L26
 0702                 L149:
 0702                   .dbline 397
                       ;         else
                       ;         {
 0702                   .dbline 398
                       ;             if(radio_count!=0)
 0702 30900100          lds R3,_radio_count+1
 0706 20900000          lds R2,_radio_count
 070A 2220              tst R2
 070C 19F4              brne X13
 070E 3320              tst R3
 0710 09F4              brne X14
 0712 37C0              xjmp L157
 0714                 X14:
 0714                 X13:
 0714                   .dbline 399
                       ;             {
 0714                   .dbline 400
                       ;               station_no=radio_count-1;
 0714 C101              movw R24,R2
 0716 0197              sbiw R24,1
 0718 80930000          sts _station_no,R24
 071C                   .dbline 401
                       ;               if(amfm_flag)
 071C 20900000          lds R2,_amfm_flag
 0720 2220              tst R2
 0722 C1F0              breq L159
 0724                   .dbline 402
                       ;               {
 0724                   .dbline 403
                       ;                 EEPROM_WRITE((int)&gps.ps_am_station[station_no],freq);         
 0724 82E0              ldi R24,2
 0726 90E0              ldi R25,0
 0728 8883              std y+0,R24
 072A 9983              std y+1,R25
 072C 20E0              ldi R18,<_freq
 072E 30E0              ldi R19,>_freq
 0730 80E0              ldi R24,<_gps+68
 0732 90E0              ldi R25,>_gps+68
 0734 00910000          lds R16,_station_no
 0738 1127              clr R17
 073A 000F              lsl R16
 073C 111F              rol R17
 073E 080F              add R16,R24
 0740 191F              adc R17,R25
 0742 0E940000          xcall _EEPROMWriteBytes
 0746                   .dbline 404
                       ;                 EEPROMwrite((int)&gps.ps_am_no,station_no);
 0746 20910000          lds R18,_station_no
 074A 00E0              ldi R16,<_gps+3
 074C 10E0              ldi R17,>_gps+3
 074E 0E940000          xcall _EEPROMwrite
 0752                   .dbline 405
                       ;               }
 0752 17C0              xjmp L160
 0754                 L159:
 0754                   .dbline 407
                 

⌨️ 快捷键说明

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