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

📄 utility.lst

📁 一个很不错的用于MCS51系列单片机的操作系统(KEIL C51)
💻 LST
字号:
C51 COMPILER V7.50   UTILITY                                                               05/22/2007 20:05:10 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE UTILITY
OBJECT MODULE PLACED IN .\utility.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\SourceFile\utility.c BROWSE DEBUG OBJECTEXTEND PRINT(.\utility.lst) OBJE
                    -CT(.\utility.obj)

line level    source

   1          
   2          /***************************************************************************************
   3          ****************************************************************************************
   4          * FILE          : utility.c
   5          * Description   : 
   6          *                         
   7          * Copyright (c) 2003~2007 by WANG SHAOWEI. All Rights Reserved.
   8          * 
   9          * History:
  10          * Version               Name                    Date                    Description
  11             1.0          Wang Shaowei    2003/07/16      Initial Version (MCU System)
  12             2.0          Wang Shaowei    2005/06/01      MS2
  13             3.0          Wang Shaowei    2007/03/11      MS3
  14             
  15          ****************************************************************************************
  16          ****************************************************************************************/
  17          
  18          
  19          #include <intrins.h>
  20          
  21          #include "common.h" 
  22          
  23          #include "utility.h"
  24          
  25          
  26          
  27          
  28          /*==================================================================
  29          * Function      : uty_delay
  30          * Description   : general purpose  function for delay
  31          * Input Para    : U16 u16Val    : delay time
  32          * Output Para   : void
  33          * Return Value: void
  34          ==================================================================*/
  35          void uty_delay(U16 u16Val)
  36          {
  37   1              while(u16Val--)
  38   1              {
  39   2              #ifdef SPEEDUP
  40   2      
  41   2                      _nop_();
  42   2                      _nop_();
  43   2                      _nop_();
  44   2              #else
                              _nop_();
                      #endif
  47   2              }
  48   1      }
  49          
  50          
  51          /*==================================================================
  52          * Function      : uty_dec2bcd
  53          * Description   : 2 digit decimal number to bcd, such as 12 to 0x12
  54          * Input Para    : U8 val                : hex number
C51 COMPILER V7.50   UTILITY                                                               05/22/2007 20:05:10 PAGE 2   

  55          * Output Para   : void
  56          * Return Value: U8              : bcd number
  57          ==================================================================*/
  58          U8 uty_dec2bcd(U8 val)
  59          {
  60   1              if(val < 100)
  61   1              {
  62   2                      return(((val / 10) << 4)+ (val % 10));
  63   2              }
  64   1              else
  65   1              {
  66   2                      ERRprintf("uty_dec2bcd\n");
  67   2                      return 0xff;
  68   2              }
  69   1      }
  70          
  71          
  72          /*==================================================================
  73          * Function      : uty_bcd2dec
  74          * Description   : bcd to decimal number, such as 0x12 to 12
  75          * Input Para    : U8 val                : bcd number
  76          * Output Para   : void
  77          * Return Value: U8              : hex number
  78          ==================================================================*/
  79          U8 uty_bcd2dec(U8 val)
  80          {
  81   1              return(((val >> 4) * 10) + (val & 0x0F));
  82   1      }
  83          
  84          U8 uty_hex2bcd(U8 val)
  85          {               
  86   1              return(((val / 10) << 4) | (val % 10));
  87   1      }
  88          
  89          /*==================================================================
  90          * Function      : uty_hex_to_ascii
  91          * Description   : Convert number to ASCII 
  92          * Input Para    : U8 val                : number
  93          * Output Para   : void
  94          * Return Value: U8              : ascii code
  95          ==================================================================*/
  96          U8 uty_hex2ascii(U8 val)
  97          {
  98   1              if(val < 10)
  99   1              {
 100   2                      return('0' + val);
 101   2              }
 102   1              else if(val < 16)
 103   1              {
 104   2                      return('A' - 10 + val);
 105   2              }
 106   1              else
 107   1              {
 108   2                      ERRprintf("uty_hex_to_ascii\n");
 109   2                      return 0xff;
 110   2              }       
 111   1      }
 112          
 113          
 114          /*==================================================================
 115          * Function      : uty_ascii_to_hex
 116          * Description   : Convert ASCII to number
C51 COMPILER V7.50   UTILITY                                                               05/22/2007 20:05:10 PAGE 3   

 117          * Input Para    : U8 val                : ascii code
 118          * Output Para   : void
 119          * Return Value: U8              : number
 120          ==================================================================*/
 121          U8 uty_ascii2hex(U8 val)
 122          {
 123   1              if(val <= '9')
 124   1              {
 125   2                      if(val >= '0')
 126   2                      {
 127   3                              return(val - '0');
 128   3                      }
 129   2              }
 130   1              else if(val <= 'F')
 131   1              {
 132   2                      if(val >= 'A')
 133   2                      {
 134   3                              return(val - 'A' + 10);
 135   3                      }
 136   2              }
 137   1              else if(val <= 'f')
 138   1              {
 139   2                      if(val >= 'a')
 140   2                      {
 141   3                              return(val - 'a' + 10);
 142   3                      }
 143   2              }
 144   1              else
 145   1              {
 146   2                      ERRprintf("uty_ascii_to_hex\n");
 147   2                      return 0xff;
 148   2              }
 149   1      }
 150          
 151          
 152          


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