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

📄 led_mx4.lst

📁 自己做的时钟
💻 LST
📖 第 1 页 / 共 3 页
字号:
  18      =1     This code is copyright (c) 2001 by Michael J. Pont.
  19      =1   
  20      =1     See book for copyright details and other information.
  21      =1  
  22      =1  -*------------------------------------------------------------------*/
  23      =1  
  24      =1  // ------ Public constants -----------------------------------------
  25      =1  
  26      =1  #define LED_NUM_DIGITS (4)
  27      =1  
  28      =1  // ------ Public function prototypes -------------------------------
  29      =1  
  30      =1  void LED_MX4_Display_Update(void);
  31      =1  
  32      =1  /*------------------------------------------------------------------*-
  33      =1    ---- END OF FILE -------------------------------------------------
  34      =1  -*------------------------------------------------------------------*/
  29          
  30          // ------ Public variable definitions ------------------------------
  31          
  32          // Lookup table - stored in code area
  33          // See Port.H for connections and code details
  34          
  35          tByte code LED_Table_G[20] = 
C51 COMPILER V8.05a   LED_MX4                                                              06/07/2007 19:40:27 PAGE 9   

  36          // 0     1     2     3     4     5     6     7     8     9
  37          {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,
  38          // 0.    1.    2.    3.    4.    5.    6.    7.    8.    9.
  39           0xBF, 0x86, 0xDB, 0xCF, 0xE6, 0xED, 0xFD, 0x87, 0xFF, 0xEF};
  40          
  41          // Global data formatted for display (initially 0,0,0,0)
  42          tByte LED_Mx4_Data_G[4] = {0x3F,0x3F,0x3F,0x3F};
  43          
  44          
  45          // ------ Private variable definitions------------------------------
  46          
  47          static tByte Digit_G;
  48          
  49          /*------------------------------------------------------------------*-
  50          
  51            LED_MX4_Display_Update()
  52          
  53            Updates (four) multiplexed 8-segment LED displays.
  54          
  55            Usually aim to scheduled at around 3ms intervals: typically
  56            around a 1% CPU load on standard 8051.  
  57          
  58          -*------------------------------------------------------------------*/
  59          void LED_MX4_Display_Update(void)
  60             {
  61   1         
  62   1         // Increment the digit to be displayed
  63   1         if (++Digit_G == LED_NUM_DIGITS)
  64   1            {
  65   2            Digit_G = 0;
  66   2            }
  67   1      
  68   1         // Allows any pins to be used
  69   1         switch (Digit_G)
  70   1            {
  71   2            case 0:
  72   2               {      
  73   3               LED_DIGIT_0 = 0;
  74   3               LED_DIGIT_1 = 0;
  75   3               LED_DIGIT_2 = 0;
  76   3               LED_DIGIT_3 = 1;
  77   3               break;
  78   3               }
  79   2      
  80   2            case 1:
  81   2               {      
  82   3               LED_DIGIT_0 = 0;
  83   3               LED_DIGIT_1 = 0;
  84   3               LED_DIGIT_2 = 1;
  85   3               LED_DIGIT_3 = 0;
  86   3               break;
  87   3               }
  88   2      
  89   2            case 2:
  90   2               {      
  91   3               LED_DIGIT_0 = 0;
  92   3               LED_DIGIT_1 = 1;
  93   3               LED_DIGIT_2 = 0;
  94   3               LED_DIGIT_3 = 0;
  95   3               break;
  96   3               }
  97   2      
C51 COMPILER V8.05a   LED_MX4                                                              06/07/2007 19:40:27 PAGE 10  

  98   2            case 3:
  99   2               {      
 100   3               LED_DIGIT_0 = 1;
 101   3               LED_DIGIT_1 = 0;
 102   3               LED_DIGIT_2 = 0;
 103   3               LED_DIGIT_3 = 0;
 104   3               }
 105   2            }
 106   1      
 107   1         LED_DATA_PORT = 255 - LED_Mx4_Data_G[Digit_G];
 108   1         }
 109          
 110          /*------------------------------------------------------------------*-
 111            ---- END OF FILE -------------------------------------------------
 112          -*------------------------------------------------------------------*/
 113          
C51 COMPILER V8.05a   LED_MX4                                                              06/07/2007 19:40:27 PAGE 11  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION LED_MX4_Display_Update (BEGIN)
                                           ; SOURCE LINE # 59
                                           ; SOURCE LINE # 60
                                           ; SOURCE LINE # 63
