freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

keil中的變量和常量定位問題-資料下載頁(yè)

2025-06-07 13:35本頁(yè)面
  

【正文】 CK EQU 0 。 set to 1 if small reentrant is used.IBPSTACKTOP EQU 0FFH+1 。 set top of stack to highest location+1.。 Stack Space for reentrant functions in the LARGE model. XBPSTACK EQU 0 。 set to 1 if large reentrant is used.XBPSTACKTOP EQU 0FFFFH+1。 set top of stack to highest location+1.。 Stack Space for reentrant functions in the COMPACT model. PBPSTACK EQU 0 。 set to 1 if pact reentrant is used.PBPSTACKTOP EQU 0FFFFH+1。 set top of stack to highest location+1.。 Page Definition for Using the Compact Model with 64 KByte xdata RAM。 The following EQU statements define the xdata page used for pdata。 variables. The EQU PPAGE must conform with the PPAGE control used。 in the linker invocation.。PPAGEENABLE EQU 0 。 set to 1 if pdata object are used.PPAGE EQU 0 。 define PPAGE number.。3. 3. 標(biāo)準(zhǔn)輸入輸出文件,開發(fā)人員可修改后應(yīng)用到自己的硬件系統(tǒng)上,例如向CLD或LEN輸出字符。缺?。簗XOFF是流控標(biāo)志,換行符“\*n”自動(dòng)轉(zhuǎn)化為回車/換行“\r\n”。getkey函數(shù)是一個(gè)低級(jí)字符輸入子程,該程序可用到自己硬件系統(tǒng),如矩陣鍵盤輸入中,缺省時(shí)通過串口輸入字符。4. 4. 其它文件C751適用的函數(shù),可參考源代碼。4. 第四節(jié) 段名協(xié)定與程序優(yōu)化1. 1. 段名協(xié)定(Segment Naming Conventions)C51編譯器生成的目標(biāo)文件存放于許多段中,這些段是代碼空間或數(shù)據(jù)空間的一些單元,一個(gè)段可以是可重定位的,也可以是絕對(duì)段,每一個(gè)可重定位的段都有一個(gè)類型和名字,C51段名有以下規(guī)定:每個(gè)段名包括前綴與模塊名兩部分,前綴表示存儲(chǔ)類型,模塊名則是被編譯的模塊的名字,例如:?CO?main1 :表示main1模塊中的代碼段中的常數(shù)部分?PR?function1?module 表module模塊中函數(shù)function1的可執(zhí)行段,具體規(guī)定參閱手冊(cè)。2. 2. 程序優(yōu)化C51編譯器是一個(gè)具有優(yōu)化功能的編譯器,它共提供六級(jí)優(yōu)化功能。確保生成目標(biāo)代碼的最高效率(代碼最少,運(yùn)行速度最快)。具體六級(jí)優(yōu)化的內(nèi)容可參考幫助。在C51中提供以下編譯控制指令控制代碼優(yōu)化:OPTIMIZE(SJXE):盡量采用子程序,使程序代碼減少。NOAREGS:不使用絕對(duì)寄存器訪問,程序代碼與寄存器段獨(dú)立。NOREGPARMS:參數(shù)傳遞總是在局部數(shù)據(jù)段實(shí)現(xiàn),程序代碼與低版本C51兼容。OPTIMIZE(SIZE)AK OPTIMIZE(speed)提供6級(jí)優(yōu)化功能,缺省為: OPTIMIZE(6,SPEED)。5. 第五章 Keil C51庫(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)。1. 第一節(jié) 本征庫(kù)函數(shù)(intrinsic routines)和非本征證庫(kù)函數(shù)C51提供的本征函數(shù)是指編譯時(shí)直接將固定的代碼插入當(dāng)前行,而不是用ACALL和LCALL語(yǔ)句來實(shí)現(xiàn),這樣就大大提供了函數(shù)訪問的效率,而非本征函數(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 一行。如不說明,下面談到的庫(kù)函數(shù)均指非本征庫(kù)函數(shù)KeilC51開發(fā)系統(tǒng)基本知識(shí)(3)2. 第二節(jié) 幾類重要庫(kù)函數(shù)1. 1. 專用寄存器include文件例如803一般系統(tǒng)都必須包括本文件。2. 2. 該文件中實(shí)際只定義了幾個(gè)宏,以確定各存儲(chǔ)空間的絕對(duì)地址。3. 3. 動(dòng)態(tài)內(nèi)存分配函數(shù),4. 4. 緩沖區(qū)處理函數(shù)位于“”中其中包括拷貝比較移動(dòng)等函數(shù)如:memccpy memchr memcmp memcpy memmove memset這樣很方便地對(duì)緩沖區(qū)進(jìn)行處理。5. 5. 輸入輸出流函數(shù),位于“”中流函數(shù)通8051的串口或用戶定義的I/O口讀寫數(shù)據(jù),缺省為8051串口,如要修改,比如改為L(zhǎng)CD顯示,然后在庫(kù)中替換它們即可。3. 第三節(jié) Keil C51庫(kù)函數(shù)原型列表1. 1. bit isalnum(char c);bit isalpha(char c);bit istrl(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. 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. 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. 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. 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);6. 第六章 Keil C51例子:Hello位于\C51\excmples\Hello\目錄,其功能是向串口輸出“Hello,world”整個(gè)程序如下:#pragma DB OE CDindule includevoid main(void){ SCOn=0x50?!MOD=0x20 TH1=0xf3?!ri=1?!I=1?!rintf(“Hello,world \n”)?!hile(1) { }}1. 第一節(jié) uVision for Windows的使用步驟(1) ,輸入如上內(nèi)容或直接用目錄下源文件。(2) file_save或工具欄將文件存盤。(3) project_new project創(chuàng)建一個(gè)project名為hello。這時(shí)該project已是打開狀態(tài),或用open project打開已存在的project。(4) option_C51 piler中選出至少包括兩項(xiàng)DB OE。(5) option_dscope Debugger選中hello\:“l(fā)oad…\…\BIN\map 0, 0xffff”否則修改。(6) 在option_make選make文件順序。(7) project選Build project,看是否有語(yǔ)法錯(cuò)誤,若無則生成HEX文件,若有則修改源文件后重復(fù)以上部分步驟。(8) run_dScope debugger進(jìn)入dScope51后裝入hello則可用go直接運(yùn)行看serial窗口有無輸出,正常每系統(tǒng)運(yùn)行一次,serial窗口均出現(xiàn)一個(gè)“Hello,world”表明運(yùn)行無誤。2. 第二節(jié) Ishell for Dos使用步驟(1) 進(jìn)入Ishell 用Setup editer選擇編輯器。,存盤。(2) 用cd改換project目錄至h
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1