日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]//1. CTYPE.Hbit 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);

//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. 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. 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. 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. 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);



一、本征庫(kù)函數(shù)(intrinsic routines)和非本征庫(kù)函數(shù)

C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫(kù)函數(shù),多使用庫(kù)函數(shù)使程序代碼簡(jiǎn)單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫(kù)函數(shù)系統(tǒng)。

C51提供的本征函數(shù)是指編譯時(shí)直接將固定的代碼插入當(dāng)前行,而不是用ACALL和LCALL語(yǔ)句來(lái)實(shí)現(xiàn),這樣就大大提供了函數(shù)訪問(wèn)的效率,而非本征函數(shù)則必須由ACALL及LCALL調(diào)用。

C51的本征庫(kù)函數(shù)只有9個(gè),數(shù)目雖少,但都非常有用,列如下:

_crol_,_cror_:將char型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_iror_,_irol_:將int型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_lrol_,_lror_:將long型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_nop_:相當(dāng)于插入NOP

_testbit_:相當(dāng)于JBC bitvar測(cè)試該位變量并跳轉(zhuǎn)同時(shí)清除。

_chkfloat_:測(cè)試并返回源點(diǎn)數(shù)狀態(tài)。

使用時(shí),必須包含#inclucle 一行。如不說(shuō)明,下面談到的庫(kù)函數(shù)均指非本征庫(kù)函數(shù)。

第二節(jié) 幾類(lèi)重要庫(kù)函數(shù)

1.專用寄存器include文件

例如8031、8051均為REG51.h其中包括了所有8051的SFR及其位定義,一般系統(tǒng)都必須包括本文件。

2.絕對(duì)地址include文件absacc.h

該文件中實(shí)際只定義了幾個(gè)宏,以確定各存儲(chǔ)空間的絕對(duì)地址。

3.動(dòng)態(tài)內(nèi)存分配函數(shù),位于stdlib.h中

4.緩沖區(qū)處理函數(shù)位于“string.h”中

其中包括拷貝比較移動(dòng)等函數(shù)如:memccpy memchr memcmp memcpy memmove memset,這樣很方便地對(duì)緩沖區(qū)進(jìn)行處理。

5.輸入輸出流函數(shù),位于“stdio.h”中

流函數(shù)通8051的串口或用戶定義的I/O口讀寫(xiě)數(shù)據(jù),缺省為8051串口,如要修改,比如改為L(zhǎng)CD顯示,可修改lib目錄中的getkey.c及putchar.c源文件,然后在庫(kù)中替換它們即可。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