📄 radio.lis
字号:
; {
0296 .dbline 146
; pty_search_type = (unsigned char)((rds_data.B_word>>5)&0x001f);
0296 25E0 ldi R18,5
0298 30E0 ldi R19,0
029A 10910300 lds R17,_rds_data+2+1
029E 00910200 lds R16,_rds_data+2
02A2 0E940000 xcall lsr16
02A6 C801 movw R24,R16
02A8 8F71 andi R24,31
02AA 9070 andi R25,0
02AC 80930100 sts _rds_dis_string+1,R24
02B0 .dbline 147
; if((pty_search_type!=PTY_ALARM)&&(pty_search_type>PTY_OTHER_M))
02B0 8F31 cpi R24,31
02B2 A1F0 breq L62
02B4 8FE0 ldi R24,15
02B6 20900100 lds R2,_rds_dis_string+1
02BA 8215 cp R24,R2
02BC 78F4 brsh L62
02BE .dbline 148
; {
02BE .dbline 149
; pty_search_type = PTY_NONE;
02BE 2224 clr R2
02C0 20920100 sts _rds_dis_string+1,R2
02C4 .dbline 150
; };
02C4 .dbline 150
02C4 .dbline 151
; }
02C4 0BC0 xjmp L62
02C6 L63:
02C6 .dbline 153
; else
; pty_search_type = PTY_NONE;
02C6 2224 clr R2
02C8 20920100 sts _rds_dis_string+1,R2
02CC .dbline 154
; }
02CC 07C0 xjmp L62
02CE L61:
02CE .dbline 156
; else
; {
02CE .dbline 157
; rds_init();
02CE 0E940000 xcall _rds_init
02D2 .dbline 158
; open_rds();
02D2 0E940000 xcall _open_rds
02D6 .dbline 159
; pty_search_type = PTY_NONE;
02D6 2224 clr R2
02D8 20920100 sts _rds_dis_string+1,R2
02DC .dbline 160
02DC L62:
02DC .dbline 160
; };
02DC .dbline 161
; rds_display_type = DIS_PTY;
02DC 82E0 ldi R24,2
02DE 80930000 sts _rds_display_type,R24
02E2 .dbline 162
; display_type = rds_display_type;
02E2 282E mov R2,R24
02E4 20920000 sts _display_type,R2
02E8 .dbline 163
; }
02E8 BAC3 xjmp L26
02EA L59:
02EA .dbline 169
; // else if(pty_is_searching==2) //the 3rd
; // {
; // pty_is_searching = 0;
; // is_autosearching = 0;
; // }
; else if(pty_is_searching == 1) //the 2rd
02EA 80910000 lds R24,_pty_is_searching
02EE 8130 cpi R24,1
02F0 09F0 breq X7
02F2 B5C3 xjmp L26
02F4 X7:
02F4 .dbline 170
; {
02F4 .dbline 171
; pty_is_searching = 2;
02F4 82E0 ldi R24,2
02F6 80930000 sts _pty_is_searching,R24
02FA .dbline 172
; search_ok = 0;
02FA 2224 clr R2
02FC 20920000 sts _search_ok,R2
0300 .dbline 173
; search_dir = 1;
0300 81E0 ldi R24,1
0302 80930000 sts _search_dir,R24
0306 .dbline 174
; is_autosearching = 1;
0306 80930000 sts _is_autosearching,R24
030A .dbline 175
; autosrch_step = AUTOSRCH_STEP5;
030A 84E0 ldi R24,4
030C 80930000 sts _autosrch_step,R24
0310 .dbline 176
; g_ui_tmp_msg_cnt = 0;
0310 20920000 sts _g_ui_tmp_msg_cnt,R2
0314 .dbline 177
; pty_search_delay = 30;
0314 8EE1 ldi R24,30
0316 80930200 sts _rds_dis_string+2,R24
031A .dbline 178
; };
031A .dbline 178
031A .dbline 179
; break;
031A A1C3 xjmp L26
031C L78:
031C .dbline 186
; #endif
; case RD_AUTO_SEARCH_F:
; //case RD_FP_SEARCH_F:
; #ifdef SGJM_RDS
; //if(pty_is_searching) break;
; #endif
; display_type = DIS_FREQUENCY;
031C 2224 clr R2
031E 20920000 sts _display_type,R2
0322 .dbline 188
;
; g_ui_tmp_msg_cnt = 0;
0322 20920000 sts _g_ui_tmp_msg_cnt,R2
0326 .dbline 189
; search_ok = 0;
0326 20920000 sts _search_ok,R2
032A .dbline 190
; search_dir = 1;
032A 81E0 ldi R24,1
032C 80930000 sts _search_dir,R24
0330 .dbline 191
; autosrch_step = AUTOSRCH_STEP5;
0330 84E0 ldi R24,4
0332 80930000 sts _autosrch_step,R24
0336 .dbline 192
; is_autosearching = 1;
0336 81E0 ldi R24,1
0338 80930000 sts _is_autosearching,R24
033C .dbline 193
; break;
033C 90C3 xjmp L26
033E L79:
033E .dbline 198
; case RD_AUTO_SEARCH_R:
; #ifdef SGJM_RDS
; //if(pty_is_searching) break;
; #endif
; display_type = DIS_FREQUENCY;
033E 2224 clr R2
0340 20920000 sts _display_type,R2
0344 .dbline 199
; search_ok = 0;
0344 20920000 sts _search_ok,R2
0348 .dbline 200
; search_dir = 0;
0348 20920000 sts _search_dir,R2
034C .dbline 201
; autosrch_step = AUTOSRCH_STEP5;
034C 84E0 ldi R24,4
034E 80930000 sts _autosrch_step,R24
0352 .dbline 202
; is_autosearching = 1;;
0352 81E0 ldi R24,1
0354 80930000 sts _is_autosearching,R24
0358 .dbline 202
0358 .dbline 203
; g_ui_tmp_msg_cnt = 0;
0358 20920000 sts _g_ui_tmp_msg_cnt,R2
035C .dbline 205
; //turnauto_serach
; break;
035C 80C3 xjmp L26
035E L80:
035E .dbline 208
;
; case RD_FMAM:
; is_autosearching = 0;
035E 2224 clr R2
0360 20920000 sts _is_autosearching,R2
0364 .dbline 209
; radio_is_muted = 1;
0364 81E0 ldi R24,1
0366 80930000 sts _radio_is_muted,R24
036A .dbline 210
; mute_radio();
036A 0E940000 xcall _mute_radio
036E .dbline 212
; #ifdef SGJM_RDS
; close_rds();
036E 0E940000 xcall _close_rds
0372 .dbline 213
; rds_display_type = 0;
0372 2224 clr R2
0374 20920000 sts _rds_display_type,R2
0378 .dbline 215
; #endif
; if(amfm_flag)
0378 20900000 lds R2,_amfm_flag
037C 2220 tst R2
037E 21F0 breq L81
0380 .dbline 216
; {
0380 .dbline 217
; amfm_flag = 0;
0380 2224 clr R2
0382 20920000 sts _amfm_flag,R2
0386 .dbline 218
; }
0386 03C0 xjmp L82
0388 L81:
0388 .dbline 220
; else
; {
0388 .dbline 221
; amfm_flag = 1;
0388 81E0 ldi R24,1
038A 80930000 sts _amfm_flag,R24
038E .dbline 222
038E L82:
038E .dbline 222
; };
038E .dbline 223
; EEPROMwrite((int)&(gps.ps_amfm_flag),amfm_flag);
038E 20910000 lds R18,_amfm_flag
0392 00E0 ldi R16,<_gps
0394 10E0 ldi R17,>_gps
0396 0E940000 xcall _EEPROMwrite
039A .dbline 224
; init_radio();
039A 0E940000 xcall _init_radio
039E .dbline 226
;
; break;
039E 5FC3 xjmp L26
03A0 L83:
03A0 .dbline 229
;
; case RD_UP:
; if(display_type == RADIO_STORE)
03A0 80910000 lds R24,_display_type
03A4 8E30 cpi R24,14
03A6 51F5 brne L84
03A8 .dbline 230
; {
03A8 .dbline 231
; if(amfm_flag)
03A8 20900000 lds R2,_amfm_flag
03AC 2220 tst R2
03AE 69F0 breq L86
03B0 .dbline 232
; radio_count = radio_count%MAX_AM_STATION;
03B0 24E1 ldi R18,20
03B2 30E0 ldi R19,0
03B4 10910100 lds R17,_radio_count+1
03B8 00910000 lds R16,_radio_count
03BC 0E940000 xcall mod16u
03C0 10930100 sts _radio_count+1,R17
03C4 00930000 sts _radio_count,R16
03C8 0CC0 xjmp L87
03CA L86:
03CA .dbline 234
; else
; radio_count = radio_count%MAX_FM_STATION;
03CA 2EE1 ldi R18,30
03CC 30E0 ldi R19,0
03CE 10910100 lds R17,_radio_count+1
03D2 00910000 lds R16,_radio_count
03D6 0E940000 xcall mod16u
03DA 10930100 sts _radio_count+1,R17
03DE 00930000 sts _radio_count,R16
03E2 L87:
03E2 .dbline 235
; radio_count = radio_count+1;
03E2 90910100 lds R25,_radio_count+1
03E6 80910000 lds R24,_radio_count
03EA 0196 adiw R24,1
03EC 90930100 sts _radio_count+1,R25
03F0 80930000 sts _radio_count,R24
03F4 .dbline 236
; g_ui_tmp_msg_cnt = 30;
03F4 8EE1 ldi R24,30
03F6 80930000 sts _g_ui_tmp_msg_cnt,R24
03FA .dbline 237
; break;
03FA 31C3 xjmp L26
03FC L84:
03FC .dbline 240
; }
; #ifdef SGJM_RDS
; if(pty_is_searching == 1)
03FC 80910000 lds R24,_pty_is_searching
0400 8130 cpi R24,1
0402 09F0 breq X8
0404 2CC3 xjmp L26
0406 X8:
0406 .dbline 241
; {
0406 .dbline 243
;
; if(pty_search_type == PTY_ALARM)
0406 80910100 lds R24,_rds_dis_string+1
040A 8F31 cpi R24,31
040C 21F4 brne L90
040E .dbline 244
; pty_search_type = PTY_NONE;
040E 2224 clr R2
0410 20920100 sts _rds_dis_string+1,R2
0414 24C3 xjmp L26
0416 L90:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -