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

📄 vfdtask.lst

📁 一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不同的VFD, 功放芯片用M61538
💻 LST
📖 第 1 页 / 共 5 页
字号:
0008 FF                MOV     R7,A
0009         ?C0006:
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 14  

0009 C295              CLR     VFD_CLK
                                           ; SOURCE LINE # 68
000B 00                NOP     
                                           ; SOURCE LINE # 69
000C E500        R     MOV     A,VFD_SendByte
000E 30E004            JNB     ACC.0,?C0009
                                           ; SOURCE LINE # 70
0011 D296              SETB    VFD_DATA
                                           ; SOURCE LINE # 71
0013 8002              SJMP    ?C0010
0015         ?C0009:
                                           ; SOURCE LINE # 73
                                           ; SOURCE LINE # 74
0015 C296              CLR     VFD_DATA
                                           ; SOURCE LINE # 75
0017         ?C0010:
                                           ; SOURCE LINE # 76
0017 00                NOP     
                                           ; SOURCE LINE # 77
0018 D295              SETB    VFD_CLK
                                           ; SOURCE LINE # 78
001A E500        R     MOV     A,VFD_SendByte
001C C3                CLR     C
001D 13                RRC     A
001E F500        R     MOV     VFD_SendByte,A
                                           ; SOURCE LINE # 79
0020 00                NOP     
                                           ; SOURCE LINE # 80
0021 0F                INC     R7
0022 BF08E4            CJNE    R7,#08H,?C0006
0025         ?C0007:
                                           ; SOURCE LINE # 81
0025 D296              SETB    VFD_DATA
                                           ; SOURCE LINE # 82
0027 22                RET     
             ; FUNCTION _VFD_SendByte (END)

             ; FUNCTION _VFD_SendCmd (BEGIN)
                                           ; SOURCE LINE # 88
0000 8F00        R     MOV     VFD_Byte,R7
                                           ; SOURCE LINE # 89
                                           ; SOURCE LINE # 90
0002 7F01              MOV     R7,#01H
0004 120000      E     LCALL   _DelayX1ms
                                           ; SOURCE LINE # 91
0007 C294              CLR     VFD_CS
                                           ; SOURCE LINE # 92
0009 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 93
000C 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 94
000F AF00        R     MOV     R7,VFD_Byte
0011 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 95
0014 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 96
0017 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 97
001A D294              SETB    VFD_CS
                                           ; SOURCE LINE # 98
001C 7F02              MOV     R7,#02H
001E 020000      E     LJMP    _DelayX1ms
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 15  

             ; FUNCTION _VFD_SendCmd (END)

             ; FUNCTION L?0090 (BEGIN)
0000 7BFF              MOV     R3,#0FFH
0002         L?0091:
0002 E4                CLR     A
0003 F500        R     MOV     ?_VFD_Display?BYTE+04H,A
0005 F500        R     MOV     ?_VFD_Display?BYTE+05H,A
0007 F500        R     MOV     ?_VFD_Display?BYTE+06H,A
0009 7D05              MOV     R5,#05H
             ; FUNCTION _VFD_Display (BEGIN)
                                           ; SOURCE LINE # 385
000B 8B00        R     MOV     str,R3
000D 8A00        R     MOV     str+01H,R2
000F 8900        R     MOV     str+02H,R1
0011 8D00        R     MOV     str_length,R5
                                           ; SOURCE LINE # 386
                                           ; SOURCE LINE # 397
0013 D3                SETB    C
0014 E500        R     MOV     A,Number+01H
0016 940F              SUBB    A,#0FH
0018 E500        R     MOV     A,Number
001A 9427              SUBB    A,#027H
001C 4005              JC      ?C0013
                                           ; SOURCE LINE # 398
001E 750005      R     MOV     Number_Length,#05H
0021 8033              SJMP    ?C0014
0023         ?C0013:
                                           ; SOURCE LINE # 399
0023 D3                SETB    C
0024 E500        R     MOV     A,Number+01H
0026 94E7              SUBB    A,#0E7H
0028 E500        R     MOV     A,Number
002A 9403              SUBB    A,#03H
002C 4005              JC      ?C0015
                                           ; SOURCE LINE # 400
002E 750004      R     MOV     Number_Length,#04H
0031 8023              SJMP    ?C0014
0033         ?C0015:
                                           ; SOURCE LINE # 401
0033 D3                SETB    C
0034 E500        R     MOV     A,Number+01H
0036 9463              SUBB    A,#063H
0038 E500        R     MOV     A,Number
003A 9400              SUBB    A,#00H
003C 4005              JC      ?C0017
                                           ; SOURCE LINE # 402
003E 750003      R     MOV     Number_Length,#03H
0041 8013              SJMP    ?C0014
0043         ?C0017:
                                           ; SOURCE LINE # 403
0043 D3                SETB    C
0044 E500        R     MOV     A,Number+01H
0046 9409              SUBB    A,#09H
0048 E500        R     MOV     A,Number
004A 9400              SUBB    A,#00H
004C 4005              JC      ?C0019
                                           ; SOURCE LINE # 404
004E 750002      R     MOV     Number_Length,#02H
0051 8003              SJMP    ?C0014
0053         ?C0019:
                                           ; SOURCE LINE # 406
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 16  

0053 750001      R     MOV     Number_Length,#01H
0056         ?C0014:
                                           ; SOURCE LINE # 409
0056 7F40              MOV     R7,#040H
0058 120000      R     LCALL   _VFD_SendCmd
                                           ; SOURCE LINE # 411
