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

📄 vfdtask.lst

📁 一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不同的VFD, 功放芯片用M61538
💻 LST
📖 第 1 页 / 共 5 页
字号:
010B 25E0              ADD     A,ACC
010D FF                MOV     R7,A
010E EE                MOV     A,R6
010F 33                RLC     A
0110 FE                MOV     R6,A
0111 7400        R     MOV     A,#LOW NUMBER_DISPLAY
0113 2F                ADD     A,R7
0114 F582              MOV     DPL,A
0116 7400        R     MOV     A,#HIGH NUMBER_DISPLAY
0118 3E                ADDC    A,R6
0119 F583              MOV     DPH,A
011B E4                CLR     A
011C 93                MOVC    A,@A+DPTR
011D F500        R     MOV     VFD_DATA,A
011F 7401              MOV     A,#01H
0121 93                MOVC    A,@A+DPTR
0122 F500        R     MOV     VFD_DATA+01H,A
                                           ; SOURCE LINE # 442
0124 AE00        R     MOV     R6,Number
0126 AF00        R     MOV     R7,Number+01H
0128 7C27              MOV     R4,#027H
012A 7D10              MOV     R5,#010H
                                           ; SOURCE LINE # 443
                                           ; SOURCE LINE # 444
012C 020000      R     LJMP    ?C0084
012F         ?C0037:
                                           ; SOURCE LINE # 445
012F E500        R     MOV     A,Number_Length
0131 B4042F            CJNE    A,#04H,?C0039
                                           ; SOURCE LINE # 446
                                           ; SOURCE LINE # 447
0134 AE00        R     MOV     R6,Number
0136 AF00        R     MOV     R7,Number+01H
0138 7C03              MOV     R4,#03H
013A 7DE8              MOV     R5,#0E8H
013C 120000      E     LCALL   ?C?UIDIV
013F EF                MOV     A,R7
0140 25E0              ADD     A,ACC
0142 FF                MOV     R7,A
0143 EE                MOV     A,R6
0144 33                RLC     A
0145 FE                MOV     R6,A
0146 7400        R     MOV     A,#LOW NUMBER_DISPLAY
0148 2F                ADD     A,R7
0149 F582              MOV     DPL,A
014B 7400        R     MOV     A,#HIGH NUMBER_DISPLAY
014D 3E                ADDC    A,R6
014E F583              MOV     DPH,A
0150 E4                CLR     A
0151 93                MOVC    A,@A+DPTR
0152 F500        R     MOV     VFD_DATA,A
0154 7401              MOV     A,#01H
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 19  

0156 93                MOVC    A,@A+DPTR
0157 F500        R     MOV     VFD_DATA+01H,A
                                           ; SOURCE LINE # 448
0159 AE00        R     MOV     R6,Number
015B AF00        R     MOV     R7,Number+01H
015D 7C03              MOV     R4,#03H
015F 7DE8              MOV     R5,#0E8H
0161         ?C0082:
                                           ; SOURCE LINE # 449
                                           ; SOURCE LINE # 450
0161 8066              SJMP    ?C0084
0163         ?C0039:
                                           ; SOURCE LINE # 452
0163 E500        R     MOV     A,Number_Length
0165 B4032F            CJNE    A,#03H,?C0041
                                           ; SOURCE LINE # 453
                                           ; SOURCE LINE # 454
0168 AE00        R     MOV     R6,Number
016A AF00        R     MOV     R7,Number+01H
016C 7C00              MOV     R4,#00H
016E 7D64              MOV     R5,#064H
0170 120000      E     LCALL   ?C?UIDIV
0173 EF                MOV     A,R7
0174 25E0              ADD     A,ACC
0176 FF                MOV     R7,A
0177 EE                MOV     A,R6
0178 33                RLC     A
0179 FE                MOV     R6,A
017A 7400        R     MOV     A,#LOW NUMBER_DISPLAY
017C 2F                ADD     A,R7
017D F582              MOV     DPL,A
017F 7400        R     MOV     A,#HIGH NUMBER_DISPLAY
0181 3E                ADDC    A,R6
0182 F583              MOV     DPH,A
0184 E4                CLR     A
0185 93                MOVC    A,@A+DPTR
0186 F500        R     MOV     VFD_DATA,A
0188 7401              MOV     A,#01H
018A 93                MOVC    A,@A+DPTR
018B F500        R     MOV     VFD_DATA+01H,A
                                           ; SOURCE LINE # 455