0000 0500        R     INC     Digit_G
0002 E500        R     MOV     A,Digit_G
0004 B40403            CJNE    A,#04H,?C0001
                                           ; SOURCE LINE # 64
                                           ; SOURCE LINE # 65
0007 E4                CLR     A
0008 F500        R     MOV     Digit_G,A
                                           ; SOURCE LINE # 66
000A         ?C0001:
                                           ; SOURCE LINE # 69
000A E500        R     MOV     A,Digit_G
000C 14                DEC     A
000D 6014              JZ      ?C0004
000F 14                DEC     A
0010 601B              JZ      ?C0005
0012 14                DEC     A
0013 6022              JZ      ?C0006
0015 2403              ADD     A,#03H
0017 7026              JNZ     ?C0002
                                           ; SOURCE LINE # 70
                                           ; SOURCE LINE # 71
0019         ?C0003:
                                           ; SOURCE LINE # 72
                                           ; SOURCE LINE # 73
0019 C2B3              CLR     LED_DIGIT_0
                                           ; SOURCE LINE # 74
001B C2B4              CLR     LED_DIGIT_1
                                           ; SOURCE LINE # 75
001D C2B5              CLR     LED_DIGIT_2
                                           ; SOURCE LINE # 76
001F D2B6              SETB    LED_DIGIT_3
                                           ; SOURCE LINE # 77
0021 801C              SJMP    ?C0002
                                           ; SOURCE LINE # 78
                                           ; SOURCE LINE # 80
0023         ?C0004:
                                           ; SOURCE LINE # 81
                                           ; SOURCE LINE # 82
0023 C2B3              CLR     LED_DIGIT_0
                                           ; SOURCE LINE # 83
0025 C2B4              CLR     LED_DIGIT_1
                                           ; SOURCE LINE # 84
0027 D2B5              SETB    LED_DIGIT_2
                                           ; SOURCE LINE # 85
0029 C2B6              CLR     LED_DIGIT_3
                                           ; SOURCE LINE # 86
002B 8012              SJMP    ?C0002
                                           ; SOURCE LINE # 87
                                           ; SOURCE LINE # 89
002D         ?C0005:
                                           ; SOURCE LINE # 90
                                           ; SOURCE LINE # 91
002D C2B3              CLR     LED_DIGIT_0
                                           ; SOURCE LINE # 92
002F D2B4              SETB    LED_DIGIT_1
C51 COMPILER V8.05a   LED_MX4                                                              06/07/2007 19:40:27 PAGE 12  

                                           ; SOURCE LINE # 93
0031 C2B5              CLR     LED_DIGIT_2
                                           ; SOURCE LINE # 94
0033 C2B6              CLR     LED_DIGIT_3
                                           ; SOURCE LINE # 95
0035 8008              SJMP    ?C0002
                                           ; SOURCE LINE # 96
                                           ; SOURCE LINE # 98
0037         ?C0006:
                                           ; SOURCE LINE # 99
                                           ; SOURCE LINE # 100
0037 D2B3              SETB    LED_DIGIT_0
                                           ; SOURCE LINE # 101
0039 C2B4              CLR     LED_DIGIT_1
                                           ; SOURCE LINE # 102
003B C2B5              CLR     LED_DIGIT_2
                                           ; SOURCE LINE # 103
003D C2B6              CLR     LED_DIGIT_3
                                           ; SOURCE LINE # 104
                                           ; SOURCE LINE # 105
003F         ?C0002:
                                           ; SOURCE LINE # 107
003F 7400        R     MOV     A,#LOW LED_Mx4_Data_G
0041 2500        R     ADD     A,Digit_G
0043 F8                MOV     R0,A
0044 E6                MOV     A,@R0
0045 FF                MOV     R7,A
0046 C3                CLR     C
0047 74FF              MOV     A,#0FFH
0049 9F                SUBB    A,R7
004A F5A0              MOV     P2,A
                                           ; SOURCE LINE # 108
004C 22                RET     
             ; FUNCTION LED_MX4_Display_Update (END)

C51 COMPILER V8.05a   LED_MX4                                                              06/07/2007 19:40:27 PAGE 13  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
tLong. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
tByte. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
LED_MX4_Display_Update . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
tWord. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
Digit_G. . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0000H  1
LED_Mx4_Data_G . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0001H  4
LED_DIGIT_0. . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
LED_DIGIT_1. . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
LED_DIGIT_2. . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
LED_DIGIT_3. . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
LED_Table_G. . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  20


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     77    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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