Keil Logo

Technical Support

On-Line Manuals

Cx51 User's Guide

Cx51 Introduction Compiling Programs Language Extensions Preprocessor Advanced Programming 8051 Derivatives Error Messages Library Reference Library Files Source Code Standard Types jmp_buf size_t va_list wchar_t Macros CBYTE CWORD DBYTE DWORD FARRAY FCARRAY FCVAR FVAR PBYTE PWORD XBYTE XWORD Routines By Category Buffer Manipulation Routines Character Routines Data Conversion Routines Intrinsic Routines Math Routines Memory Allocation Routines Stream I/O Routines String Routines Variable Length Argument Routines Miscellaneous Routines Include Files SFR Definitions 80c517.h absacc.h assert.h ctype.h float.h intrins.h limits.h math.h rtx51tny.h setjmp.h stdarg.h stddef.h stdio.h stdlib.h string.h Reference _chkfloat_ _crol_ _cror_ _getkey _irol_ _iror_ _lrol_ _lror_ _nop_ _pop_ _push_ _testbit_ _tolower _toupper abs acos acos517 asin asin517 assert atan atan2 atan517 atof atof517 atoi atol cabs calloc ceil cos cos517 cosh exp exp517 fabs floor fmod free getchar gets init_mempool isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit labs log log10 log10517 log517 longjmp malloc memccpy memchr memcmp memcpy memmove memset modf offsetof pow printf printf517 putchar puts rand realloc scanf scanf517 setjmp sin sin517 sinh sprintf sprintf517 sqrt sqrt517 srand sscanf sscanf517 strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strpos strrchr strrpbrk strrpos strspn strstr strtod strtod517 strtok strtol strtoul switchbank tan tan517 tanh toascii toint tolower toupper ungetchar va_arg va_end va_start vprintf vsprintf Appendix

Library Files

The C51 library includes six different compile-time libraries which are optimized for various functional requirements. These libraries support most of the ANSI C function calls.

Library File Description
C51S.LIB Small model library without floating-point arithmetic.
C51FPS.LIB Small model floating-point arithmetic library.
C51C.LIB Compact model library without floating-point arithmetic.
C51FPC.LIB Compact model floating-point arithmetic library.
C51L.LIB Large model library without floating-point arithmetic.
C51FPL.LIB Large model floating-point arithmetic library.
80C751.LIB Library for the Philips 750/751/752 derivatives.

Programs written for the Philips 80C51MX, Dallas 390 Contiguous Mode, and Variable Code Banking require a different set of C51 run-time libraries. The linker automatically includes the correct library set to your project.

The following library sets are available in the PK51 Professional Developer's Kit. Each library set consists of six different library files as explained in the previous table.

Library Set Description
C51*.LIB Standard library set of Classic 8051.
C51B*.LIB Library set for Classic 8051 with far memory type (variable banking) support.
C51M*.LIB Library set for Mentor M8051EW on-chip program code banking (IBANKING).
C51N*.LIB Library set for Mentor M8051EW with far memory type support and on-chip program code banking (IBANKING).
CD51*.LIB Library set for Dallas Contiguous Mode.
CX51*.LIB Library set for Philips 80C51MX for ROM(LARGE), ROM(COMPACT), and ROM(SMALL).
CH51*.LIB Library set for Philips 80C51MX without ECRM mode and ROM(HUGE).
CS51*.LIB Library set for Philips 80C51MX with ECRM mode and ROM(HUGE).


  • Normally, you do not need to manually specify libraries for the library routines you use. The compiler includes special references to the library in the generated object file. Of course, you may specify the NODEFAULTLIBRARY directive to the linker to disable automatic linkage with the default libraries.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.