018D AE00        R     MOV     R6,Number
018F AF00        R     MOV     R7,Number+01H
0191 7C00              MOV     R4,#00H
0193 7D64              MOV     R5,#064H
0195         ?C0083:
                                           ; SOURCE LINE # 456
                                           ; SOURCE LINE # 457
0195 8032              SJMP    ?C0084
0197         ?C0041:
                                           ; SOURCE LINE # 458
0197 E500        R     MOV     A,Number_Length
0199 B40238            CJNE    A,#02H,?C0043
                                           ; SOURCE LINE # 459
                                           ; SOURCE LINE # 460
019C AE00        R     MOV     R6,Number
019E AF00        R     MOV     R7,Number+01H
01A0 7C00              MOV     R4,#00H
01A2 7D0A              MOV     R5,#0AH
01A4 120000      E     LCALL   ?C?UIDIV
01A7 EF                MOV     A,R7
01A8 25E0              ADD     A,ACC
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 20  

01AA FF                MOV     R7,A
01AB EE                MOV     A,R6
01AC 33                RLC     A
01AD FE                MOV     R6,A
01AE 7400        R     MOV     A,#LOW NUMBER_DISPLAY
01B0 2F                ADD     A,R7
01B1 F582              MOV     DPL,A
01B3 7400        R     MOV     A,#HIGH NUMBER_DISPLAY
01B5 3E                ADDC    A,R6
01B6 F583              MOV     DPH,A
01B8 E4                CLR     A
01B9 93                MOVC    A,@A+DPTR
01BA F500        R     MOV     VFD_DATA,A
01BC 7401              MOV     A,#01H
01BE 93                MOVC    A,@A+DPTR
01BF F500        R     MOV     VFD_DATA+01H,A
                                           ; SOURCE LINE # 461
01C1 AE00        R     MOV     R6,Number
01C3 AF00        R     MOV     R7,Number+01H
01C5 7C00              MOV     R4,#00H
01C7 7D0A              MOV     R5,#0AH
01C9         ?C0084:
01C9 120000      E     LCALL   ?C?UIDIV
01CC 8C00        R     MOV     Number,R4
01CE 8D00        R     MOV     Number+01H,R5
                                           ; SOURCE LINE # 462
01D0 1500        R     DEC     Number_Length
                                           ; SOURCE LINE # 463
01D2 8023              SJMP    ?C0038
01D4         ?C0043:
                                           ; SOURCE LINE # 464
01D4 E500        R     MOV     A,Number_Length
01D6 B4011E            CJNE    A,#01H,?C0038
                                           ; SOURCE LINE # 465
                                           ; SOURCE LINE # 466
01D9 E500        R     MOV     A,Number+01H
01DB 25E0              ADD     A,ACC
01DD FF                MOV     R7,A
01DE E500        R     MOV     A,Number
01E0 33                RLC     A
01E1 FE                MOV     R6,A
01E2 7400        R     MOV     A,#LOW NUMBER_DISPLAY
01E4 2F                ADD     A,R7
01E5 F582              MOV     DPL,A
01E7 7400        R     MOV     A,#HIGH NUMBER_DISPLAY
01E9 3E                ADDC    A,R6
01EA F583              MOV     DPH,A
01EC E4                CLR     A
01ED 93                MOVC    A,@A+DPTR
01EE F500        R     MOV     VFD_DATA,A
01F0 7401              MOV     A,#01H
01F2 93                MOVC    A,@A+DPTR
01F3 F500        R     MOV     VFD_DATA+01H,A
                                           ; SOURCE LINE # 467
01F5 1500        R     DEC     Number_Length
                                           ; SOURCE LINE # 468
01F7         ?C0038:
                                           ; SOURCE LINE # 470
01F7 E500        R     MOV     A,Need_Dot_On
01F9 B40108            CJNE    A,#01H,?C0034
01FC E500        R     MOV     A,i
01FE B40303            CJNE    A,#03H,?C0034
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 21  

                                           ; SOURCE LINE # 471
0201 430080      R     ORL     VFD_DATA,#080H
                                           ; SOURCE LINE # 473
                                           ; SOURCE LINE # 475
0204         ?C0034:
                                           ; SOURCE LINE # 477
0204 AF00        R     MOV     R7,VFD_DATA+01H
0206 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 478
0209 E500        R     MOV     A,VFD_DATA
020B FF                MOV     R7,A
020C 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 480
020F 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 481
0212 D294              SETB    VFD_CS
                                           ; SOURCE LINE # 482
0214 0500        R     INC     i
0216 E500        R     MOV     A,i
0218 C3                CLR     C
0219 9405              SUBB    A,#05H
021B 5003              JNC     $ + 5H
021D 020000      R     LJMP    ?C0021
                                           ; SOURCE LINE # 483
0220         ?C0047:
0220 22                RET     
             ; FUNCTION _VFD_Display (END)

             ; FUNCTION _VFD_WriteLedPort (BEGIN)
                                           ; SOURCE LINE # 495
0000 8F00        R     MOV     LedPort,R7
                                           ; SOURCE LINE # 496
                                           ; SOURCE LINE # 497
0002 C294              CLR     VFD_CS
                                           ; SOURCE LINE # 498
0004 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 499
0007 7F41              MOV     R7,#041H
0009 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 500
000C AF00        R     MOV     R7,LedPort
000E 120000      R     LCALL   _VFD_SendByte
                                           ; SOURCE LINE # 501
0011 120000      E     LCALL   Delay5US
                                           ; SOURCE LINE # 502
0014 D294              SETB    VFD_CS
                                           ; SOURCE LINE # 503
0016 22                RET     
             ; FUNCTION _VFD_WriteLedPort (END)

             ; FUNCTION VFD_ModeSet (BEGIN)
                                           ; SOURCE LINE # 509
                                           ; SOURCE LINE # 510
                                           ; SOURCE LINE # 511
0000 7F02              MOV     R7,#02H
0002 020000      R     LJMP    _VFD_SendCmd
             ; FUNCTION VFD_ModeSet (END)

             ; FUNCTION VFD_DisplayOn (BEGIN)
                                           ; SOURCE LINE # 518
                                           ; SOURCE LINE # 519
                                           ; SOURCE LINE # 520
C51 COMPILER V7.20   VFDTASK                                                               07/16/2005 13:42:40 PAGE 22  

0000 7F8F              MOV     R7,#08FH
0002 020000      R     LJMP    _VFD_SendCmd
             ; FUNCTION VFD_DisplayOn (END)

             ; FUNCTION VFD_ClearALL (BEGIN)
                                           ; SOURCE LINE # 527
                                           ; SOURCE LINE # 528
                                           ; SOURCE LINE # 530
0000 7A00        R     MOV     R2,#HIGH ?SC_0
0002 7900        R     MOV     R1,#LOW ?SC_0
0004 120000      R     LCALL   L?0090
                                           ; SOURCE LINE # 531
0007 E4                CLR     A
0008 FF                MOV     R7,A
0009 FE                MOV     R6,A
000A 020000      R     LJMP    _VFD_ICON_Display
             ; FUNCTION VFD_ClearALL (END)

             ; FUNCTION _VFD_ICON_Display (BEGIN)
                                           ; SOURCE LINE # 539
0000 8E00        R     MOV     ICON_Special,R6
0002 8F00        R     MOV     ICON_Special+01H,R7
                                           ; SOURCE LINE # 540
          

⌨️ 快捷键说明

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