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

📄 lib.lst

📁 dvr
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   LIB                                                                   12/14/2005 10:05:34 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LIB
OBJECT MODULE PLACED IN .\OBJ\lib.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lib.c LARGE OPTIMIZE(9,SIZE) BROWSE PRINT(.\LST\lib.lst) OBJECT(.\OBJ\lib.o
                    -bj)

line level    source

   1          /*
   2          ********************************************************************************
   3          *
   4          * (c) Copyright 2002, Vineyard Technologies, Inc.
   5          *
   6          * Filename : lib.c
   7          * Programmer(s): Steve KyeongHyeon Lee
   8          * Created : 2003/05/07
   9          * Modified :
  10          *
  11          * Description : Small library functions being used for every major functions
  12          ********************************************************************************
  13          */
  14          #include "types.h"
  15          
  16          
  17          #include <stdio.h>
  18          #include <absacc.h>
  19          #include "lib.h"
  20          #include "gosd.h"
  21          #include "gio.h"
  22          
  23          //=============================================================================
  24          // Change hexa ascii string (just 2 ascii characters) into number
  25          //=============================================================================
  26          #ifdef CONIF
              u8 hatoc(u8 *str)
              {
                      u8 num=0, i;
              
                      for(i=0; i<2; i++) {
                              if     ( str[i]>='0' && str[i]<='9' )   num = (num<<4) + str[i] - '0';
                              else if( str[i]>='A' && str[i]<='F' )   num = (num<<4) + str[i] - 'A' + 10;
                              else if( str[i]>='a' && str[i]<='f' )   num = (num<<4) + str[i] - 'a' + 10;
                      }
                      return num;
              }
              #endif //CONIF
  39          //=============================================================================
  40          // Change unsigned character into 2 byte hex string
  41          //=============================================================================
  42          void hctoa(u8 ch, u8* hex)
  43          {
  44   1              u8 i,c;
  45   1      
  46   1              for(i=0;i<2;i++)
  47   1              {
  48   2                      if (i == 0) c = ch >> 4;
  49   2                      else c = ch;
  50   2                      c &= 0x0f;
  51   2                      if (c >= 0 && c <= 9 ) hex[i] = '0' + c;
  52   2                      else hex[i] = 'A' + c - 10;
  53   2              }
  54   1      }
C51 COMPILER V7.50   LIB                                                                   12/14/2005 10:05:34 PAGE 2   

  55          /*
  56          //=============================================================================
  57          // Change unsigned long 32bit into 8 byte hex string
  58          //=============================================================================
  59          void u32toa(u32 ch, u8* hex)
  60          {
  61                  u8 i,c;
  62          
  63                  for(i=0;i<8;i++){
  64                          c = ch>>(4*(7-i));
  65                          c &= 0x0f;
  66                          if( c>=0 && c<=9 ) hex[i] = '0'+c;
  67                          else hex[i] = 'A'+c-10;
  68                  }
  69          }
  70          */
  71          //=============================================================================
  72          // Change ascii string into number
  73          //=============================================================================
  74          #ifdef NOT_JUNK
              u16 a2i(u8 *str, u8 size)
              {
                      u8 num=0, i;
              
                      for(i=0; i<size; i++) {
                              if( str[i]>='0' && str[i]<='9' ) num = (num*10) + str[i] - '0';
                      }
                      return num;
              }
              #endif //NOT_JUNK
  85          /*
  86          //=============================================================================
  87          // Change unsigned character into 3 byte decimal string
  88          //=============================================================================
  89          void ctoa(u8 ch, u8* decimal)
  90          {
  91                  decimal[0] = '0' + ch/100; 
  92                  ch = ch%100;
  93                  decimal[1] = '0' + ch/10;
  94                  ch = ch%10;
  95                  decimal[2] = '0' + ch;
  96          }
  97          
  98          
  99          //=============================================================================
 100          // Change unsigned character into 2 byte decimal string
 101          //=============================================================================
 102          void ctoa_s(u8 ch, u8* decimal)
 103          {
 104                  decimal[0] = '0' + ch/10;
 105                  ch = ch%10;
 106                  decimal[1] = '0' + ch;
 107          }
 108          */
 109          //=============================================================================
 110          // Change unsigned character into n byte decimal string
 111          //=============================================================================
 112          void dtoa(u16 val, u8* decimal_str, u8 len)
 113          {
 114   1      
 115   1              u16 i,d=1;
 116   1              for(i=0;i<(len-1);i++) d = d * 10;
C51 COMPILER V7.50   LIB                                                                   12/14/2005 10:05:34 PAGE 3   

 117   1              for(i=0;i<len;i++)
 118   1              {
 119   2                      decimal_str[i] = '0' + val/d;
 120   2                      val = val%d;
 121   2                      d = d / 10;
 122   2              }
 123   1      }
 124          //=============================================================================
 125          // Change hexa ascii string (just 4 ascii characters) into number
 126          //=============================================================================
 127          #ifdef CONIF
              u16 hatoi(u8 *str)
              {
                      u16 num=0, i;
              
                      for(i=0; i<4; i++) {
                              if     ( str[i]>='0' && str[i]<='9' )   num = (num<<4) + str[i] - '0';
                              else if( str[i]>='A' && str[i]<='F' )   num = (num<<4) + str[i] - 'A' + 10;
                              else if( str[i]>='a' && str[i]<='f' )   num = (num<<4) + str[i] - 'a' + 10;
                      }
                      return num;
              }
              #endif
 140          //=============================================================================
 141          //
 142          //=============================================================================
 143          void mem_set(u8* ptr, u8 val, u16 len)
 144          {
 145   1              u16 i;
 146   1              for(i=0;i<len;i++)
 147   1                      *ptr++ = val;
 148   1      }
 149          //=============================================================================
 150          // Change hexa ascii string (just 8 ascii characters) into number
 151          //=============================================================================
 152          #if defined(DEBUG_HDD_DUMP)
              u32 hatol(u8 *str)
              {
                      xdata u32 num=0, i;
              
                      for(i=0; i<8; i++) {
                              if     ( str[i]>='0' && str[i]<='9' )   num = (num<<4) + str[i] - '0';
                              else if( str[i]>='A' && str[i]<='F' )   num = (num<<4) + str[i] - 'A' + 10;
                              else if( str[i]>='a' && str[i]<='f' )   num = (num<<4) + str[i] - 'a' + 10;
                      }
                      return num;
              }
              #endif

⌨️ 快捷键说明

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