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

📄 vfd.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                       ; VFD_alpha_V,    
                       ; VFD_alpha_W,    
                       ; VFD_alpha_X,    
                       ; VFD_alpha_Y,    
                       ; VFD_alpha_Z,    
                       ; };
                       ; unsigned char Set_String(unsigned char *str);
                       ; extern unsigned char Mchvol,Bassvol,Treblevol,Balanceval,Loudnessval;
                       ; unsigned char *err_msg,blink_time;
                       ; extern unsigned int radio_count,freq;
                       ; extern unsigned char is_autosearching;
                       ; extern unsigned char amfm_flag,g_ui_tmp_msg_cnt,station_no;
                       ; #ifdef SGJM_RDS
                       ; extern unsigned char rds_status;
                       ; extern unsigned char pty_is_searching;
                       ; extern unsigned char rds_dis_buffer[65];
                       ; extern unsigned char rds_dis_string[65];
                       ; extern unsigned char rds_display_type;
                       ; #endif
                       ; extern unsigned char muted;
                       ; unsigned int info;
                       ; extern unsigned char hm_flag,time_val[];
                       ; unsigned int num_trans(unsigned char num)
                       ; {
 0000                   .dbline 247
                       ;   return num_xlate[num];
 0000 80E0              ldi R24,<_num_xlate
 0002 90E0              ldi R25,>_num_xlate
 0004 E02F              mov R30,R16
 0006 FF27              clr R31
 0008 EE0F              lsl R30
 000A FF1F              rol R31
 000C E80F              add R30,R24
 000E F91F              adc R31,R25
 0010 0591              lpm R16,Z+
 0012 1491              lpm R17,Z
 0014                   .dbline -2
 0014                 L2:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbsym r num 16 c
 0016                   .dbfunc s display_digit _display_digit fI
                       ;             r2 -> R20
                       ;              r -> R22
                       ;            num -> R10,R11
                         .even
 0016                 _display_digit::
 0016 0E940000          xcall push_gset3
 001A 5801              movw R10,R16
 001C                   .dbline -1
 001C                   .dbline 250
                       ; }
                       ; void display_digit(unsigned int num)
                       ; {
 001C                   .dbline 252
                       ;   unsigned char r,r2;
                       ;   r = 2;
 001C 62E0              ldi R22,2
 001E                 L4:
 001E                   .dbline 254
                       ;   do
                       ;   {
 001E                   .dbline 255
                       ;             r2 = num%10;
 001E 2AE0              ldi R18,10
 0020 30E0              ldi R19,0
 0022 8501              movw R16,R10
 0024 0E940000          xcall mod16u
 0028 A801              movw R20,R16
 002A                   .dbline 256
                       ;             num /= 10;
 002A 2AE0              ldi R18,10
 002C 30E0              ldi R19,0
 002E 8501              movw R16,R10
 0030 0E940000          xcall div16u
 0034 5801              movw R10,R16
 0036                   .dbline 257
                       ;             g_vfd_grid_buffer[r] = num_trans(r2);
 0036 042F              mov R16,R20
 0038 E3DF              xcall _num_trans
 003A 1801              movw R2,R16
 003C 80E0              ldi R24,<_g_vfd_grid_buffer
 003E 90E0              ldi R25,>_g_vfd_grid_buffer
 0040 E62F              mov R30,R22
 0042 FF27              clr R31
 0044 EE0F              lsl R30
 0046 FF1F              rol R31
 0048 E80F              add R30,R24
 004A F91F              adc R31,R25
 004C 2082              std z+0,R2
 004E 3182              std z+1,R3
 0050                   .dbline 258
                       ;             r++;
 0050 6395              inc R22
 0052                   .dbline 259
 0052                 L5:
 0052                   .dbline 259
                       ;   }while(num);
 0052 AA20              tst R10
 0054 21F7              brne L4
 0056 BB20              tst R11
 0058 11F7              brne L4
 005A                   .dbline -2
 005A                   .dbline 260
                       ; }
 005A                 L3:
 005A 0E940000          xcall pop_gset3
 005E                   .dbline 0 ; func end
 005E 0895              ret
 0060                   .dbsym r r2 20 c
 0060                   .dbsym r r 22 c
 0060                   .dbsym r num 10 i
 0060                   .dbfunc s tuner_display _tuner_display fI
                         .area func_lit(rom, con, rel)
 0000                 L125:
 0000 5F00              .word `L14
 0002 BF00              .word `L30
 0004 CB00              .word `L34
 0006 7801              .word `L95
 0008 9B01              .word `L106
                         .area text(rom, con, rel)
 0060                   .dbfile D:\avrmcu\AT980\AT980\vfd.c
                         .area func_lit(rom, con, rel)
 000A                 L94:
 000A 3001              .word `L59
 000C 3401              .word `L61
 000E 3801              .word `L63
 0010 3C01              .word `L65
 0012 4001              .word `L67
 0014 4401              .word `L69
 0016 4801              .word `L71
 0018 4C01              .word `L73
 001A 5001              .word `L75
 001C 5401              .word `L77
 001E 5801              .word `L79
 0020 5C01              .word `L81
 0022 6001              .word `L83
 0024 6401              .word `L85
 0026 6801              .word `L87
 0028 6C01              .word `L89
 002A 7401              .word `L55
 002C 7401              .word `L55
 002E 7401              .word `L55
 0030 7401              .word `L55
 0032 7401              .word `L55
 0034 7401              .word `L55
 0036 7401              .word `L55
 0038 7401              .word `L55
 003A 7401              .word `L55
 003C 7401              .word `L55
 003E 7401              .word `L55
 0040 7401              .word `L55
 0042 7401              .word `L55
 0044 7401              .word `L55
 0046 7401              .word `L55
 0048 7001              .word `L91
                         .area text(rom, con, rel)
 0060                   .dbfile D:\avrmcu\AT980\AT980\vfd.c
                       ;              r -> R22
                       ;             r2 -> R20
                         .even
 0060                 _tuner_display::
 0060 0E940000          xcall push_gset2
 0064                   .dbline -1
 0064                   .dbline 263
                       ; 
                       ; void tuner_display(void)
                       ; {
 0064                   .dbline 267
                       ; 
                       ;   unsigned char r,r2;
                       ;   
                       ;   switch(display_type)
 0064 40910000          lds R20,_display_type
 0068 5527              clr R21
 006A 4030              cpi R20,0
 006C E0E0              ldi R30,0
 006E 5E07              cpc R21,R30
 0070 0CF4              brge X2
 0072 B7C1              xjmp L8
 0074                 X2:
 0074 84E0              ldi R24,4
 0076 90E0              ldi R25,0
 0078 8417              cp R24,R20
 007A 9507              cpc R25,R21
 007C 5CF0              brlt L124
 007E 80E0              ldi R24,<L125
 0080 90E0              ldi R25,>L125
 0082 FA01              movw R30,R20
 0084 EE0F              lsl R30
 0086 FF1F              rol R31
 0088 E80F              add R30,R24
 008A F91F              adc R31,R25
 008C 0590              lpm R0,Z+
 008E 1490              lpm R1,Z
 0090 F001              movw R30,R0
 0092 0994              ijmp
 0094                 L124:
 0094 4E30              cpi R20,14
 0096 E0E0              ldi R30,0
 0098 5E07              cpc R21,R30
 009A 09F4              brne X3
 009C 83C1              xjmp L116
 009E                 X3:
 009E 4F30              cpi R20,15
 00A0 E0E0              ldi R30,0
 00A2 5E07              cpc R21,R30
 00A4 09F0              breq L11
 00A6 9DC1              xjmp L8
 00A8                 X0:
 00A8                   .dbline 268
                       ;   {
 00A8                 L11:
 00A8                   .dbline 272
                       ; 
                       ;     case DISPLAY_DIGIT:
                       ; 
                       ;         if(blink_time<3) 
 00A8 80910200          lds R24,_blink_time
 00AC 8330              cpi R24,3
 00AE 08F0              brlo X4
 00B0 98C1              xjmp L9
 00B2                 X4:
 00B2                   .dbline 273
                       ;           display_digit(radio_count);
 00B2 10910100          lds R17,_radio_count+1
 00B6 00910000          lds R16,_radio_count
 00BA ADDF              xcall _display_digit
 00BC                   .dbline 274
                       ;         break;
 00BC 92C1              xjmp L9
 00BE                 L14:
 00BE                   .dbline 278
                       ; 
                       ;     case DIS_FREQUENCY:
                       ;         
                       ;         display_digit(freq);
 00BE 10910100          lds R17,_freq+1
 00C2 00910000          lds R16,_freq
 00C6 A7DF              xcall _display_digit
 00C8                   .dbline 279
                       ;         if(g_ui_tmp_msg_cnt)
 00C8 20900000          lds R2,_g_ui_tmp_msg_cnt
 00CC 2220              tst R2
 00CE D1F0              breq L15
 00D0                   .dbline 280
                       ;         {
 00D0                   .dbline 281
                       ;             r = station_no;
 00D0 60910000          lds R22,_station_no
 00D4                   .dbline 282
                       ;             r++;
 00D4 6395              inc R22
 00D6                   .dbline 283
                       ;             r2 =r/10;
 00D6 1AE0              ldi R17,10
 00D8 062F              mov R16,R22
 00DA 0E940000          xcall div8u
 00DE 402F              mov R20,R16
 00E0                   .dbline 284
                       ;             g_vfd_grid_buffer[9] = num_trans(r2);
 00E0 8FDF              xcall _num_trans
 00E2 1801              movw R2,R16
 00E4 30921A00          sts _g_vfd_grid_buffer+18+1,R3
 00E8 20921900          sts _g_vfd_grid_buffer+18,R2
 00EC                   .dbline 285
                       ;             r2 =r%10;
 00EC 1AE0              ldi R17,10
 00EE 062F              mov R16,R22
 00F0 0E940000          xcall mod8u
 00F4 402F              mov R20,R16
 00F6                   .dbline 286
                       ;             g_vfd_grid_buffer[8] = num_trans(r2);
 00F6 84DF              xcall _num_trans
 00F8 1801              movw R2,R16
 00FA 30921800          sts _g_vfd_grid_buffer+16+1,R3
 00FE 20921700          sts _g_vfd_grid_buffer+16,R2
 0102                   .dbline 287
                       ;         }
 0102 1CC0              xjmp L16
 0104                 L15:
 0104                   .dbline 289
                       ;         else
                       ;         {
 0104                   .dbline 290
                       ;             if(amfm_flag)
 0104 20900000          lds R2,_amfm_flag
 0108 2220              tst R2
 010A 61F0              breq L19
 010C                   .dbline 291
                       ;             {
 010C                   .dbline 292
                       ;                 g_vfd_grid_buffer[9] = VFD_alpha_A;
 010C 83EE              ldi R24,4579
 010E 91E1              ldi R25,17
 0110 90931A00          sts _g_vfd_grid_buffer+18+1,R25
 0114 80931900          sts _g_vfd_grid_buffer+18,R24

⌨️ 快捷键说明

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