?? vfd.s
字號:
; // printf(rds_dis_string);printf("\n");
; if(rds_status&PS_NAME_EXIST)
lds R2,_rds_status
sbrs R2,0
rjmp L31
.dbline 315
; Set_String(rds_dis_string);
ldi R16,<_rds_dis_string
ldi R17,>_rds_dis_string
xcall _Set_String
xjmp L9
L31:
.dbline 317
; else
; Set_String("NOPSNAME");
ldi R16,<L33
ldi R17,>L33
xcall _Set_String
.dbline 318
; break;
xjmp L9
L34:
.dbline 320
; case DIS_PTY:
; if(pty_is_searching == 2)
lds R24,_pty_is_searching
cpi R24,2
brne L35
.dbline 321
; {
.dbline 322
; if(blink_time<3)
lds R24,_blink_time
cpi R24,3
brsh L37
.dbline 323
; Set_String("PTY");
ldi R16,<L39
ldi R17,>L39
xcall _Set_String
L37:
.dbline 324
; display_digit(freq);
lds R17,_freq+1
lds R16,_freq
xcall _display_digit
.dbline 325
; if(amfm_flag)
lds R2,_amfm_flag
tst R2
breq L40
.dbline 326
; {
.dbline 327
; g_vfd_grid_buffer[2] |= VFD_LED_KHZ;
lds R25,_g_vfd_grid_buffer+4+1
lds R24,_g_vfd_grid_buffer+4
ori R25,64
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 328
; }
xjmp L9
L40:
.dbline 330
; else
; {
.dbline 332
;
; g_vfd_grid_buffer[2] |= VFD_LED_MHZ;
lds R25,_g_vfd_grid_buffer+4+1
lds R24,_g_vfd_grid_buffer+4
ori R25,128
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 333
; g_vfd_grid_buffer[3] |= VFD_LED_DP;
lds R25,_g_vfd_grid_buffer+6+1
lds R24,_g_vfd_grid_buffer+6
ori R25,128
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 334
; };
.dbline 334
.dbline 336
;
; }
xjmp L9
L35:
.dbline 338
; else
; {
.dbline 339
; if(pty_is_searching==1)
lds R24,_pty_is_searching
cpi R24,1
brne L45
.dbline 340
; {
.dbline 341
; if(blink_time>2)
ldi R24,2
lds R2,_blink_time
cp R24,R2
brsh L47
.dbline 342
; break;
xjmp L9
L47:
.dbline 343
; rds_dis_string[5] = pty_search_type;
lds R2,_rds_dis_string+1
sts _rds_dis_string+5,R2
.dbline 344
; }
xjmp L46
L45:
.dbline 346
; else
; {
.dbline 347
; if((rds_status&PTY_EXIST)==0)
lds R2,_rds_status
sbrc R2,1
rjmp L51
.dbline 348
; {
.dbline 349
; Set_String("NO PTY");
ldi R16,<L53
ldi R17,>L53
xcall _Set_String
.dbline 350
; break;
xjmp L9
L51:
.dbline 351
; };
.dbline 352
; rds_dis_string[5] = pty_dis_type;
lds R2,_rds_dis_string
sts _rds_dis_string+5,R2
.dbline 353
; }
L46:
.dbline 355
;
; switch(rds_dis_string[5])
lds R22,_rds_dis_string+5
clr R23
cpi R22,0
ldi R30,0
cpc R23,R30
brge X5
xjmp L55
X5:
ldi R24,31
ldi R25,0
cp R24,R22
cpc R25,R23
brge X6
xjmp L55
X6:
ldi R24,<L94
ldi R25,>L94
movw R30,R22
lsl R30
rol R31
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
X1:
.dbline 356
; {
L59:
.dbline 358
; case PTY_NONE:
; Set_String("NONE");
ldi R16,<L60
ldi R17,>L60
xcall _Set_String
.dbline 359
; break;
xjmp L9
L61:
.dbline 361
; case PTY_NEWS:
; Set_String("NEWS");
ldi R16,<L62
ldi R17,>L62
xcall _Set_String
.dbline 362
; break;
xjmp L9
L63:
.dbline 364
; case PTY_AFFAIRS:
; Set_String("AFFAIRS");
ldi R16,<L64
ldi R17,>L64
xcall _Set_String
.dbline 365
; break;
xjmp L9
L65:
.dbline 367
; case PTY_INFO:
; Set_String("INFO");
ldi R16,<L66
ldi R17,>L66
xcall _Set_String
.dbline 368
; break;
xjmp L9
L67:
.dbline 370
; case PTY_SPORT:
; Set_String("SPORT");
ldi R16,<L68
ldi R17,>L68
xcall _Set_String
.dbline 371
; break;
xjmp L9
L69:
.dbline 373
; case PTY_EDUCATE:
; Set_String("EDUCATE");
ldi R16,<L70
ldi R17,>L70
xcall _Set_String
.dbline 374
; break;
xjmp L9
L71:
.dbline 376
; case PTY_DRAMA:
; Set_String("DRAMA");
ldi R16,<L72
ldi R17,>L72
xcall _Set_String
.dbline 377
; break;
xjmp L9
L73:
.dbline 379
; case PTY_CULTURE:
; Set_String("CULTUTE");
ldi R16,<L74
ldi R17,>L74
xcall _Set_String
.dbline 380
; break;
xjmp L9
L75:
.dbline 382
; case PTY_SCIENCE:
; Set_String("SCIENCE");
ldi R16,<L76
ldi R17,>L76
xcall _Set_String
.dbline 383
; break;
xjmp L9
L77:
.dbline 385
; case PTY_VARIED:
; Set_String("VARIED");
ldi R16,<L78
ldi R17,>L78
xcall _Set_String
.dbline 386
; break;
xjmp L9
L79:
.dbline 388
; case PTY_POP_M:
; Set_String("POP M");
ldi R16,<L80
ldi R17,>L80
xcall _Set_String
.dbline 389
; break;
xjmp L9
L81:
.dbline 391
; case PTY_ROCK_M:
; Set_String("ROCK M");
ldi R16,<L82
ldi R17,>L82
xcall _Set_String
.dbline 392
; break;
xjmp L9
L83:
.dbline 394
; case PTY_EASY_M:
; Set_String("EASY M");
ldi R16,<L84
ldi R17,>L84
xcall _Set_String
.dbline 395
; break;
xjmp L9
L85:
.dbline 397
; case PTY_LIGHT_M:
; Set_String("LIGHT M");
ldi R16,<L86
ldi R17,>L86
xcall _Set_String
.dbline 398
; break;
xjmp L9
L87:
.dbline 400
; case PTY_CLASSICS:
; Set_String("CLASSICS");
ldi R16,<L88
ldi R17,>L88
xcall _Set_String
.dbline 401
; break;
xjmp L9
L89:
.dbline 403
; case PTY_OTHER_M:
; Set_String("OTHER M");
ldi R16,<L90
ldi R17,>L90
xcall _Set_String
.dbline 404
; break;
xjmp L9
L91:
.dbline 406
; case PTY_ALARM:
; Set_String("ALARM");
ldi R16,<L92
ldi R17,>L92
xcall _Set_String
.dbline 407
; break;
xjmp L9
L55:
.dbline 409
; default:
; Set_String("OTHER");
ldi R16,<L93
ldi R17,>L93
xcall _Set_String
.dbline 410
; break;
.dbline 411
; };
.dbline 412
; }
.dbline 413
; break;
xjmp L9
L95:
.dbline 415
; case DIS_RT:
; if(rds_status&RT_EXIST)
lds R2,_rds_status
sbrs R2,2
rjmp L96
.dbline 416
; {
.dbline 417
; r2=Set_String(&rds_dis_string[rds_dis_buffer[2]]);
ldi R24,<_rds_dis_string
ldi R25,>_rds_dis_string
lds R16,_rds_dis_buffer+2
clr R17
add R16,R24
adc R17,R25
xcall _Set_String
movw R2,R16
mov R20,R2
.dbline 419
; //r2 = display_RT(rds_dis_buffer[2]);
; if(!blink_time)
lds R2,_blink_time
tst R2
breq X7
xjmp L9
X7:
.dbline 420
; {
.dbline 421
; if(r2)
tst R20
breq L101
.dbline 422
; rds_dis_buffer[2]++; //
lds R24,_rds_dis_buffer+2
subi R24,255 ; addi 1
sts _rds_dis_buffer+2,R24
xjmp L9
L101:
.dbline 424
; else
; rds_dis_buffer[2] = 0; //oa
clr R2
sts _rds_dis_buffer+2,R2
.dbline 426
;
; }
.dbline 427
; }
xjmp L9
L96:
.dbline 429
; else
; Set_String("NO RT");
ldi R16,<L105
ldi R17,>L105
xcall _Set_String
.dbline 430
; break;
xjmp L9
L106:
.dbline 433
;
; case DIS_CT:
; if(rds_status&CT_EXIST)
lds R2,_rds_status
sbrs R2,3
rjmp L107
.dbline 434
; {
.dbline 435
; g_vfd_grid_buffer[7] = num_trans(rds_dis_string[0]/10);
ldi R17,10
lds R16,_rds_dis_string
xcall div8s
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+14+1,R3
sts _g_vfd_grid_buffer+14,R2
.dbline 436
; g_vfd_grid_buffer[6] = ((num_trans(rds_dis_string[0]%10)|VFD_LED_COL));
ldi R17,10
lds R16,_rds_dis_string
xcall mod8s
xcall _num_trans
movw R2,R16
movw R24,R2
ori R25,64
sts _g_vfd_grid_buffer+12+1,R25
sts _g_vfd_grid_buffer+12,R24
.dbline 437
; g_vfd_grid_buffer[5] = num_trans(rds_dis_string[1]/10);
ldi R17,10
lds R16,_rds_dis_string+1
xcall div8s
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+10+1,R3
sts _g_vfd_grid_buffer+10,R2
.dbline 438
; g_vfd_grid_buffer[4] = num_trans(rds_dis_string[1]%10);
ldi R17,10
lds R16,_rds_dis_string+1
xcall mod8s
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+8+1,R3
sts _g_vfd_grid_buffer+8,R2
.dbline 440
;
; }
xjmp L9
L107:
.dbline 442
; else
; Set_String("NO CT");
ldi R16,<L115
ldi R17,>L115
xcall _Set_String
.dbline 445
;
;
; break;
xjmp L9
L116:
.dbline 449
;
; #endif
; case RADIO_STORE:
; if(blink_time<2)
lds R24,_blink_time
cpi R24,2
brsh L117
.dbline 450
; {
.dbline 451
; Set_String("STORE");
ldi R16,<L119
ldi R17,>L119
xcall _Set_String
.dbline 457
L117:
.dbline 457
; //g_vfd_grid_buffer[9] |= VFD_alpha_S;
; //g_vfd_grid_buffer[8] |= VFD_alpha_T;
; //g_vfd_grid_buffer[7] |= VFD_alpha_O;
; //g_vfd_grid_buffer[6] |= VFD_alpha_R;
; //g_vfd_grid_buffer[5] |= VFD_alpha_E;
; };
.dbline 458
; if(radio_count ==0)
lds R3,_radio_count+1
lds R2,_radio_count
tst R2
brne L120
tst R3
brne L120
.dbline 459
; {
.dbline 460
; g_vfd_grid_buffer[3] = VFD_alpha_DASH;
ldi R24,8192
ldi R25,32
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 461
; g_vfd_grid_buffer[2] = VFD_alpha_DASH;
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 462
; }
xjmp L9
L120:
.dbline 464
; else
; {
.dbline 465
; display_digit(radio_count);
lds R17,_radio_count+1
lds R16,_radio_count
xcall _display_digit
.dbline 468
; //g_vfd_grid_buffer[3] |= num_xlate[radio_count/10];
; //g_vfd_grid_buffer[2] |= num_xlate[radio_count%10];
; };
.dbline 468
.dbline 469
; break;
L8:
L9:
.dbline 471
;
; };
.dbline 472
; if((!is_autosearching) &&(!radio_dout()))
lds R2,_is_autosearching
tst R2
brne L126
sbic 0x10,7
rjmp L126
.dbline 473
; g_vfd_grid_buffer[8] |= VFD_LED_STEREO;
lds R25,_g_vfd_grid_buffer+16+1
lds R24,_g_vfd_grid_buffer+16
ori R25,64
sts _g_vfd_grid_buffer+16+1,R25
sts _g_vfd_grid_buffer+16,R24
L126:
.dbline 474
; if(is_autosearching)
lds R2,_is_autosearching
tst R2
breq L129
.dbline 475
; {
.dbline 476
; if(blink_time<2)
lds R24,_blink_time
cpi R24,2
brsh L131
.dbline 477
; g_vfd_grid_buffer[0] |= VFD_LED_AUTO;
lds R25,_g_vfd_grid_buffer+1
lds R24,_g_vfd_grid_buffer
ori R24,32
sts _g_vfd_grid_buffer+1,R25
sts _g_vfd_grid_buffer,R24
L131:
.dbline 478
L129:
.dbline -2
.dbline 479
; }
; }
L7:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r r 22 c
.dbsym r r2 20 c
.dbfunc s ui_fp_update_handler _ui_fp_update_handler fI
.area func_lit(rom, con, rel)
L216:
.word `L145
.word `L140
.word `L140
.word `L140
.word `L152
.word `L160
.word `L169
.word `L140
.word `L168
.word `L140
.word `L140
.word `L181
.word `L140
.word `L190
.word `L143
.area text(rom, con, rel)
.dbfile D:\avrmcu\AT980\AT980\vfd.c
.area func_lit(rom, con, rel)
L202:
.word `L194
.word `L196
.word `L198
.word `L200
.area text(rom, con, rel)
.dbfile D:\avrmcu\AT980\AT980\vfd.c
.area func_lit(rom, con, rel)
L215:
.word `L210
.word `L211
.word `L212
.word `L213
.word `L214
.area text(rom, con, rel)
.dbfile D:\avrmcu\AT980\AT980\vfd.c
; value -> R22,R23
; i -> R20
.even
_ui_fp_update_handler::
xcall push_gset2
.dbline -1
.dbline 482
;
; void ui_fp_update_handler(void)
; {
.dbline 486
; unsigned char i;
; unsigned int value;
; #ifndef TEST_KEY
; if(work_mode!=0)
lds R2,_work_mode
tst R2
brne X11
xjmp L134
X11:
.dbline 488
; #endif
; {
.dbline 489
; for(i=0;i<VFD_BUFFER_SIZE;i++)
clr R20
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -