




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3.第三節(jié)模1.Small RAM,優(yōu)點是速度快缺點是空間有限只適用于小程序2.Compact所有缺省變量均位于外部RAM區(qū)的一頁(256Bytes),具體哪一頁可由P2口指定,在較large要快,是一種中間狀態(tài)。3.large64KBRAM區(qū),優(yōu)點是空間大,可存變量多,缺點是速度第四節(jié)類型別用:code,data,idata,xdata,pdata說明,例:datacharcodearray[]=“o!”;unsignedcharxdataarr[10][4][4];bit0sbit01sfrsfr字節(jié)地址0~255sfr16sfr1.bit用#pragmadisable說明函數和用“usign”bit一個bit變量不能為指針,如bit*ptr;是錯誤bit數組如:bitarr[5]2.intbdatasbitbito=in0;sbitsbitarr07=arr[0]^7;sbitKeilC51C51支持一般指針(GenericPointer)和器指針(Memory_Specific1.1. ptrpt2.2.器指chardata*str;strdatacharintxdata*pow;powRAMint3.lKeilC51C51函數對ANSIC作了擴展,具體包括1.1.中斷函數:中斷方法如下:voidserial_ISR()interrupt4[using{/*ISR}/*definenotusedinterrupt,sogenerate"IRET"intheirentrance*/voidextern0_ISR()interrupt0{}/*notused*/voidtimer0_ISR()interrupt1{}/*notused*/voidextern1_ISR()interrupt2{}/*notused*/voidtimer1_ISR()interrupt3{}/*notused*/voidserial_ISR()interrupt4{}/*notused*/2.2.通 3.3.選通 工作區(qū)由usingx,見上例4.4.指定模smallcompactlargevoidfun1(void)small{5.5.#pragma6.6.51PC不同,PC使用堆棧傳遞voidfunc(param...)reentrant;KeilC51另外,對可重入函數,在相應的函數前面加上開關“#pragmanoaregs”,以編譯器使用絕7.7.PL/M-51函數由alien指定。KeilC51高級編程llClC51lC51提供了三種絕對地址的方法CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、rval=CBYTE[0x0002];指向程序存貯器的0002hrval=XWORD[0x0002];指向外RAM0004h地2.2._at_直接在數據定義后加上_at_constidatastructlinklist_at_0x40;list40h請參考absacc.h。3.3.codexdatapdata\databdata對“段”地址進行,如要指定某具體變量KeilC511.1.#pragma#pragmaasmndasmC51指令中有SRC以控制將這些不用編譯的行存入其中。2.2.C函數與匯編函數之間的參數傳遞問題,C51中有兩種參數傳charintlong,float123R7R5R3R6&R7R4&R5R2&R3R4~R7R4~R7通過固定區(qū)傳遞(fixedreturntypeRegistevbitchar/unsignedchar1_byteR7R7int/unsignedint2_byteR6&R7R6R7返回,MSBR6long&unsignedlongR4~R7MSBR4,LSBR7floatR4~R732BitIEEE格一般指針R1~R3類型在R3R2低SRC再用A51進行編譯。KeilC51在C51\LiB 就可以用在自己的系統中。1.1.只有使用了init_mem()才可以調回其它函數,諸如malloc malloc.c:此文件是malloc的源代碼,分配一段固定大小的內存。realloc.c:此文件是realloc.c源代碼,其功能是調整當前分配動態(tài)內存的l清除內部、外部或者以此頁為單元的外部l按模式初使化重入堆棧及堆棧指l8051lmain常數名意義IBPSTACKTOP指定小模式重入堆棧頂部地址XBPSTACKTOP指定大模式重入堆棧頂部地址PBPSTACKTOP指定Compact模式重入堆棧頂部地址PPAGEENABLEP2初始化允許開關PPAGEP2值,例如指定某頁1000H-10FFH,則PPAGE=10H PDATA(1080H),其中1080H1000H-10FFH中的任一個值以下是STARTUP.A51;;ThisfileispartoftheC51Compiler;CopyrightKEILELEKTRONIKGmbH;;STARTUP.A51:Thiscodeisexecutedafterprocessor;;TotranslatethisfileuseA51withthefollowing;;A51;;TolinkthemodifiedSTARTUP.OBJfiletoyourapplicationusethe;L51;;L51,;;;;User-definedPower-OnInitializationof;;WiththefollowingEQUstatementstheinitializationof;atprocessorresetcanbe;;;theabsolutestart-addressofIDATAmemoryisalways0IDATALENEQU80H;thelengthofIDATAmemoryinbytes.;XDATALENEQU0H;thelengthofXDATAmemoryinbytes.;PDATALENEQU0H;thelengthofPDATAmemoryinbytes.;;Notes:TheIDATAspaceoverlapsphysicallytheDATAandBITareasof;8051CPU.Atminimumthememoryspaceoccupiedfromthe;run-timeroutinesmustbesetto;;;ReentrantStack;;ThefollowingEQUstatementsdefinethestackpointerfor;functionsandinitialized;;StackSpaceforreentrantfunctionsintheSMALLmodel.IBPSTACKEQU0;setto1ifsmallreentrantisused.IBPSTACKTOPEQU0FFH+1;settopofstacktohighest;;StackSpaceforreentrantfunctionsintheLARGEmodel.XBPSTACKEQU0;setto1iflargereentrantisused.XBPSTACKTOPEQU0FFFFH+1;settopofstacktohighest;;StackSpaceforreentrantfunctionsintheCOMPACTmodel.PBPSTACKEQU0;setto1ifcompactreentrantisused.PBPSTACKTOPEQU0FFFFH+1;settopofstacktohighest;;;;PageDefinitionforUsingtheCompactModelwith64KBytexdata;;ThefollowingEQUstatementsdefinethexdatapageusedfor;variables.TheEQUPPAGEmustconformwiththePPAGEcontrol;inthelinker;PPAGEENABLEEQU0;setto1ifpdataobjectarePPAGEEQU0;definePPAGE;;3.getkey函數是一個低級字符輸入子程,該程序可用到自己硬件系統,如矩陣鍵盤輸入中,缺.段名協定(SegmentNamingC51編譯器生成的目標文件存放于許多段中,這些段是代碼空間或數據空間的一些單元,一2.2.C51編譯器是一個具有優(yōu)化功能的編譯器,它共提供六級優(yōu)化功能。確保生成目標代碼的最 中提供以下編譯控制指令控制代碼優(yōu)化OPTIMIZE(SIZE)AKOPTIMIZE(speed)提供6級優(yōu)化功能,缺省為:OPTIMIZE(6,SPEED)5.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 閘閥檢修施工方案
- 《Unit 2 Wash,brush,clean!》(教學設計)-2024-2025學年人教版PEP(一起)(2024)英語一年級下冊
- 整形醫(yī)院銷售培訓課件
- 三年級體育上冊 出升的太陽(2)教學設計
- 貨架鐵床工藝品生產項目可行性研究報告寫作模板-申批備案
- 打井測量施工方案
- 護理內科學講解
- 2023年黑龍江省牡丹江市中考歷史真題(解析版)
- 第五單元第一課時《圓的認識》(教學設計)-2024-2025學年人教版六年級數學上冊
- 人力資源講師內部培訓
- 鋼沉井制造及安裝專項施工方案電子
- 虞大明教學實錄——《刷子李》
- 第二代身份證號碼驗證器
- 市場調查與預測復習資料
- 輪扣式模板支撐架專項施工方案
- 施工組織設計雙代號時標網絡圖
- 甘肅省審圖機構
- 財政部金融企業(yè)不良資產批量轉讓管理辦法(財金[2012]6號)
- 辦公室口號大全
- 辦公建筑設計規(guī)范2019
- 吉林省公務員(參照管理人員)調任(轉任)審批表
評論
0/150
提交評論