📄 at980.lst
字号:
03B8 E90F LDI R16,0x9F
03B9 E010 LDI R17,0
03BA D1CD RCALL _Set_String
(0451) //g_vfd_grid_buffer[9] |= VFD_alpha_S;
(0452) //g_vfd_grid_buffer[8] |= VFD_alpha_T;
(0453) //g_vfd_grid_buffer[7] |= VFD_alpha_O;
(0454) //g_vfd_grid_buffer[6] |= VFD_alpha_R;
(0455) //g_vfd_grid_buffer[5] |= VFD_alpha_E;
(0456) };
(0457) if(radio_count ==0)
03BB 940E1AFB CALL 0x1AFB
03BD 2022 TST R2
03BE F449 BNE 0x03C8
03BF 2033 TST R3
03C0 F439 BNE 0x03C8
(0458) {
(0459) g_vfd_grid_buffer[3] = VFD_alpha_DASH;
03C1 E080 LDI R24,0
03C2 E290 LDI R25,0x20
03C3 940E1AD9 CALL 0x1AD9
03C5 940E1B13 CALL 0x1B13
(0460) g_vfd_grid_buffer[2] = VFD_alpha_DASH;
(0461) }
03C7 C003 RJMP 0x03CB
(0462) else
(0463) {
(0464) display_digit(radio_count);
03C8 940E1B7B CALL 0x1B7B
03CA DE5D RCALL _display_digit
(0465) //g_vfd_grid_buffer[3] |= num_xlate[radio_count/10];
(0466) //g_vfd_grid_buffer[2] |= num_xlate[radio_count%10];
(0467) };
(0468) break;
(0469)
(0470) };
(0471) if((!is_autosearching) &&(!radio_dout()))
03CB 902001BA LDS R2,_is_autosearching
03CD 2022 TST R2
03CE F449 BNE 0x03D8
03CF 9987 SBIC P10,7
03D0 C007 RJMP 0x03D8
(0472) g_vfd_grid_buffer[8] |= VFD_LED_STEREO;
03D1 919001AA LDS R25,0x1AA
03D3 918001A9 LDS R24,0x1A9
03D5 6490 ORI R25,0x40
03D6 940E1C6F CALL 0x1C6F
(0473) if(is_autosearching)
03D8 902001BA LDS R2,_is_autosearching
03DA 2022 TST R2
03DB F049 BEQ 0x03E5
(0474) {
(0475) if(blink_time<2)
03DC 91800194 LDS R24,_blink_time
03DE 3082 CPI R24,2
03DF F428 BCC 0x03E5
03E0 940E1D31 CALL 0x1D31
(0476) g_vfd_grid_buffer[0] |= VFD_LED_AUTO;
03E2 6280 ORI R24,0x20
03E3 940E1C6A CALL 0x1C6A
(0477) }
(0478) }
03E5 940E1A18 CALL pop_gset2
03E7 9508 RET
_ui_fp_update_handler:
value --> R22
i --> R20
03E8 940E1A0C CALL push_gset2
(0479)
(0480) void ui_fp_update_handler(void)
(0481) {
(0482) unsigned char i;
(0483) unsigned int value;
(0484) #ifndef TEST_KEY
(0485) if(work_mode!=0)
03EA 90200148 LDS R2,0x148
03EC 2022 TST R2
03ED F409 BNE 0x03EF
03EE C15F RJMP 0x054E
(0486) #endif
(0487) {
(0488) for(i=0;i<VFD_BUFFER_SIZE;i++)
03EF 2744 CLR R20
03F0 C00B RJMP 0x03FC
(0489) {
(0490) g_vfd_grid_buffer[i] = 0;
03F1 E989 LDI R24,0x99
03F2 E091 LDI R25,1
03F3 2FE4 MOV R30,R20
03F4 27FF CLR R31
03F5 940E1AB6 CALL 0x1AB6
03F7 2422 CLR R2
03F8 2433 CLR R3
03F9 8220 STD R2,0+Z
03FA 8231 STD R3,1+Z
(0491) #ifdef MORE_THAN_16SEGMENT
(0492) g_vfd_grid_ext_buffer[i] = 0;
(0493) #endif
(0494) }
03FB 9543 INC R20
03FC 304C CPI R20,0xC
03FD F398 BCS 0x03F1
(0495) blink_time = (blink_time+1)%5;
03FE E015 LDI R17,5
03FF 91000194 LDS R16,_blink_time
0401 5F0F SUBI R16,0xFF
0402 940E195D CALL mod8u
0404 93000194 STS R16,_blink_time
(0496) switch(display_type)
0406 91600140 LDS R22,0x140
0408 2777 CLR R23
0409 3065 CPI R22,5
040A E0E0 LDI R30,0
040B 077E CPC R23,R30
040C F40C BGE 0x040E
040D C0E7 RJMP 0x04F5
040E E183 LDI R24,0x13
040F E090 LDI R25,0
0410 1786 CP R24,R22
0411 0797 CPC R25,R23
0412 F40C BGE 0x0414
0413 C0E1 RJMP 0x04F5
0414 E982 LDI R24,0x92
0415 E090 LDI R25,0
0416 01FB MOVW R30,R22
0417 9735 SBIW R30,5
0418 940E1AA8 CALL <created procedures>
041A 9409 IJMP
(0497) {
(0498) case DISPLAY_VERSION:
(0499) Set_String("A980R104");
041B E906 LDI R16,0x96
041C E010 LDI R17,0
041D D16A RCALL _Set_String
(0500) /*
(0501) R104: MODIFIED BY SGJM IN 2002-10-23
(0502) add SCART AV/TV control
(0503) add RDS
(0504) change 2 SET AV to 1 SET AV
(0505) */
(0506) break;
041E C12F RJMP 0x054E
(0507) #ifdef CLOCK_STANDBY
(0508) case DISPLAY_TIME:
(0509) if(hm_flag||(blink_time<3)) //display_hour
(0510) {
(0511) g_vfd_grid_buffer[7] = num_trans(time_val[0]/10);
(0512) g_vfd_grid_buffer[6] = (num_trans(time_val[0]%10)|VFD_LED_COL);
(0513) };
(0514) if(!hm_flag||(blink_time<3))
(0515) {
(0516) g_vfd_grid_buffer[5] = num_trans(time_val[1]/10);
(0517) g_vfd_grid_buffer[4] = num_trans(time_val[1]%10);
(0518) };
(0519) break;
(0520) #endif
(0521) #ifdef TEST_KEY
(0522) case DISPLAY_KEY:
(0523) display_digit(info);
(0524) break;
(0525) #endif
(0526) case DISPLAY_VOL:
(0527) Set_String("VOL");
041F E902 LDI R16,0x92
0420 E010 LDI R17,0
0421 D166 RCALL _Set_String
(0528) //g_vfd_grid_buffer[9] |= VFD_alpha_V ;
(0529) //g_vfd_grid_buffer[8] |= VFD_alpha_O ;
(0530) //g_vfd_grid_buffer[7] |= VFD_alpha_L ;
(0531) if(Mchvol<60)
0422 9180014F LDS R24,0x14F
0424 338C CPI R24,0x3C
0425 F420 BCC 0x042A
(0532) display_digit(Mchvol);
0426 2F08 MOV R16,R24
0427 2711 CLR R17
0428 DDFF RCALL _display_digit
0429 C124 RJMP 0x054E
(0533) else
(0534) {
(0535) g_vfd_grid_buffer[4] |= VFD_alpha_M ;
042A 919001A2 LDS R25,0x1A2
042C 918001A1 LDS R24,0x1A1
042E 6386 ORI R24,0x36
042F 6191 ORI R25,0x11
0430 940E1CE1 CALL 0x1CE1
0432 940E1C65 CALL 0x1C65
(0536) g_vfd_grid_buffer[3] |= VFD_alpha_A ;
0434 6E83 ORI R24,0xE3
0435 6191 ORI R25,0x11
0436 940E1AD9 CALL 0x1AD9
0438 940E1B86 CALL 0x1B86
(0537) g_vfd_grid_buffer[2] |= VFD_alpha_X ;
043A 6184 ORI R24,0x14
043B 609A ORI R25,0xA
043C 940E1B13 CALL 0x1B13
(0538) };
(0539) //g_vfd_grid_buffer[1] |= num_xlate[Mchvol/10];//(Mchvolume-MAX_VOLUME)/10];
(0540) //g_vfd_grid_buffer[0] |= num_xlate[Mchvol%10];//(Mchvolume-MAX_VOLUME)%10];
(0541) break;
043E C10F RJMP 0x054E
(0542)
(0543) case DISPLAY_BASS:
(0544) Set_String("BASS");
043F E80D LDI R16,0x8D
0440 E010 LDI R17,0
0441 D146 RCALL _Set_String
(0545) //g_vfd_grid_buffer[9] |= VFD_alpha_B;
(0546) //g_vfd_grid_buffer[8] |= VFD_alpha_A;
(0547) //g_vfd_grid_buffer[7] |= VFD_alpha_S;
(0548) //g_vfd_grid_buffer[6] |= VFD_alpha_S;
(0549) if(Bassvol >=7)
0442 91800151 LDS R24,0x151
0444 3087 CPI R24,7
0445 F050 BCS 0x0450
(0550) {
(0551) g_vfd_grid_buffer[2] = num_trans(Bassvol-7);
0446 2F08 MOV R16,R24
0447 5007 SUBI R16,7
0448 DDD6 RCALL _num_trans
0449 940E1B2F CALL 0x1B2F
(0552) g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
044B EC88 LDI R24,0xC8
044C E094 LDI R25,4
044D 940E1AD9 CALL 0x1AD9
(0553) }
044F C0FE RJMP 0x054E
(0554) else
(0555) {
(0556) //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0557) g_vfd_grid_buffer[2] = num_trans(7-Bassvol);
0450 90200151 LDS R2,0x151
0452 E007 LDI R16,7
0453 1902 SUB R16,R2
0454 DDCA RCALL _num_trans
0455 940E1B2F CALL 0x1B2F
(0558) g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
0457 EC80 LDI R24,0xC0
0458 E090 LDI R25,0
0459 940E1AD9 CALL 0x1AD9
(0559) }
(0560) break;
045B C0F2 RJMP 0x054E
(0561)
(0562) case DISPLAY_TREBLE:
(0563) Set_String("TREBLE");
045C E806 LDI R16,0x86
045D E010 LDI R17,0
045E D129 RCALL _Set_String
(0564) //g_vfd_grid_buffer[9] |= VFD_alpha_T ;
(0565) //g_vfd_grid_buffer[8] |= VFD_alpha_R ;
(0566) //g_vfd_grid_buffer[7] |= VFD_alpha_E ;
(0567) //g_vfd_grid_buffer[6] |= VFD_alpha_B ;
(0568) //g_vfd_grid_buffer[5] |= VFD_alpha_L ;
(0569) //g_vfd_grid_buffer[4] |= VFD_alpha_E ;
(0570) if(Treblevol >=7)
045F 91800150 LDS R24,0x150
0461 3087 CPI R24,7
0462 F050 BCS 0x046D
(0571) {
(0572) //g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
(0573) g_vfd_grid_buffer[2] = num_trans(Treblevol-7);
0463 2F08 MOV R16,R24
0464 5007 SUBI R16,7
0465 DDB9 RCALL _num_trans
0466 940E1B2F CALL 0x1B2F
(0574) g_vfd_grid_buffer[3] = VFD_alpha_PLUS;
0468 EC88 LDI R24,0xC8
0469 E094 LDI R25,4
046A 940E1AD9 CALL 0x1AD9
(0575) }
046C C0E1 RJMP 0x054E
(0576) else
(0577) {
(0578) //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0579) g_vfd_grid_buffer[2] = num_trans(7-Treblevol);
046D 90200150 LDS R2,0x150
046F E007 LDI R16,7
0470 1902 SUB R16,R2
0471 DDAD RCALL _num_trans
0472 940E1B2F CALL 0x1B2F
(0580) g_vfd_grid_buffer[3] = VFD_alpha_MINUS;
0474 EC80 LDI R24,0xC0
0475 E090 LDI R25,0
0476 940E1AD9 CALL 0x1AD9
(0581) }
(0582) break;
0478 C0D5 RJMP 0x054E
(0583) case ERROR_MSG: //err_msg
(0584) Set_String(err_msg);
0479 91100196 LDS R17,_err_msg+1
047B 91000195 LDS R16,_err_msg
047D D10A RCALL _Set_String
(0585) break;
047E C0CF RJMP 0x054E
(0586)
(0587) case DISPLAY_BALANCE:
(0588) Set_String("BAL");
047F E802 LDI R16,0x82
0480 E010 LDI R17,0
0481 D106 RCALL _Set_String
(0589) if(Balanceval ==7)
0482 91800152 LDS R24,0x152
0484 3087 CPI R24,7
0485 F449 BNE 0x048F
(0590) {
(0591) g_vfd_grid_buffer[2] = VFD_alpha_L;
0486 E280 LDI R24,0x20
0487 E390 LDI R25,0x30
0488 940E1B13 CALL 0x1B13
(0592) g_vfd_grid_buffer[3] = VFD_alpha_R;
048A EE83 LDI R24,0xE3
048B E192 LDI R25,0x12
048C 940E1AD9 CALL 0x1AD9
(0593) }
048E C0BF RJMP 0x054E
(0594) else if(Balanceval >7)
048F 940E1D13 CALL 0x1D13
0491 F450 BCC 0x049C
(0595) {
(0596) //g_vfd_grid_buffer[3] |= VFD_alpha_PLUS;
(0597) g_vfd_grid_buffer[2] = num_trans(Balanceval-7);
0492 2D02 MOV R16,R2
0493 5007 SUBI R16,7
0494 DD8A RCALL _num_trans
0495 940E1B2F CALL 0x1B2F
(0598) g_vfd_grid_buffer[3] = VFD_alpha_R;
0497 EE83 LDI R24,0xE3
0498 E192 LDI R25,0x12
0499 940E1AD9 CALL 0x1AD9
(0599) }
049B C0B2 RJMP 0x054E
(0600) else
(0601) {
(0602) //g_vfd_grid_buffer[3] |= VFD_alpha_MINUS;
(0603) g_vfd_grid_buffer[2] = num_trans(7-Balanceval);
049C 90200152 LDS R2,0x152
049E E007 LDI R16,7
049F 1902 SUB R16,R2
04A0 DD7E RCALL _num_trans
04A1 940E1B2F CALL 0x1B2F
(0604) g_vfd_grid_buffer[3] = VFD_alpha_L;
04A3 E280 LDI R24,0x20
04A4 E390 LDI R25,0x30
04A5 940E1AD9 CALL 0x1AD9
(0605) }
(0606) break;
04A7 C0A6 RJMP 0x054E
(0607) // display_digit(Balanceval);
(0608) // g_vfd_grid_buffer[6] |= VFD_LED_COL;
(0609)
(0610) /*g_vfd_grid_buffer[9] |=VFD_alpha_L;
(0611) if(Balanceval>0)
(0612) g_vfd_grid_buffer[8] |=VFD_SPECIAL_1|VH|VR;
(0613) if(Balanceval>1)
(0614) g_vfd_grid_buffer[8] |=VFD_SPECIAL_2;
(0615) if(Balanceval>2)
(0616) g_vfd_grid_buffer[7] |=VFD_SPECIAL_1;
(0617) if(Balanceval>3)
(0618) g_vfd_grid_buffer[7] |=VFD_SPECIAL_2;
(0619) if(Balanceval>4)
(0620) g_vfd_grid_buffer[6] |=VFD_SPECIAL_1;
(0621) if(Balanceval>5)
(0622) g_vfd_grid_buffer[6] |=VFD_SPECIAL_2;
(0623)
(0624) g_vfd_grid_buffer[2] |=VFD_alpha_R;
(0625) if(Balanceval<12)
(0626) g_vfd_grid_buffer[3] |=VFD_SPECIAL_2|VK|VN;
(0627) if(Balanceval<11)
(0628) g_vfd_grid_buffer[3] |=VFD_SPECIAL_1;
(0629) if(Balanceval<10)
(0630) g_vfd_grid_buffer[4] |=VFD_SPECIAL_2;
(0631) if(Balanceval<9)
(0632) g_vfd_grid_buffer[4] |=VFD_SPECIAL_1;
(0633) if(Balanceval<8)
(0634) g_vfd_grid_buffer[5] |=VFD_SPECIAL_2;
(0635) if(Balanceval<7)
(0636) g_vfd_grid_buffer[5] |=VFD_SPECIAL_1;*/
(0637)
(0638) // break;
(0639)
(0640) /*
(0641) case DISPLAY_LOUDNESS:
(0642) //g_vfd_grid_buffer[9] |= VFD_alpha_L ;
(0643) //g_vfd_grid_buffer[8] |= VFD_alpha_O ;
(0644) //g_vfd_grid_buffer[7] |= VFD_alpha_U ;
(0645) //g_vfd_grid_buffer[6] |= VFD_alpha_D ;
(0646) //Set_string("LOUD");
(0647) if(Loudnessval)
(0648) {
(0649) Set_String("3D ON");
(0650) //g_vfd_grid_buffer[4] |= VFD_alpha_O;
(0651) //g_vfd_grid_buffer[3] |= VFD_alpha_N;
(0652) //g_vfd_grid_buffer[2] |= VFD_alpha_F;
(0653) }
(0654) else
(0655) {
(0656) Set_String("3D OFF");
(0657) //g_vfd_grid_buffer[4] |= VFD_alpha_O;
(0658) // g_vfd_grid_buffer[3] |= VFD_alpha_F;
(0659) // g_vfd_grid_buffer[2] |= VFD_alpha_F;
(0660) }
(0661) break;*/
(0662) case DISPLAY_TIMING:
(0663) Set_String("SLEEP");
04A8 E70C LDI R16,0x7C
04A9 E010 LDI R17,0
04AA D0DD RCALL _Set_String
(0664) //g_vfd_grid_buffer[9] |= VFD_alpha_S ;
(0665) //g_vfd_grid_buffer[8] |= VFD_alpha_L ;
(0666) //g_vfd_grid_buffer[7] |= VFD_alpha_E ;
(0667) //g_vfd_grid_buffer[6] |= VFD_alpha_E ;
(0668) //g_vfd_grid_buffer[5] |= VFD_alpha_P;
(0669) value =( g_ui_timing_cnt/300);
04AB E22C LDI R18,0x2C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -