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

📄 elap_232.lst

📁 < C语言嵌入式系统开发>>一书配套源代码,C51代码,对于51学习有很好参考意义.
💻 LST
字号:
C51 COMPILER V6.21  ELAP_232                                                               01/23/2002 18:04:13 PAGE 1   


C51 COMPILER V6.21, 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.00)
   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 associated with the book:
  15          
  16             EMBEDDED C by Michael J. Pont 
  17             [Pearson Education, 2002: ISBN: 0-201-79523-X].
  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;
  32          tByte Min_G;
  33          tByte Sec_G;
  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         Hou_G = 0;
  51   1         Min_G = 0;
  52   1         Sec_G = 0;
  53   1         }
  54          
  55          /*------------------------------------------------------------------*-
C51 COMPILER V6.21  ELAP_232                                                               01/23/2002 18:04:13 PAGE 2   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    149    ----
   CONSTANT SIZE    =     30    ----
C51 COMPILER V6.21  ELAP_232                                                               01/23/2002 18:04:13 PAGE 3   

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