005B E4                CLR     A
005C F500        R     MOV     i,A
005E         ?C0021:
                                           ; SOURCE LINE # 412
                                           ; SOURCE LINE # 415
005E C294              CLR     VFD_CS
                                           ; SOURCE LINE # 416
0060 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 417
0063 E500        R     MOV     A,i
0065 900000      R     MOV     DPTR,#VFD_Refresh_Address
0068 93                MOVC    A,@A+DPTR
0069 24C0              ADD     A,#0C0H
006B FF                MOV     R7,A
006C 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 418
006F E500        R     MOV     A,str_length
0071 D3                SETB    C
0072 9400              SUBB    A,#00H
0074 4070              JC      ?C0024
                                           ; SOURCE LINE # 419
                                           ; SOURCE LINE # 420
0076 AB00        R     MOV     R3,str
0078 AA00        R     MOV     R2,str+01H
007A A900        R     MOV     R1,str+02H
007C 850082      R     MOV     DPL,i
007F 758300            MOV     DPH,#00H
0082 120000      E     LCALL   ?C?CLDOPTR
0085 FF                MOV     R7,A
0086 C3                CLR     C
0087 9430              SUBB    A,#030H
0089 4012              JC      ?C0025
008B EF                MOV     A,R7
008C D3                SETB    C
008D 9439              SUBB    A,#039H
008F 500C              JNC     ?C0025
                                           ; SOURCE LINE # 421
0091 EF                MOV     A,R7
0092 25E0              ADD     A,ACC
0094 2400        R     ADD     A,#LOW NUMBER_DISPLAY+0FFA0H
0096 F582              MOV     DPL,A
0098 E4                CLR     A
0099 3400        R     ADDC    A,#HIGH NUMBER_DISPLAY+0FFA0H
009B 8016              SJMP    ?C0081
009D         ?C0025:
                                           ; SOURCE LINE # 422
009D EF                MOV     A,R7
009E C3                CLR     C
009F 9441              SUBB    A,#041H
00A1 401D              JC      ?C0027
00A3 EF                MOV     A,R7
00A4 D3                SETB    C
00A5 945A              SUBB    A,#05AH
00A7 5017              JNC     ?C0027
                                           ; SOURCE LINE # 423
00A9 EF                MOV     A,R7
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 17  

00AA 25E0              ADD     A,ACC
00AC 2400        R     ADD     A,#LOW LETTER_DISPLAY+0FF7EH
00AE F582              MOV     DPL,A
00B0 E4                CLR     A
00B1 3400        R     ADDC    A,#HIGH LETTER_DISPLAY+0FF7EH
00B3         ?C0081:
00B3 F583              MOV     DPH,A
00B5 E4                CLR     A
00B6 93                MOVC    A,@A+DPTR
00B7 F500        R     MOV     VFD_DATA,A
00B9 7401              MOV     A,#01H
00BB 93                MOVC    A,@A+DPTR
00BC F500        R     MOV     VFD_DATA+01H,A
00BE 8021              SJMP    ?C0026
00C0         ?C0027:
                                           ; SOURCE LINE # 424
00C0 EF                MOV     A,R7
00C1 B42007            CJNE    A,#020H,?C0029
                                           ; SOURCE LINE # 425
00C4 E4                CLR     A
00C5 F500        R     MOV     VFD_DATA,A
00C7 F500        R     MOV     VFD_DATA+01H,A
00C9 8016              SJMP    ?C0026
00CB         ?C0029:
                                           ; SOURCE LINE # 426
00CB EF                MOV     A,R7
00CC B42B08            CJNE    A,#02BH,?C0031
                                           ; SOURCE LINE # 427
00CF 750011      R     MOV     VFD_DATA,#011H
00D2 750088      R     MOV     VFD_DATA+01H,#088H
00D5 800A              SJMP    ?C0026
00D7         ?C0031:
                                           ; SOURCE LINE # 428
00D7 EF                MOV     A,R7
00D8 B42D06            CJNE    A,#02DH,?C0026
                                           ; SOURCE LINE # 429
00DB 750001      R     MOV     VFD_DATA,#01H
00DE 750080      R     MOV     VFD_DATA+01H,#080H
00E1         ?C0026:
                                           ; SOURCE LINE # 430
00E1 1500        R     DEC     str_length
                                           ; SOURCE LINE # 431
00E3 020000      R     LJMP    ?C0034
00E6         ?C0024:
                                           ; SOURCE LINE # 433
                                           ; SOURCE LINE # 434
00E6 C3                CLR     C
00E7 7404              MOV     A,#04H
00E9 9500        R     SUBB    A,i
00EB FF                MOV     R7,A
00EC E500        R     MOV     A,Number_Length
00EE D3                SETB    C
00EF 9F                SUBB    A,R7
00F0 5008              JNC     ?C0035
                                           ; SOURCE LINE # 435
00F2 E4                CLR     A
00F3 F500        R     MOV     VFD_DATA,A
00F5 F500        R     MOV     VFD_DATA+01H,A
00F7 020000      R     LJMP    ?C0034
00FA         ?C0035:
                                           ; SOURCE LINE # 437
                                           ; SOURCE LINE # 439
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 18  

00FA E500        R     MOV     A,Number_Length
00FC B40530            CJNE    A,#05H,?C0037
                                           ; SOURCE LINE # 440
                                           ; SOURCE LINE # 441
00FF AE00        R     MOV     R6,Number
0101 AF00        R     MOV     R7,Number+01H
0103 7C27              MOV     R4,#027H
0105 7D10              MOV     R5,#010H
0107 120000      E     LCALL   ?C?UIDIV
010A EF                MOV     A,R7

⌨️ 快捷键说明

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