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

📄 elap_232.lst

📁 时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用
💻 LST
字号:
C51 COMPILER V6.10  ELAP_232                                                               04/19/2001 11:39:02 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE ELAP_232
OBJECT MODULE PLACED IN .\ELAP_232.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\ELAP_232.C OPTIMIZE(6,SIZE) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*------------------------------------------------------------------*-
   2          
   3             Elap_232.C (v1.01)
   4          
   5            ------------------------------------------------------------------
   6          
   7             Simple library function for keeping track of elapsed time 
   8             Demo version to display time on PC screen via RS232 link.
   9          
  10          
  11             COPYRIGHT
  12             ---------
  13          
  14             This code is from the book:
  15          
  16             PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  17             [Pearson Education, 2001; ISBN: 0-201-33138-1].
  18          
  19             This code is copyright (c) 2001 by Michael J. Pont.
  20           
  21             See book for copyright details and other information.
  22          
  23          -*------------------------------------------------------------------*/
  24          
  25          #include "Main.h"
  26          #include "Elap_232.h"
  27          #include "PC_O.h"
  28          
  29          // ------ Public variable definitions ------------------------------
  30          
  31          tByte Hou_G = 0;
  32          tByte Min_G = 0;
  33          tByte Sec_G = 0;
  34          
  35          // ------ Public variable declarations -----------------------------
  36          
  37          // See Char_Map.c
  38          extern const char code CHAR_MAP_G[10]; 
  39          
  40          /*------------------------------------------------------------------*-
  41          
  42            Elapsed_Time_RS232_Init()
  43          
  44            Init function for simple library displaying elapsed time on PC
  45            via RS-232 link.
  46          
  47          -*------------------------------------------------------------------*/
  48          void Elapsed_Time_RS232_Init(void)
  49             {
  50   1         char Time_Str[] = "Elapsed time";
  51   1      
  52   1         PC_LINK_O_Write_String_To_Buffer(Time_Str);   
  53   1         }
  54          
  55          
C51 COMPILER V6.10  ELAP_232                                                               04/19/2001 11:39:02 PAGE 2   

  56          /*------------------------------------------------------------------*-
  57          
  58            Elapsed_Time_RS232_Update()
  59          
  60            Function for displaying elapsed time on PC Screen.
  61          
  62            *** Must be scheduled once per second ***
  63          
  64          -*------------------------------------------------------------------*/
  65          void Elapsed_Time_RS232_Update(void)     
  66             {
  67   1         char Time_Str[30] = "\rElapsed time:               ";
  68   1      
  69   1         if (++Sec_G == 60)  
  70   1            { 
  71   2            Sec_G = 0;
  72   2            
  73   2            if (++Min_G == 60)  
  74   2               {
  75   3               Min_G = 0;
  76   3                 
  77   3               if (++Hou_G == 24)  
  78   3                  { 
  79   4                  Hou_G = 0;
  80   4                  }
  81   3               }
  82   2            }
  83   1      
  84   1         Time_Str[15] = CHAR_MAP_G[Hou_G / 10];
  85   1         Time_Str[16] = CHAR_MAP_G[Hou_G % 10];
  86   1      
  87   1         Time_Str[18] = CHAR_MAP_G[Min_G / 10];
  88   1         Time_Str[19] = CHAR_MAP_G[Min_G % 10];
  89   1      
  90   1         Time_Str[21] = CHAR_MAP_G[Sec_G / 10];
  91   1         Time_Str[22] = CHAR_MAP_G[Sec_G % 10];
  92   1        
  93   1         // We don't display seconds in this version.
  94   1         // We simply use the seconds data to turn on and off the colon
  95   1         // (between hours and minutes) 
  96   1         if ((Sec_G % 2) == 0)
  97   1            {
  98   2            Time_Str[17] = ':';
  99   2            Time_Str[20] = ':';
 100   2            }
 101   1         else
 102   1            {
 103   2            Time_Str[17] = ' ';
 104   2            Time_Str[20] = ' ';
 105   2            }
 106   1      
 107   1         PC_LINK_O_Write_String_To_Buffer(Time_Str);
 108   1         }
 109          
 110          /*------------------------------------------------------------------*-
 111            ---- END OF FILE -------------------------------------------------
 112          -*------------------------------------------------------------------*/
 113          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    170    ----
C51 COMPILER V6.10  ELAP_232                                                               04/19/2001 11:39:02 PAGE 3   

   CONSTANT SIZE    =     43    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      43
   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 + -