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

📄 keyproc.lst

📁 一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不同的VFD, 功放芯片用M61538
💻 LST
📖 第 1 页 / 共 5 页
字号:
             ; FUNCTION KEY_Proc (END)

             ; FUNCTION Power_Proc (BEGIN)
                                           ; SOURCE LINE # 281
                                           ; SOURCE LINE # 282
                                           ; SOURCE LINE # 284
0000 E500        E     MOV     A,POWER_Status
0002 7052              JNZ     ?C0067
                                           ; SOURCE LINE # 285
                                           ; SOURCE LINE # 286
0004 120000      E     LCALL   Tuner_Channel_Init
                                           ; SOURCE LINE # 287
0007 E4                CLR     A
0008 F500        E     MOV     FMAM_PRESSED,A
                                           ; SOURCE LINE # 288
000A F500        E     MOV     Auto_Scan_Enable,A
                                           ; SOURCE LINE # 289
000C F500        E     MOV     Auto_Scan_Start,A
                                           ; SOURCE LINE # 290
000E F500        E     MOV     Manual_Scan_Flag,A
                                           ; SOURCE LINE # 291
0010 F500        E     MOV     Auto_Is_Reach,A
                                           ; SOURCE LINE # 292
0012 750001      E     MOV     Mono_Stereo_Select,#01H
                                           ; SOURCE LINE # 293
0015 750001      E     MOV     FM_AM_Select,#01H
                                           ; SOURCE LINE # 294
0018 750064      E     MOV     Channel_Display,#064H
                                           ; SOURCE LINE # 295
001B FF                MOV     R7,A
001C 120000      E     LCALL   _VFD_WriteLedPort
                                           ; SOURCE LINE # 296
001F 120000      E     LCALL   Tuner_Open
                                           ; SOURCE LINE # 297
0022 120000      E     LCALL   VFD_DisplayOn
                                           ; SOURCE LINE # 298
0025 7F0A              MOV     R7,#0AH
0027 120000      E     LCALL   _DelayX1ms
                                           ; SOURCE LINE # 299
002A E4                CLR     A
002B F500        E     MOV     Mute_Switch,A
                                           ; SOURCE LINE # 300
002D 750001      E     MOV     Volume_Control,#01H
                                           ; SOURCE LINE # 301
0030 750001      E     MOV     Current_State,#01H
                                           ; SOURCE LINE # 302
0033 120000      R     LCALL   Source_Set
                                           ; SOURCE LINE # 303
;---- Variable 'i' assigned to Register 'R7' ----
0036         ?C0068:
                                           ; SOURCE LINE # 304
0036 7F07              MOV     R7,#07H
0038 7800        E     MOV     R0,#LOW VOLUME_CHANNEL
003A 741E              MOV     A,#01EH
003C         ?C0108:
003C F6                MOV     @R0,A
003D 08                INC     R0
C51 COMPILER V7.20   KEYPROC                                                               07/16/2005 13:42:40 PAGE 18  

003E DFFC              DJNZ    R7,?C0108
0040         ?C0069:
                                           ; SOURCE LINE # 305
0040 E4                CLR     A
0041 F500        E     MOV     Memory_Start,A
                                           ; SOURCE LINE # 306
0043 F500        E     MOV     Digital_Number,A
                                           ; SOURCE LINE # 307
0045 FF                MOV     R7,A
0046 120000      E     LCALL   _Volume_Tune
                                           ; SOURCE LINE # 308
0049 750000      E     MOV     TO_MAIN_DISPLAY,#00H
004C 750019      E     MOV     TO_MAIN_DISPLAY+01H,#019H
                                           ; SOURCE LINE # 309
004F 750001      E     MOV     POWER_Status,#01H
                                           ; SOURCE LINE # 310
0052 C290              CLR     AV_STANDBY
                                           ; SOURCE LINE # 313
0054 801C              SJMP    ?C0071
0056         ?C0067:
                                           ; SOURCE LINE # 314
0056 E500        E     MOV     A,POWER_Status
0058 B40117            CJNE    A,#01H,?C0071
                                           ; SOURCE LINE # 315
                                           ; SOURCE LINE # 316
005B E4                CLR     A
005C F500        E     MOV     Volume_Control,A
                                           ; SOURCE LINE # 317
005E D290              SETB    AV_STANDBY
                                           ; SOURCE LINE # 318
0060 F500        E     MOV     Current_State,A
                                           ; SOURCE LINE # 319
0062 7F0F              MOV     R7,#0FH
0064 120000      E     LCALL   _VFD_WriteLedPort
                                           ; SOURCE LINE # 320
0067 120000      E     LCALL   VFD_ClearALL
                                           ; SOURCE LINE # 321
006A 750001      E     MOV     Mute_Switch,#01H
                                           ; SOURCE LINE # 322
006D E4                CLR     A
006E F500        E     MOV     Current_State,A
                                           ; SOURCE LINE # 323
0070 F500        E     MOV     POWER_Status,A
                                           ; SOURCE LINE # 325
0072         ?C0071:
                                           ; SOURCE LINE # 326
0072 7500FF      E     MOV     Current_Key,#0FFH
                                           ; SOURCE LINE # 327
0075 22                RET     
             ; FUNCTION Power_Proc (END)

             ; FUNCTION Proc_Volume_UP (BEGIN)
                                           ; SOURCE LINE # 329
                                           ; SOURCE LINE # 330
                                           ; SOURCE LINE # 333
0000 E4                CLR     A
0001 F500        E     MOV     Mute_Switch,A
                                           ; SOURCE LINE # 334
0003 C290              CLR     AV_STANDBY
                                           ; SOURCE LINE # 335
;---- Variable 'i' assigned to Register 'R7' ----
0005 FF                MOV     R7,A
C51 COMPILER V7.20   KEYPROC                                                               07/16/2005 13:42:40 PAGE 19  

0006         ?C0074:
                                           ; SOURCE LINE # 336
                                           ; SOURCE LINE # 337
0006 7400        E     MOV     A,#LOW VOLUME_CHANNEL
0008 2F                ADD     A,R7
0009 F8                MOV     R0,A
000A E6                MOV     A,@R0
000B C3                CLR     C
000C 943C              SUBB    A,#03CH
000E 5001              JNC     ?C0076
                                           ; SOURCE LINE # 338
0010 06                INC     @R0
                                           ; SOURCE LINE # 339
0011         ?C0076:
0011 0F                INC     R7
0012 BF07F1            CJNE    R7,#07H,?C0074
0015         ?C0075:
                                           ; SOURCE LINE # 340
0015 E500        E     MOV     A,VOLUME_CHANNEL
0017 D3                SETB    C
0018 9409              SUBB    A,#09H
001A 7BFF              MOV     R3,#0FFH
001C 4006              JC      ?C0078
                                           ; SOURCE LINE # 341
001E 7A00        R     MOV     R2,#HIGH ?SC_32
0020 7900        R     MOV     R1,#LOW ?SC_32
0022 8004              SJMP    ?C0112
0024         ?C0078:
                                           ; SOURCE LINE # 343
0024 7A00        R     MOV     R2,#HIGH ?SC_36
0026 7900        R     MOV     R1,#LOW ?SC_36
0028         ?C0112:
0028 750000      E     MOV     ?_VFD_Display?BYTE+04H,#00H
002B 850000      E     MOV     ?_VFD_Display?BYTE+05H,VOLUME_CHANNEL
002E E4                CLR     A
002F F500        E     MOV     ?_VFD_Display?BYTE+06H,A
0031 7D03              MOV     R5,#03H
0033 120000      E     LCALL   _VFD_Display
0036         ?C0079:
                                           ; SOURCE LINE # 344
0036 E4                CLR     A
0037 FF                MOV     R7,A
0038 FE                MOV     R6,A
0039 120000      E     LCALL   _VFD_ICON_Display
                                           ; SOURCE LINE # 345
003C E4                CLR     A
003D FF                MOV     R7,A
003E 120000      E     LCALL   _Volume_Tune
                                           ; SOURCE LINE # 346
0041 E4                CLR     A
0042 F500        E     MOV     Volume_Key_Dealed,A
                                           ; SOURCE LINE # 347
0044 F500        E     MOV     TO_MAIN_DISPLAY,A
0046 750032      E     MOV     TO_MAIN_DISPLAY+01H,#032H
                                           ; SOURCE LINE # 348
0049 22                RET     
             ; FUNCTION Proc_Volume_UP (END)

             ; FUNCTION Proc_Volume_DOWN (BEGIN)
                                           ; SOURCE LINE # 349
                                           ; SOURCE LINE # 350
                                           ; SOURCE LINE # 353
C51 COMPILER V7.20   KEYPROC                                                               07/16/2005 13:42:40 PAGE 20  

0000 E4                CLR     A
0001 F500        E     MOV     Mute_Switch,A
                                           ; SOURCE LINE # 354
0003 C290              CLR     AV_STANDBY
                                           ; SOURCE LINE # 356
;---- Variable 'i' assigned to Register 'R7' ----
0005 FF                MOV     R7,A
0006         ?C0081:
                                           ; SOURCE LINE # 357
                                           ; SOURCE LINE # 358
0006 7400        E     MOV     A,#LOW VOLUME_CHANNEL
0008 2F                ADD     A,R7
0009 F8                MOV     R0,A
000A E6                MOV     A,@R0
000B D3                SETB    C
000C 9400              SUBB    A,#00H
000E 4001              JC      ?C0083
                                           ; SOURCE LINE # 359
0010 16                DEC     @R0
                                           ; SOURCE LINE # 360
0011         ?C0083:
0011 0F                INC     R7
0012 BF07F1            CJNE    R7,#07H,?C0081
0015         ?C0082:
                                           ; SOURCE LINE # 361
0015 E500        E     MOV     A,VOLUME_CHANNEL
0017 7002              JNZ     ?C0085
                                           ; SOURCE LINE # 362
0019 D290              SETB    AV_STANDBY
001B         ?C0085:
                                           ; SOURCE LINE # 364
001B E500        E     MOV     A,VOLUME_CHANNEL
001D D3                SETB    C
001E 9409              SUBB    A,#09H
0020 7BFF              MOV     R3,#0FFH
0022 4006              JC      ?C0086
                                           ; SOURCE LINE # 365
0024 7A00        R     MOV     R2,#HIGH ?SC_32
0026 7900        R     MOV     R1,#LOW ?SC_32
0028 8004              SJMP    ?C0113
002A         ?C0086:
                                           ; SOURCE LINE # 367
002A 7A00        R     MOV     R2,#HIGH ?SC_36
002C 7900        R     MOV     R1,#LOW ?SC_36
002E         ?C0113:
002E 750000      E     MOV     ?_VFD_Display?BYTE+04H,#00H
0031 850000      E     MOV     ?_VFD_Display?BYTE+05H,VOLUME_CHANNEL
0034 E4                CLR     A
0035 F500        E     MOV     ?_VFD_Display?BYTE+06H,A
0037 7D03              MOV     R5,#03H
0039 120000      E     LCALL   _VFD_Display
003C         ?C0087:
                                           ; SOURCE LINE # 368
003C E4                CLR     A
003D FF                MOV     R7,A
003E FE                MOV     R6,A
003F 120000      E     LCALL   _VFD_ICON_Display
                                           ; SOURCE LINE # 369
0042 E4                CLR     A
0043 F500        E     MOV     Volume_Key_Dealed,A
                                           ; SOURCE LINE # 370
0045 FF                MOV     R7,A
C51 COMPILER V7.20   KEYPROC                                                    

⌨️ 快捷键说明

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