?? vfd.s
字號:
xjmp L139
L136:
.dbline 490
.dbline 491
ldi R24,<_g_vfd_grid_buffer
ldi R25,>_g_vfd_grid_buffer
mov R30,R20
clr R31
lsl R30
rol R31
add R30,R24
adc R31,R25
clr R2
clr R3
std z+0,R2
std z+1,R3
.dbline 495
L137:
.dbline 489
inc R20
L139:
.dbline 489
cpi R20,12
brlo L136
.dbline 496
; {
; g_vfd_grid_buffer[i] = 0;
; #ifdef MORE_THAN_16SEGMENT
; g_vfd_grid_ext_buffer[i] = 0;
; #endif
; }
; blink_time = (blink_time+1)%5;
ldi R17,5
lds R16,_blink_time
subi R16,255 ; addi 1
xcall mod8u
sts _blink_time,R16
.dbline 497
; switch(display_type)
lds R22,_display_type
clr R23
cpi R22,5
ldi R30,0
cpc R23,R30
brge X12
xjmp L140
X12:
ldi R24,19
ldi R25,0
cp R24,R22
cpc R25,R23
brge X13
xjmp L140
X13:
ldi R24,<L216
ldi R25,>L216
movw R30,R22
sbiw R30,5
lsl R30
rol R31
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
X8:
.dbline 498
; {
L143:
.dbline 500
; case DISPLAY_VERSION:
; Set_String("A980R104");
ldi R16,<L144
ldi R17,>L144
xcall _Set_String
.dbline 507
; /*
; R104: MODIFIED BY SGJM IN 2002-10-23
; add SCART AV/TV control
; add RDS
; change 2 SET AV to 1 SET AV
; */
; break;
xjmp L141
L145:
.dbline 528
; #ifdef CLOCK_STANDBY
; case DISPLAY_TIME:
; if(hm_flag||(blink_time<3)) //display_hour
; {
; g_vfd_grid_buffer[7] = num_trans(time_val[0]/10);
; g_vfd_grid_buffer[6] = (num_trans(time_val[0]%10)|VFD_LED_COL);
; };
; if(!hm_flag||(blink_time<3))
; {
; g_vfd_grid_buffer[5] = num_trans(time_val[1]/10);
; g_vfd_grid_buffer[4] = num_trans(time_val[1]%10);
; };
; break;
; #endif
; #ifdef TEST_KEY
; case DISPLAY_KEY:
; display_digit(info);
; break;
; #endif
; case DISPLAY_VOL:
; Set_String("VOL");
ldi R16,<L146
ldi R17,>L146
xcall _Set_String
.dbline 532
; //g_vfd_grid_buffer[9] |= VFD_alpha_V ;
; //g_vfd_grid_buffer[8] |= VFD_alpha_O ;
; //g_vfd_grid_buffer[7] |= VFD_alpha_L ;
; if(Mchvol<60)
lds R24,_Mchvol
cpi R24,60
brsh L147
.dbline 533
; display_digit(Mchvol);
mov R16,R24
clr R17
xcall _display_digit
xjmp L141
L147:
.dbline 535
; else
; {
.dbline 536
; g_vfd_grid_buffer[4] |= VFD_alpha_M ;
lds R25,_g_vfd_grid_buffer+8+1
lds R24,_g_vfd_grid_buffer+8
ori R24,54
ori R25,17
sts _g_vfd_grid_buffer+8+1,R25
sts _g_vfd_grid_buffer+8,R24
.dbline 537
; g_vfd_grid_buffer[3] |= VFD_alpha_A ;
lds R25,_g_vfd_grid_buffer+6+1
lds R24,_g_vfd_grid_buffer+6
ori R24,227
ori R25,17
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 538
; g_vfd_grid_buffer[2] |= VFD_alpha_X ;
lds R25,_g_vfd_grid_buffer+4+1
lds R24,_g_vfd_grid_buffer+4
ori R24,20
ori R25,10
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 539
; };
.dbline 539
.dbline 542
; //g_vfd_grid_buffer[1] |= num_xlate[Mchvol/10];//(Mchvolume-MAX_VOLUME)/10];
; //g_vfd_grid_buffer[0] |= num_xlate[Mchvol%10];//(Mchvolume-MAX_VOLUME)%10];
; break;
xjmp L141
L152:
.dbline 545
;
; case DISPLAY_BASS:
; Set_String("BASS");
ldi R16,<L153
ldi R17,>L153
xcall _Set_String
.dbline 550
; //g_vfd_grid_buffer[9] |= VFD_alpha_B;
; //g_vfd_grid_buffer[8] |= VFD_alpha_A;
; //g_vfd_grid_buffer[7] |= VFD_alpha_S;
; //g_vfd_grid_buffer[6] |= VFD_alpha_S;
; if(Bassvol >=7)
lds R24,_Bassvol
cpi R24,7
brlo L154
.dbline 551
; {
.dbline 552
; g_vfd_grid_buffer[2] = num_trans(Bassvol-7);
mov R16,R24
subi R16,7
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 553
; g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
ldi R24,1224
ldi R25,4
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 554
; }
xjmp L141
L154:
.dbline 556
; else
; {
.dbline 558
; //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
; g_vfd_grid_buffer[2] = num_trans(7-Bassvol);
lds R2,_Bassvol
ldi R16,7
sub R16,R2
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 559
; g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
ldi R24,192
ldi R25,0
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 560
; }
.dbline 561
; break;
xjmp L141
L160:
.dbline 564
;
; case DISPLAY_TREBLE:
; Set_String("TREBLE");
ldi R16,<L161
ldi R17,>L161
xcall _Set_String
.dbline 571
; //g_vfd_grid_buffer[9] |= VFD_alpha_T ;
; //g_vfd_grid_buffer[8] |= VFD_alpha_R ;
; //g_vfd_grid_buffer[7] |= VFD_alpha_E ;
; //g_vfd_grid_buffer[6] |= VFD_alpha_B ;
; //g_vfd_grid_buffer[5] |= VFD_alpha_L ;
; //g_vfd_grid_buffer[4] |= VFD_alpha_E ;
; if(Treblevol >=7)
lds R24,_Treblevol
cpi R24,7
brlo L162
.dbline 572
; {
.dbline 574
; //g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
; g_vfd_grid_buffer[2] = num_trans(Treblevol-7);
mov R16,R24
subi R16,7
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 575
; g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
ldi R24,1224
ldi R25,4
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 576
; }
xjmp L141
L162:
.dbline 578
; else
; {
.dbline 580
; //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
; g_vfd_grid_buffer[2] = num_trans(7-Treblevol);
lds R2,_Treblevol
ldi R16,7
sub R16,R2
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 581
; g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
ldi R24,192
ldi R25,0
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 582
; }
.dbline 583
; break;
xjmp L141
L168:
.dbline 585
; case ERROR_MSG: //err_msg
; Set_String(err_msg);
lds R17,_err_msg+1
lds R16,_err_msg
xcall _Set_String
.dbline 586
; break;
xjmp L141
L169:
.dbline 589
;
; case DISPLAY_BALANCE:
; Set_String("BAL");
ldi R16,<L170
ldi R17,>L170
xcall _Set_String
.dbline 590
; if(Balanceval ==7)
lds R24,_Balanceval
cpi R24,7
brne L171
.dbline 591
; {
.dbline 592
; g_vfd_grid_buffer[2] = VFD_alpha_L;
ldi R25,48
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 593
; g_vfd_grid_buffer[3] = VFD_alpha_R;
ldi R24,4835
ldi R25,18
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 594
; }
xjmp L141
L171:
.dbline 595
; else if(Balanceval >7)
ldi R24,7
lds R2,_Balanceval
cp R24,R2
brsh L175
.dbline 596
; {
.dbline 598
; //g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
; g_vfd_grid_buffer[2] = num_trans(Balanceval-7);
mov R16,R2
subi R16,7
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 599
; g_vfd_grid_buffer[3] = VFD_alpha_R;
ldi R24,4835
ldi R25,18
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 600
; }
xjmp L141
L175:
.dbline 602
; else
; {
.dbline 604
; //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
; g_vfd_grid_buffer[2] = num_trans(7-Balanceval);
lds R2,_Balanceval
ldi R16,7
sub R16,R2
xcall _num_trans
movw R2,R16
sts _g_vfd_grid_buffer+4+1,R3
sts _g_vfd_grid_buffer+4,R2
.dbline 605
; g_vfd_grid_buffer[3] = VFD_alpha_L;
ldi R24,12320
ldi R25,48
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 606
; }
.dbline 607
; break;
xjmp L141
L181:
.dbline 664
; // display_digit(Balanceval);
; // g_vfd_grid_buffer[6] |= VFD_LED_COL;
;
; /*g_vfd_grid_buffer[9] |=VFD_alpha_L;
; if(Balanceval>0)
; g_vfd_grid_buffer[8] |=VFD_SPECIAL_1|VH|VR;
; if(Balanceval>1)
; g_vfd_grid_buffer[8] |=VFD_SPECIAL_2;
; if(Balanceval>2)
; g_vfd_grid_buffer[7] |=VFD_SPECIAL_1;
; if(Balanceval>3)
; g_vfd_grid_buffer[7] |=VFD_SPECIAL_2;
; if(Balanceval>4)
; g_vfd_grid_buffer[6] |=VFD_SPECIAL_1;
; if(Balanceval>5)
; g_vfd_grid_buffer[6] |=VFD_SPECIAL_2;
;
; g_vfd_grid_buffer[2] |=VFD_alpha_R;
; if(Balanceval<12)
; g_vfd_grid_buffer[3] |=VFD_SPECIAL_2|VK|VN;
; if(Balanceval<11)
; g_vfd_grid_buffer[3] |=VFD_SPECIAL_1;
; if(Balanceval<10)
; g_vfd_grid_buffer[4] |=VFD_SPECIAL_2;
; if(Balanceval<9)
; g_vfd_grid_buffer[4] |=VFD_SPECIAL_1;
; if(Balanceval<8)
; g_vfd_grid_buffer[5] |=VFD_SPECIAL_2;
; if(Balanceval<7)
; g_vfd_grid_buffer[5] |=VFD_SPECIAL_1;*/
;
; // break;
;
; /*
; case DISPLAY_LOUDNESS:
; //g_vfd_grid_buffer[9] |= VFD_alpha_L ;
; //g_vfd_grid_buffer[8] |= VFD_alpha_O ;
; //g_vfd_grid_buffer[7] |= VFD_alpha_U ;
; //g_vfd_grid_buffer[6] |= VFD_alpha_D ;
; //Set_string("LOUD");
; if(Loudnessval)
; {
; Set_String("3D ON");
; //g_vfd_grid_buffer[4] |= VFD_alpha_O;
; //g_vfd_grid_buffer[3] |= VFD_alpha_N;
; //g_vfd_grid_buffer[2] |= VFD_alpha_F;
; }
; else
; {
; Set_String("3D OFF");
; //g_vfd_grid_buffer[4] |= VFD_alpha_O;
; // g_vfd_grid_buffer[3] |= VFD_alpha_F;
; // g_vfd_grid_buffer[2] |= VFD_alpha_F;
; }
; break;*/
; case DISPLAY_TIMING:
; Set_String("SLEEP");
ldi R16,<L182
ldi R17,>L182
xcall _Set_String
.dbline 670
; //g_vfd_grid_buffer[9] |= VFD_alpha_S ;
; //g_vfd_grid_buffer[8] |= VFD_alpha_L ;
; //g_vfd_grid_buffer[7] |= VFD_alpha_E ;
; //g_vfd_grid_buffer[6] |= VFD_alpha_E ;
; //g_vfd_grid_buffer[5] |= VFD_alpha_P;
; value =( g_ui_timing_cnt/300);
ldi R18,300
ldi R19,1
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall div16u
movw R22,R16
.dbline 671
; if(g_ui_timing_cnt%300>10)
ldi R18,300
ldi R19,1
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall mod16u
ldi R24,10
ldi R25,0
cp R24,R16
cpc R25,R17
brsh L183
.dbline 672
; value++;
subi R22,255 ; offset = 1
sbci R23,255
L183:
.dbline 673
; if(value==0)
cpi R22,0
cpc R22,R23
brne L185
.dbline 674
; {
.dbline 675
; g_vfd_grid_buffer[4] = VFD_alpha_O;
ldi R24,12579
ldi R25,49
sts _g_vfd_grid_buffer+8+1,R25
sts _g_vfd_grid_buffer+8,R24
.dbline 676
; g_vfd_grid_buffer[3] = VFD_alpha_F;
ldi R24,4321
ldi R25,16
sts _g_vfd_grid_buffer+6+1,R25
sts _g_vfd_grid_buffer+6,R24
.dbline 677
; g_vfd_grid_buffer[2] = VFD_alpha_F;
sts _g_vfd_grid_buffer+4+1,R25
sts _g_vfd_grid_buffer+4,R24
.dbline 678
; }
xjmp L141
L185:
.dbline 680
; else
; {
.dbline 681
; display_digit(value);
movw R16,R22
xcall _display_digit
.dbline 682
; g_vfd_grid_buffer[0] = VFD_LED_SLEEP;
ldi R24,-32768
ldi R25,-128
sts _g_vfd_grid_buffer+1,R25
sts _g_vfd_grid_buffer,R24
.dbline 691
;
; // radio_vfd = g_ui_timing_cnt%300;
; // radio_vfd = radio_vfd/5;
; // r2 = radio_vfd%10;
; // r3 = radio_vfd/10;
; // g_vfd_grid_buffer[3] |= num_xlate[r3];
; // g_vfd_grid_buffer[2] |= num_xlate[r2];
;
; }
.dbline 692
; break;
xjmp L141
L190:
.dbline 694
; case DISPLAY_WELCOME:
; switch(work_mode)
lds R22,_work_mode
clr R23
cpi R22,1
ldi R30,0
cpc R23,R30
brge X14
xjmp L141
X14:
ldi R24,4
ldi R25,0
cp R24,R22
cpc R25,R23
brge X15
xjmp L141
X15:
ldi R24,<L202
ldi R25,>L202
movw R30,R22
sbiw R30,1
lsl R30
rol R31
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
X9:
.dbline 695
; {
L194:
.dbline 697
; case TUNER_MODE:
; Set_String(" TUNER");
ldi R16,<L195
ldi R17,>L195
xcall _Set_String
.dbline 698
; break;
xjmp L141
L196:
.dbline 700
; case AV1_MODE:
; Set_String(" AV1");
ldi R16,<L197
ldi R17,>L197
xcall _Set_String
.dbline 701
; break;
xjmp L141
L198:
.dbline 703
; case AV2_MODE:
; Set_String(" AV2");
ldi R16,<L199
ldi R17,>L199
xcall _Set_String
.dbline 704
; break;
xjmp L141
L200:
.dbline 706
; case AV3_MODE:
; Set_String(" AV3");
ldi R16,<L201
ldi R17,>L201
xcall _Set_String
.dbline 707
; break;
.dbline 709
; }
; break;
xjmp L141
L140:
.dbline 711
; default:
; if(work_mode!=POWER_OFF_MODE)
lds R24,_work_mode
cpi R24,5
breq L203
.dbline 712
; {
.dbline 713
; g_vfd_grid_buffer[1] = num_xlate_left[Mchvol/10];//(Mchvolume-MAX_VOLUME)/10];
ldi R18,10
ldi R19,0
lds R16,_Mchvol
clr R17
xcall div16s
movw R30,R16
lsl R30
rol R31
ldi R24,<_num_xlate_left
ldi R25,>_num_xlate_left
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
sts _g_vfd_grid_buffer+2+1,R31
sts _g_vfd_grid_buffer+2,R30
.dbline 714
; g_vfd_grid_buffer[1] |= num_xlate_right[Mchvol%10];//(Mchvolume-MAX_VOLUME)%10];
ldi R18,10
ldi R19,0
lds R16,_Mchvol
clr R17
xcall mod16s
movw R30,R16
lsl R30
rol R31
ldi R24,<_num_xlate_right
ldi R25,>_num_xlate_right
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
lds R3,_g_vfd_grid_buffer+2+1
lds R2,_g_vfd_grid_buffer+2
or R2,R30
or R3,R31
sts _g_vfd_grid_buffer+2+1,R3
sts _g_vfd_grid_buffer+2,R2
.dbline 716
L203:
.dbline 716
;
; };
.dbline 717
; switch(work_mode)
lds R22,_work_mode
clr R23
cpi R22,1
ldi R30,0
cpc R23,R30
brge X16
xjmp L141
X16:
ldi R24,5
ldi R25,0
cp R24,R22
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -