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

正文內(nèi)容

keilc51開發(fā)系統(tǒng)知識-資料下載頁

2025-06-24 18:56本頁面
  

【正文】 數(shù)數(shù)目 char int long,float 一般指針 123 R7R5R3 R6 amp。 R7R4 amp。 R5R2 amp。 R3 R4~R7R4~R7 R1~R3R1~R3R1~R3 (2) 通過固定存儲區(qū)傳遞(fixed memory) 這種方法將bit型參數(shù)傳給一個存儲段中: ?function_name?BIT 將其它類型參數(shù)均傳給下面的段:?function_name?BYTE,且按照預(yù)選順序存放。 至于這個固定存儲區(qū)本身在何處,則由存儲模式默認(rèn)。 (3) 函數(shù)的返回值 函數(shù)返回值一律放于寄存器中,有如下規(guī)律: return type Registev 說明 bit 標(biāo)志位 由具體標(biāo)志位返回 char/unsigned char 1_byte指針 R7 單字節(jié)由R7返回 int/unsigned int 2_byte指針 R6 amp。 R7 雙字節(jié)由R6和R7返回,MSB在R6 longamp。unsigned long R4~R7 MSB在R4, LSB在R7 float R4~R7 32Bit IEEE格式 一般指針 R1~R3 存儲類型在R3 高位R2 低R1 (4) SRC控制 該控制指令將C文件編譯生成匯編文件(.SRC),該匯編文件可改名后,再用A51進(jìn)行編譯。 3. 第三節(jié) Keil C51軟件包中的通用文件 在C51\LiB目錄下有幾個C源文件,這幾個C源文件有非常重要的作用,對它們稍事修改,就可以用在自己的專用系統(tǒng)中。 1. 1. 動態(tài)內(nèi)存分配 :此文件是初始化動態(tài)內(nèi)存區(qū)的程序源代碼。它可以指定動態(tài)內(nèi)存的位置及大小,只有使用了init_mem( )才可以調(diào)回其它函數(shù),諸如malloc calloc,realloc等。 :此文件是給數(shù)組分配內(nèi)存的源代碼,它可以指定單位數(shù)據(jù)類型及該單元數(shù)目。 :此文件是malloc的源代碼,分配一段固定大小的內(nèi)存。 :,其功能是調(diào)整當(dāng)前分配動態(tài)內(nèi)存的大小。 2. 2. ,可在每個project中加入這個文件,只要復(fù)位,則該文件立即執(zhí)行,其功能包括: l 定義內(nèi)部RAM大小、外部RAM大小、可重入堆棧位置 l 清除內(nèi)部、外部或者以此頁為單元的外部存儲器 l 按存儲模式初使化重入堆棧及堆棧指針 l 初始化8051硬件堆棧指針 l 向main( )函數(shù)交權(quán) 開發(fā)人員可修改以下數(shù)據(jù)從而對系統(tǒng)初始化 常數(shù)名 意義 IDATALEN 待清內(nèi)部RAM長度 XDATA START 指定待清外部RAM起始地址 XDATALEN 待清外部RAM長度 IBPSTACK 是否小模式重入堆棧指針需初始化標(biāo)志,1為需要。缺省為0 IBPSTACKTOP 指定小模式重入堆棧頂部地址 XBPSTACK 是否大模式重入堆棧指針需初始化標(biāo)志,缺省為0 XBPSTACKTOP 指定大模式重入堆棧頂部地址 PBPSTACK 是否Compact重入堆棧指針,需初始化標(biāo)志,缺省為0 PBPSTACKTOP 指定Compact模式重入堆棧頂部地址 PPAGEENABLE P2初始化允許開關(guān) PPAGE 指定P2值 PDATASTART 待清外部RAM頁首址 PDATALEN 待清外部RAM頁長度 提示:如果要初始化P2作為緊湊模式高端地址,必須:PPAGEENAGLE=1,PPAGE為P2值,例如指定某頁1000H-10FFH,則PPAGE=10H,而且連接時必須如下: L51input modules PDATA(1080H),其中1080H是1000H-10FFH中的任一個值。 ,紅色是經(jīng)常可能需要修改的地方: 。 。 This file is part of the C51 Compiler package 。 Copyright KEIL ELEKTRONIK GmbH 1990 。 。 : This code is executed after processor reset. 。 。 To translate this file use A51 with the following invocation: 。 。 A51 。 。 To link the modified file to your application use the following 。 L51 invocation: 。 。 L51 your object file list, controls 。 。 。 。 Userdefined PowerOn Initialization of Memory 。 。 With the following EQU statements the initialization of memory 。 at processor reset can be defined: 。 。 。 the absolute startaddress of IDATA memory is always 0 IDATALEN EQU 80H 。 the length of IDATA memory in bytes. 。 XDATASTART EQU 0H 。 the absolute startaddress of XDATA memory XDATALEN EQU 0H 。 the length of XDATA memory in bytes. 。 PDATASTART EQU 0H 。 the absolute startaddress of PDATA memory PDATALEN EQU 0H 。 the length of PDATA memory in bytes. 。 。 Notes: The IDATA space overlaps physically the DATA and BIT areas of the 。 8051 CPU. At minimum the memory space occupied from the C51 。 runtime routines must be set to zero. 。 。 。 Reentrant Stack Initilization 。 。 The following EQU statements define the stack pointer for reentrant 。 functions and initialized it: 。 。 Stack Space for reentrant functions in the SMALL model. IBPSTACK 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”自動轉(zhuǎn)化為回車/換行“\r\n”。 getkey函數(shù)是一個低級字符輸入子程,該程序可用到自己硬件系統(tǒng),如矩陣鍵盤輸入中,缺省時通過串口輸入字符。 4. 4. 其它文件 C751適用的函數(shù),可參考源代碼。 4. 第四節(jié) 段名協(xié)定與程序優(yōu)化 1. 1. 段名協(xié)定(Segment Naming Conventions) C51編譯器生成的目標(biāo)文件存放于許多段中,這些段是代碼空間或數(shù)據(jù)空間的一些單元,一個段可以是可重定位的,也可以是絕對段,每一個可重定位的段都有一個類型和名字,C51段名有以下規(guī)定: 每個段名包括前綴與模塊名兩部分,前綴表示存儲類型,模塊名則是被編譯的模塊的名字,例如: ?CO?main1 :表示main1模塊中的代碼段中的常數(shù)部分 ?PR?function1?module 表module模塊中函數(shù)function1的可執(zhí)行段,具體規(guī)定參閱手冊。 2. 2. 程序優(yōu)化 C51編譯器是一個具有優(yōu)化功能的編譯器,它共提供六級優(yōu)化功能。確保生成目標(biāo)代碼的最高效率(代碼最少,運(yùn)行速度最快)。具體六級優(yōu)化的內(nèi)容可參考幫助。 在C51中提供以下編譯控制指令控制代碼優(yōu)化: OPTIMIZE(SJXE):盡量采用子程序,使程序代碼減少。 NOAREGS:不使用絕對寄存器訪問,程序代碼與寄存器段獨(dú)立。 NOREGPARMS:參數(shù)傳遞總是在局部數(shù)據(jù)段實(shí)現(xiàn),程序代碼與低版本C51兼容。 OPTIMIZE(SIZE)AK OPTIMIZE(speed)提供6級優(yōu)化功能,缺省為: OPTIMIZE(6,SPEED)。 5. 第五章 Keil C51庫函數(shù)參考 C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫函數(shù),多使用庫函數(shù)使程序代碼簡單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫函數(shù)系統(tǒng)。 1. 第一節(jié) 本征庫函數(shù)(intrinsic routines)和非本征證庫函數(shù) C51提供的本征函數(shù)是指編譯時直接將固定的代碼插入當(dāng)前行,而不是用ACALL和LCALL語句來實(shí)現(xiàn),這樣就大大提供了函數(shù)訪問的效率,而非本征函數(shù)則必須由ACALL及LCALL調(diào)用。 C51的本征庫函數(shù)只有9個,數(shù)目雖少,但都非常有用,列如下: _crol_,_cror_:將char型變量循環(huán)向左(右)移動指定位數(shù)后返回 _iror_,_irol_:將int型變量循環(huán)向左(右)移動指定位數(shù)后返回 _lrol_,_lror_:將long型變量循環(huán)向左(右)移動指定位數(shù)后返回 _nop_: 相當(dāng)于插入NOP _testbit_: 相當(dāng)于JBC bitvar測試該位變量并跳轉(zhuǎn)同時清除。 _chkfloat_: 測試并返回源點(diǎn)數(shù)狀態(tài)。 使用時,必須包含inclucle 一行。 如不說明,下面談到的庫函數(shù)均指非本征庫函數(shù)。63 / 63
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1