Keil C51庫函式原型列表

2021-08-25 07:22:16 字數 4441 閱讀 9858

1. 1. ctype.h

bit isalnum(char c)

;bit isalpha(char c)

;bit iscntrl(char c)

;bit isdigit(char c)

;bit isgraph(char c)

;bit islower(char c)

;bit isprint(char c)

;bit ispunct(char c)

;bit isspace(char c)

;bit isupper(char c)

;bit isxdigit(char c)

;bit toascii(char c)

;bit toint(char c)

;char tolower(char c)

;char __tolower(char c)

;char toupper(char c)

;char __toupper(char c)

;2. 2. intrins.h

unsigned char _crol_(unsigned char c,unsigned char b)

;unsigned char _cror_(unsigned char c,unsigned char b)

;unsigned char _chkfloat_(float ual)

;unsigned int _irol_(unsigned int i,unsigned char b)

;unsigned int _iror_(unsigned int i,unsigned char b)

;unsigned long _irol_(unsigned long l,unsigned char b)

;unsigned long _iror_(unsigned long l,unsigned char b)

;void _nop_(void)

;bit _testbit_(bit b)

;3. 3. stdio.h

char getchar(void)

;char _getkey(void)

;char *gets(char * string,int len)

;int printf(const char * fmtstr[,argument]…);

char putchar(char c);

int puts (const char * string);

int scanf(const char * fmtstr.[,argument]…)

;int sprintf(char * buffer,const char *fmtstr[;argument])

;int sscanf(char *buffer,const char * fmtstr[,argument]);

char ungetchar(char c);

void vprintf (const char *fmtstr,char * argptr);

void vsprintf(char *buffer,const char * fmtstr,char * argptr)

;4. 4. stdlib.h

float atof(void * string);

int atoi(void * string);

long atol(void * string);

void * calloc(unsigned int num,unsigned int len);

void free(void xdata *p)

;void init_mempool(void *data *p,unsigned int size);

void *malloc (unsigned int size);

int rand(void);

void *realloc (void xdata *p,unsigned int size);

void srand (int seed)

;5. 5. string.h

void *memccpy (void *dest,void *src,char c,int len);

void *memchr (void *buf,char c,int len);

char memcmp(void *buf1,void *buf2,int len);

void *memcopy (void *dest,void *src,int len);

void *memmove (void *dest,void *src,int len);

void *memset (void *buf,char c,int len);

char *strcat (char *dest,char *src);

char *strchr (const char *string,char c);

char strcmp (char *string1,char *string2);

char *strcpy (char *dest,char *src);

int strcspn(char *src,char * set);

int strlen (char *src);

char *strncat (char 8dest,char *src,int len);

char strncmp(char *string1,char *string2,int len);

char strncpy (char *dest,char *src,int len);

char *strpbrk (char *string,char *set);

int strpos (const char *string,char c);

char *strrchr (const char *string,char c);

char *strrpbrk (char *string,char *set);

int strrpos (const char *string,char c);

int strspn(char *string,char *set)

;本徵庫函式

(intrinsic routines)

和非本徵證庫函式

c51強大功能及其高效率的重要體現之一在於其豐富的可直接呼叫的庫函式,多使用庫函式使程式**簡單,結構清晰,易於除錯和維護,下面介紹

c51的庫函式系統。

c51提供的本徵函式是指編譯時直接將固定的**插入當前行,而不是用

acall

和lcall

語句來實現,這樣就大大提供了函式訪問的效率,而非本徵函式則必須由

acall

及lcall

呼叫。c51

的本徵庫函式只有

9個,數目雖少,但都非常有用,列如下:

_crol_,_cror_

:將char

型變數迴圈向左(右

)移動指定位數後返回

_iror_,_irol_

:將int

型變數迴圈向左(右

)移動指定位數後返回

_lrol_,_lror_

:將long

型變數迴圈向左(右

)移動指定位數後返回

_nop_

:相當於插入

nop_testbit_

:相當於

jbc bitvar

測試該位變數並跳轉同時清除。

_chkfloat_

:測試並返回源點數狀態。

使用時,必須包含

#inclucle

一行。如不說明,下面談到的庫函式均指非本徵庫函式。

第二節 幾類重要庫函式

1. 專用暫存器

include

檔案例如

8031

、8051

均為reg51.h

其中包括了所有

8051

的sfr

及其位定義,一般系統都必須包括本檔案。

2. 絕對位址

include

檔案absacc.h

該檔案中實際只定義了幾個巨集,以確定各儲存空間的絕對位址。

3. 動態記憶體分配函式,位於

stdlib.h

中4.

緩衝區處理函式位於

「string.h」中

其中包括拷貝比較移動等函式如:

memccpy memchr memcmp memcpy memmove memset

這樣很方便地對緩衝區進行處理。

5. 輸入輸出流函式,位於

「stdio.h」中

流函式通

8051

的串列埠或使用者定義的

i/o口讀寫資料,預設為

8051

串列埠,如要修改,比如改為

lcd顯示,可修改

lib目錄中的

getkey.c

及putchar.c

原始檔,然後在庫中替換它們即可。

Keil C51詳細設定

一.target名更改 開啟keil後,左側project workspace中的target可改,方法 右擊target manage compnents 雙擊待修改項即可,若要新增,使用對話方塊內對應工具欄。二.optionfor target 設定之target項 1 memary model...

Keil C51詳細設定

2013 12 10 19 41 251人閱讀收藏 舉報2010 12 30 19 54 39 分類 常用eda軟體 字型大小 訂閱 一.target名更改 開啟keil後,左側project workspace中的target可改,方法 右擊target manage compnents 雙擊待修...

KEIL C51 程式編譯

1.keil目錄 asm 放置組合語言的標頭檔案,格式為xx.inc。inc是include的簡寫。inc 放置c語言的標頭檔案,格式為xx.h。hlp 幫助檔案。help的簡寫。example 例子。rtxtiny2 keil自帶的rtx51作業系統。flashmon,mon51,mon390 目...