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

📄 main.lst

📁 自己做的时钟
💻 LST
📖 第 1 页 / 共 4 页
字号:
  14      =1  
  15      =1     PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  16      =1     [Pearson Education, 2001; ISBN: 0-201-33138-1].
  17      =1  
  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 function prototypes -------------------------------
  25      =1  
  26      =1  void CLOCK_LED_Time_Update(void);     
  27      =1  
  28      =1  /*------------------------------------------------------------------*-
  29      =1    ---- END OF FILE -------------------------------------------------
  30      =1  -*------------------------------------------------------------------*/
  37          #include "Cloc_Adjust.h"
   1      =1   /*------------------------------------------------------------------*-
   2      =1  
   3      =1     Cloc_Adjust.H (v1.00)
   4      =1  
   5      =1    ------------------------------------------------------------------
   6      =1  
   7      =1     - See Cloc_MX4.C for details.
   8      =1  
   9      =1  
  10      =1     COPYRIGHT
  11      =1     ---------
  12      =1  
  13      =1     This code is from the book:
  14      =1  
  15      =1     PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  16      =1     [Pearson Education, 2001; ISBN: 0-201-33138-1].
C51 COMPILER V8.05a   MAIN                                                                 06/07/2007 19:40:24 PAGE 14  

  17      =1  
  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 function prototypes -------------------------------
  25      =1  
  26      =1  void CLOCK_LED_Time_Adjust_Init(void);
  27      =1  void CLOCK_LED_Time_Adjust(void);     
  28      =1  
  29      =1  /*------------------------------------------------------------------*-
  30      =1    ---- END OF FILE -------------------------------------------------
  31      =1  -*------------------------------------------------------------------*/
  38          #include "port.H"
   1      =1  /*------------------------------------------------------------------*-
   2      =1  
   3      =1     Port.H (v1.00)
   4      =1  
   5      =1    ------------------------------------------------------------------
   6      =1  
   7      =1    'Port Header' (see Chap 10) for project ELAPSED (see Chap 21)
   8      =1  
   9      =1  
  10      =1     COPYRIGHT
  11      =1     ---------
  12      =1  
  13      =1     This code is from the book:
  14      =1  
  15      =1     PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  16      =1     [Pearson Education, 2001; ISBN: 0-201-33138-1].
  17      =1  
  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  // ------ Sch51.C ----------------------------------------
  25      =1  
  26      =1  // Comment this line out if error reporting is NOT required
  27      =1  #define SCH_REPORT_ERRORS
  28      =1  
  29      =1  #ifdef SCH_REPORT_ERRORS
  30      =1  // The port on which error codes will be displayed
  31      =1  // ONLY USED IF ERRORS ARE REPORTED
  32      =1  #define Error_port P1
  33      =1  
  34      =1  #endif
  35      =1  
  36      =1  // ------ LED_MX4.C -----------------------------------------------
  37      =1  
  38      =1  // LED connection requires 12 port pins
  39      =1  #define LED_DATA_PORT (P2)
  40      =1  
  41      =1  /* Connections to LED_DATA_PORT - See Figure 21.6 for details
  42      =1  
  43      =1       DP   G    F    E    D    C    B    A    =   LED display pins
  44      =1       |    |    |    |    |    |    |    |
  45      =1      x.7  x.6  x.5  x.4  x.3  x.2  x.1  x.0   =   Port pins
  46      =1  
C51 COMPILER V8.05a   MAIN                                                                 06/07/2007 19:40:24 PAGE 15  

  47      =1      x.7 == LED_DATA_PORT^7, etc
  48      =1  
  49      =1     LED codes (NB - positive logic assumed here)
  50      =1  
  51      =1     0  = abcdef  => 00111111 = 0x3F
  52      =1     1  = bc      => 00000110 = 0x06
  53      =1     2  = abdeg   => 01011011 = 0x5B
  54      =1     3  = abcdg   => 01001111 = 0x4F
  55      =1     4  = bcfg    => 01100110 = 0x66
  56      =1     5  = acdfg   => 01101101 = 0x6D
  57      =1     6  = acdefg  => 01111101 = 0x7D
  58      =1     7  = abc     => 00000111 = 0x07
  59      =1     8  = abcdefg => 01111111 = 0x7F
  60      =1     9  = abcdfg  => 01101111 = 0x6F
  61      =1  
  62      =1     To display decimal point, add 10 (decimal) to the above values  */
  63      =1  
  64      =1  // Any combination of (4) pins on any ports may be used here
  65      =1  sbit LED_DIGIT_0 = P3^3;
  66      =1  sbit LED_DIGIT_1 = P3^4;
  67      =1  sbit LED_DIGIT_2 = P3^5;
  68      =1  sbit LED_DIGIT_3 = P3^6;
  69      =1  sbit SET_pin = P1^0;
  70      =1  sbit ADD_pin = P1^1;
  71      =1  sbit SUB_pin = P1^2;
  72      =1  sbit LED_pin = P1^3;
  73      =1  
  74      =1  
  75      =1  /*------------------------------------------------------------------*-
  76      =1    ---- END OF FILE -------------------------------------------------
  77      =1  -*------------------------------------------------------------------*/
  78      =1  
  79      =1  
  80      =1  
  39          
  40          /* ............................................................... */
  41          /* ............................................................... */
  42          
  43          void main(void)
  44             {
  45   1         // Set up the scheduler
  46   1         SCH_Init_T2();
  47   1         //调整时间函数初始化
  48   1           LED_pin = 0;
  49   1        CLOCK_LED_Time_Adjust_Init();
  50   1         // Add the 'Time Update' task (once per second)
  51   1         // - timings are in ticks (1 ms tick interval)
  52   1         // (Max interval / delay is 65535 ticks)
  53   1            // Add the 'Display Update' task (once per second)
  54   1         // Need to update a 4-segment display every 3 ms (approx)
  55   1         // Need to update a 2-segment display every 6 ms (approx)
  56   1         SCH_Add_Task(LED_MX4_Display_Update,0,13);
  57   1         SCH_Add_Task(CLOCK_LED_Time_Update,100,1000);
  58   1         SCH_Add_Task(CLOCK_LED_Time_Adjust,200,200);
  59   1      
  60   1       
  61   1         
  62   1      
  63   1      
  64   1      
  65   1         // Start the scheduler
  66   1         SCH_Start();
C51 COMPILER V8.05a   MAIN                                                                 06/07/2007 19:40:24 PAGE 16  

  67   1      
  68   1         while(1)
  69   1            {
  70   2            SCH_Dispatch_Tasks();
  71   2            }
  72   1         }
  73          
  74          /*------------------------------------------------------------------*-
  75            ---- END OF FILE -------------------------------------------------
  76          -*------------------------------------------------------------------*/
