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

📄 radio.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                         .module radio.c
                         .area text(rom, con, rel)
 0000                   .dbfile D:\avrmcu\AT980\bu2624\radio.c
 0000                   .dbfunc s save_fre _save_fre fI
                         .even
 0000                 _save_fre::
 0000 2297              sbiw R28,2
 0002                   .dbline -1
 0002                   .dbline 37
                       ; #include "..\bu2624\bu2624.h"
                       ; #include "..\bu1923\bu1923.h"
                       ; #include "..\main.h"
                       ; #include <iom163.h>
                       ; #include "..\io.h"
                       ; #include <eeprom.h>
                       ; extern  NV_SETTINGS gps;
                       ; extern unsigned int  freq;
                       ; extern unsigned char g_ui_tmp_msg_cnt;
                       ; extern unsigned char is_autosearching;
                       ; extern unsigned char search_ok;
                       ; extern unsigned char search_dir;
                       ; extern unsigned char autosrch_step;
                       ; extern unsigned char   station_no;
                       ; extern unsigned char *err_msg;
                       ; extern unsigned int radio_count;
                       ; extern unsigned char radio_is_muted;
                       ; extern unsigned char is_stereo;
                       ; extern unsigned int info;
                       ; unsigned char  store_bit;
                       ; 
                       ; #ifdef SGJM_RDS
                       ; extern unsigned char rds_display_type;
                       ; extern unsigned char rds_dis_string[65];
                       ; extern unsigned char pty_is_searching;
                       ; extern unsigned char rds_status;
                       ; extern RDS_DATA_STRUCT rds_data;
                       ; //#define pty_dis_type  rds_dis_string[0]
                       ; //#define pty_search_type rds_dis_string[1]
                       ; //#define pty_search_delay rds_dis_string[2]
                       ; #endif
                       ; extern unsigned char Mchvol;
                       ; 
                       ; extern unsigned char amfm_flag,station_no,display_type;
                       ; extern unsigned char uicc_code,last_key;
                       ; void save_fre(void)
                       ; {
 0002                   .dbline 38
                       ;  if(amfm_flag)
 0002 20900000          lds R2,_amfm_flag
 0006 2220              tst R2
 0008 59F0              breq L3
 000A                   .dbline 39
                       ;    {
 000A                   .dbline 40
                       ;       EEPROM_WRITE((int)&(gps.ps_amfre),freq);
 000A 82E0              ldi R24,2
 000C 90E0              ldi R25,0
 000E 8883              std y+0,R24
 0010 9983              std y+1,R25
 0012 20E0              ldi R18,<_freq
 0014 30E0              ldi R19,>_freq
 0016 00E0              ldi R16,<_gps+6
 0018 10E0              ldi R17,>_gps+6
 001A 0E940000          xcall _EEPROMWriteBytes
 001E                   .dbline 42
                       ; 
                       ;    }
 001E 0AC0              xjmp L4
 0020                 L3:
 0020                   .dbline 44
 0020                   .dbline 45
 0020 82E0              ldi R24,2
 0022 90E0              ldi R25,0
 0024 8883              std y+0,R24
 0026 9983              std y+1,R25
 0028 20E0              ldi R18,<_freq
 002A 30E0              ldi R19,>_freq
 002C 00E0              ldi R16,<_gps+4
 002E 10E0              ldi R17,>_gps+4
 0030 0E940000          xcall _EEPROMWriteBytes
 0034                   .dbline 46
 0034                 L4:
 0034                   .dbline -2
 0034                   .dbline 47
                       ;    else
                       ;    {
                       ;           EEPROM_WRITE((int)&(gps.ps_fmfre),freq);
                       ;    }
                       ; }
 0034                 L2:
 0034 2296              adiw R28,2
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbfunc s find_station_no _find_station_no fI
                       ;            val -> y+2
                       ;              i -> R20
                         .even
 0038                 _find_station_no::
 0038 0E940000          xcall push_gset1
 003C 2497              sbiw R28,4
 003E                   .dbline -1
 003E                   .dbline 49
                       ; unsigned char find_station_no(void)
                       ; {
 003E                   .dbline 52
                       ;     unsigned char i;
                       ;     unsigned int val;
                       ;     if(amfm_flag)
 003E 20900000          lds R2,_amfm_flag
 0042 2220              tst R2
 0044 29F1              breq L8
 0046                   .dbline 53
                       ;     {
 0046                   .dbline 54
                       ;         for(i=0;i<MAX_AM_STATION;i++)
 0046 4427              clr R20
 0048 1EC0              xjmp L13
 004A                 L10:
 004A                   .dbline 55
                       ;         {
 004A                   .dbline 56
                       ;             EEPROM_READ((int)&gps.ps_am_station[i],val);
 004A 82E0              ldi R24,2
 004C 90E0              ldi R25,0
 004E 8883              std y+0,R24
 0050 9983              std y+1,R25
 0052 CE01              movw R24,R28
 0054 0296              adiw R24,2
 0056 9C01              movw R18,R24
 0058 80E0              ldi R24,<_gps+68
 005A 90E0              ldi R25,>_gps+68
 005C 042F              mov R16,R20
 005E 1127              clr R17
 0060 000F              lsl R16
 0062 111F              rol R17
 0064 080F              add R16,R24
 0066 191F              adc R17,R25
 0068 0E940000          xcall _EEPROMReadBytes
 006C                   .dbline 57
                       ;             if(val == freq)
 006C 30900100          lds R3,_freq+1
 0070 20900000          lds R2,_freq
 0074 4A80              ldd R4,y+2
 0076 5B80              ldd R5,y+3
 0078 4214              cp R4,R2
 007A 5304              cpc R5,R3
 007C 19F4              brne L15
 007E                   .dbline 58
                       ;                 return i;
 007E 042F              mov R16,R20
 0080 1127              clr R17
 0082 2AC0              xjmp L7
 0084                 L15:
 0084                   .dbline 59
 0084                 L11:
 0084                   .dbline 54
 0084 4395              inc R20
 0086                 L13:
 0086                   .dbline 54
 0086 4431              cpi R20,20
 0088 00F3              brlo L10
 008A                   .dbline 59
                       ;         };
 008A                   .dbline 60
                       ;         return 255;
 008A 0FEF              ldi R16,255
 008C 10E0              ldi R17,0
 008E 24C0              xjmp L7
 0090                 L8:
 0090                   .dbline 63
                       ;     }
                       ;     else
                       ;     {
 0090                   .dbline 64
                       ;         for(i=0;i<MAX_FM_STATION;i++)
 0090 4427              clr R20
 0092 1EC0              xjmp L20
 0094                 L17:
 0094                   .dbline 65
                       ;         {
 0094                   .dbline 66
                       ;              EEPROM_READ((int)&gps.ps_fm_station[i],val);
 0094 82E0              ldi R24,2
 0096 90E0              ldi R25,0
 0098 8883              std y+0,R24
 009A 9983              std y+1,R25
 009C CE01              movw R24,R28
 009E 0296              adiw R24,2
 00A0 9C01              movw R18,R24
 00A2 80E0              ldi R24,<_gps+8
 00A4 90E0              ldi R25,>_gps+8
 00A6 042F              mov R16,R20
 00A8 1127              clr R17
 00AA 000F              lsl R16
 00AC 111F              rol R17
 00AE 080F              add R16,R24
 00B0 191F              adc R17,R25
 00B2 0E940000          xcall _EEPROMReadBytes
 00B6                   .dbline 67
                       ;              if(val==freq)
 00B6 30900100          lds R3,_freq+1
 00BA 20900000          lds R2,_freq
 00BE 4A80              ldd R4,y+2
 00C0 5B80              ldd R5,y+3
 00C2 4214              cp R4,R2
 00C4 5304              cpc R5,R3
 00C6 19F4              brne L22
 00C8                   .dbline 68
                       ;                 return i;
 00C8 042F              mov R16,R20
 00CA 1127              clr R17
 00CC 05C0              xjmp L7
 00CE                 L22:
 00CE                   .dbline 69
 00CE                 L18:
 00CE                   .dbline 64
 00CE 4395              inc R20
 00D0                 L20:
 00D0                   .dbline 64
 00D0 4E31              cpi R20,30
 00D2 00F3              brlo L17
 00D4                   .dbline 69
                       ;         };
 00D4                   .dbline 70
                       ;         return 255;
 00D4 0FEF              ldi R16,255
 00D6 10E0              ldi R17,0
 00D8                   .dbline -2
 00D8                 L7:
 00D8 2496              adiw R28,4
 00DA 0E940000          xcall pop_gset1
 00DE                   .dbline 0 ; func end
 00DE 0895              ret
 00E0                   .dbsym l val 2 i
 00E0                   .dbsym r i 20 c
 00E0                   .dbfunc s radio_action _radio_action fI
                         .area func_lit(rom, con, rel)
 0000                 L208:
 0000 AF01              .word `L80
 0002 4803              .word `L146
 0004 9F01              .word `L79
 0006 8E01              .word `L78
                         .area text(rom, con, rel)
 00E0                   .dbfile D:\avrmcu\AT980\bu2624\radio.c
                         .area func_lit(rom, con, rel)
 0008                 L209:
 0008 C503              .word `L165
 000A C503              .word `L165
 000C C503              .word `L165
 000E C503              .word `L165
 0010 C503              .word `L165
 0012 C503              .word `L165
 0014 C503              .word `L165
 0016 C503              .word `L165
 0018 C503              .word `L165
 001A C503              .word `L165
 001C 2F05              .word `L25
 001E 2F05              .word `L25
 0020 2F05              .word `L25
 0022 BA00              .word `L28
 0024 A002              .word `L128
 0026 FA02              .word `L139
 0028 4304              .word `L181
 002A 2F05              .word `L25
 002C 6A02              .word `L119
                         .area text(rom, con, rel)
 00E0                   .dbfile D:\avrmcu\AT980\bu2624\radio.c
                         .area func_lit(rom, con, rel)
 002E                 L210:
 002E 8D02              .word `L123
 0030 2F05              .word `L25
 0032 2F05              .word `L25
 0034 2F05              .word `L25
 0036 C100              .word `L29
 0038 3701              .word `L56
 003A 2804              .word `L178
 003C 2F05              .word `L25
 003E 2F05              .word `L25
 0040 2F05              .word `L25
 0042 2F05              .word `L25
 0044 2F05              .word `L25
 0046 D001              .word `L83
 0048 5C02              .word `L117
 004A 6302              .word `L118
 004C 1902              .word `L99
                         .area text(rom, con, rel)
 00E0                   .dbfile D:\avrmcu\AT980\bu2624\radio.c
                         .area func_lit(rom, con, rel)
 004E                 L55:
 004E 2A01              .word `L53
 0050 0B01              .word `L45
 0052 1201              .word `L47
 0054 1C01              .word `L49
 0056 2301              .word `L51
                         .area text(rom, con, rel)
 00E0                   .dbfile D:\avrmcu\AT980\bu2624\radio.c
                       ;              i -> R20
                         .even
 00E0                 _radio_action::
 00E0 0E940000          xcall push_gset1
 00E4 2297              sbiw R28,2
 00E6                   .dbline -1
 00E6                   .dbline 75
                       ;     }
                       ; }
                       ; 
                       ; void radio_action(void)
                       ; {
 00E6                   .dbline 78
                       ; 
                       ;     unsigned char i;
                       ;     switch(uicc_code)
 00E6 40910000          lds R20,_uicc_code
 00EA 5527              clr R21
 00EC 4133              cpi R20,49
 00EE E0E0              ldi R30,0
 00F0 5E07              cpc R21,R30
 00F2 8CF0              brlt L206

⌨️ 快捷键说明

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