C51 COMPILER V8.05a   MAIN                                                                 06/07/2007 19:40:24 PAGE 17  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 46
0000 120000      E     LCALL   SCH_Init_T2
                                           ; SOURCE LINE # 48
0003 C293              CLR     LED_pin
                                           ; SOURCE LINE # 49
0005 120000      E     LCALL   CLOCK_LED_Time_Adjust_Init
                                           ; SOURCE LINE # 56
0008 7E00        E     MOV     R6,#HIGH LED_MX4_Display_Update
000A 7F00        E     MOV     R7,#LOW LED_MX4_Display_Update
000C 7B0D              MOV     R3,#0DH
000E 7A00              MOV     R2,#00H
0010 E4                CLR     A
0011 FD                MOV     R5,A
0012 FC                MOV     R4,A
0013 120000      E     LCALL   _SCH_Add_Task
                                           ; SOURCE LINE # 57
0016 7E00        E     MOV     R6,#HIGH CLOCK_LED_Time_Update
0018 7F00        E     MOV     R7,#LOW CLOCK_LED_Time_Update
001A 7BE8              MOV     R3,#0E8H
001C 7A03              MOV     R2,#03H
001E 7D64              MOV     R5,#064H
0020 7C00              MOV     R4,#00H
0022 120000      E     LCALL   _SCH_Add_Task
                                           ; SOURCE LINE # 58
0025 7E00        E     MOV     R6,#HIGH CLOCK_LED_Time_Adjust
0027 7F00        E     MOV     R7,#LOW CLOCK_LED_Time_Adjust
0029 7BC8              MOV     R3,#0C8H
002B 7A00              MOV     R2,#00H
002D 7DC8              MOV     R5,#0C8H
002F 7C00              MOV     R4,#00H
0031 120000      E     LCALL   _SCH_Add_Task
                                           ; SOURCE LINE # 66
0034 120000      E     LCALL   SCH_Start
0037         ?C0001:
                                           ; SOURCE LINE # 68
                                           ; SOURCE LINE # 69
                                           ; SOURCE LINE # 70
0037 120000      E     LCALL   SCH_Dispatch_Tasks
                                           ; SOURCE LINE # 71
003A 80FB              SJMP    ?C0001
003C 22                RET     
             ; FUNCTION main (END)

C51 COMPILER V8.05a   MAIN                                                                 06/07/2007 19:40:24 PAGE 18  

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


LED_pin. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
tLong. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
sTask. . . . . . . . . . . . . . . . .  TYPEDEF  DATA   STRUCT   -----  7
  pTask. . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0000H  2
  Delay. . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0002H  2
  Period . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0004H  2
  RunMe. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
tByte. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
LED_MX4_Display_Update . . . . . . . .  EXTERN   CODE   PROC     -----  -----
tWord. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCH_Init_T2. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_SCH_Add_Task. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
SCH_Start. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CLOCK_LED_Time_Adjust_Init . . . . . .  EXTERN   CODE   PROC     -----  -----
CLOCK_LED_Time_Update. . . . . . . . .  EXTERN   CODE   PROC     -----  -----
SCH_Dispatch_Tasks . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CLOCK_LED_Time_Adjust. . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     61    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -