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

正文內(nèi)容

keil中的變量和常量定位問題-在線瀏覽

2025-07-25 13:35本頁面
  

【正文】 TART。 ,根據(jù)自已的需要進行,如將IDATALEN EQU 80H中的80H改為70H,就可以使6F到7F的16字節(jié)內(nèi)存不被清零。指向函數(shù)的指針變量的定義格式為:類型標識符 (*指針變量名)()。如下例:void main(void){void (*DispBuffer)()。 /*賦值*/for(。DispBuffer()。我們知道,浮點數(shù)在C語言中是以IEEE格式存儲的,一個浮點數(shù)占用四個字節(jié),(160,26,10,66)這四個數(shù)。那么如何在程序中得到一個浮點數(shù)的組成數(shù)呢?浮點數(shù)在存儲時,是存儲連續(xù)的字節(jié)中的,只要設法找到存儲位置,就可以得到這些數(shù)了。具體程序如下:define uchar unsigned chardefine uint unsigned intvoid FtoC(void){ float a。 /*定義字符數(shù)組,準備存儲浮點數(shù)的四個字節(jié)*、void *pf。 /*px指針指向數(shù)組x*/pf=amp。 /*void 型指針指向浮點數(shù)首地址*/a=。i4。 /*強制void 型指針轉(zhuǎn)成char型,因為*/} /*void型指針不能運算*/}如果已將數(shù)存入EEPROM,要將其取出合并,方法也是一樣,可參考下面的程序。uchar i,*pxuchar x[4]={56,180,150,73}。px=x。a。i4。}}以上所用C語言為FRANKLIN C51 VER 。用過匯編語言后再使用C來開發(fā),體會更加深刻。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。下面詳細介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。圖(1) C51工具包整體結(jié)構(gòu)圖3. 第三節(jié) Keil C51工具包的安裝1. 1. C51 for Dos在Windows下直接運行軟件包中DOS\。然后將軟件包中crack目錄中的文件拷入C:\C51\Bin目錄下。大量的編譯控制指令完成C51編譯器的全部功能。源文件(.C)的控制等,詳見第五部分的具體介紹。2. (2) A51A51是匯編語言編譯器,使用方法為:A51 sourcefile[編譯控制指令]或A51 mandfile其中sourcefile為匯編源文件(.),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。2. 2. L51和BL511. (1) L51L51是Keil C51軟件包提供的連接/定位器,其功能是將編譯生成的OBJ文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 Commandfile源程序的多個模塊分別經(jīng)C51與A51編譯后生成多個OBJ文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。連接控制指令提供了連接定位時的所有控制功能。2. (2) Bl51BL51也是C51軟件包的連接/定位器,其具有L51的所有功能,此外它還具有以下3點特別之處:a. 可以連接定位大于64kBytes的程序。 Bank Switching)c. 可用于RTX51操作系統(tǒng)RTX51是一個實時多任務操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機系統(tǒng)軟件向RTOS發(fā)展是一種趨勢,這種趨勢對于186和386及68K系列CPU更為明顯和必須,對8051因CPU較為簡單,程序結(jié)構(gòu)等都不太復雜,RTX51作用顯得不太突出,其專業(yè)版軟件PK51軟件包甚至不包括RTX51Full,而只有一個RTX51TINY版本的RTOS。Bank switching技術(shù)因使用很少也不作介紹。它不需目標板(for windows也可通過mon51接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU及其外圍器件,如內(nèi)部串口,外部I/O及定時器等,能對嵌入式軟件功能進行有效測試。Initfile為一個初使化文件,它在啟動dScope51后,在debugfile裝入前裝入,裝有一些dScope的初使化參數(shù)及常用調(diào)試函數(shù)等。2. (2) tScope51與dScope51不同的是Scope51必須帶目標板,目前它可以通過兩種方式訪問目標板。(2) 通過Monitov51監(jiān)控程序,這種方法是可行的,使用時可通過串口及監(jiān)控程序來調(diào)試目標板。進入TS51后,必須裝入IOT文件,::\C51\TS51\ CPUTYPE(80517)可惜的是tScope51只有for Dos的版本。4. 4. Ishell及uVision1. (1) Ishell for Dos這是一個for Dos的IDE,直接在命令行鍵入Ishell,則進入該環(huán)境,它使用簡單方便。則通過批處理,BAT文件進行編譯連接,然后通過菜單控制由dScope51或tScope51對程序進行調(diào)試,因為是for dos的,不做太詳細介紹。2. 第二章 Keil C51軟件使用詳解1. 第一節(jié) Keil C51編譯器的控制指令C51編譯器的控制指令分為三類:源文件控制類,目標文件控制類及列表控制類。DEFINE(DF):定義預處理(在C51命令行)。NOAMAKE(NOAM) 禁止AutoMake信息記錄NOREGPARMS 禁止用寄存器傳遞參數(shù)OBJECTEXTEND(OE) Object文件包含附加變量類型信息OPTIMIZE(OT) 指定優(yōu)化級別REGFILE(RF) 指定一個寄存器使用的文件以供整體優(yōu)化用REGISTERBANK(RB) 指定一個供絕對寄存器訪問的寄存器區(qū)名SRC 不生成目標文件只生成匯編源文件 其它控件不常用。1. (1) 高級語言顯示模式單擊主菜單中的“View”,第一欄中的三條命令“Highlevel”、“Mixed”、“Assembly”分別對所裝入的程序按照“高級”、“混合級”及“匯編級”三種方式顯示,以方便調(diào)試使用。Timer:顯示各定時/計數(shù)器的模式,初始值狀態(tài)等。比如當中斷發(fā)生時會顯示:“interrupt Timer 0 occured”等A/D converter: 顯示A/D轉(zhuǎn)換器狀態(tài)無時,則提示“無”?;蜻x主菜單中Trace單步執(zhí)行CPU中的Go全速執(zhí)行。修改Code代碼:ASM命令存儲器顯示命令:D 類別為(X、D、I、B、C)修改存儲器命令:E 有以下幾種命令EB、EC、EI、EL、EF、EP復雜數(shù)據(jù)類型顯示:Object命令;用以顯示結(jié)構(gòu)或數(shù)組的內(nèi)容。反匯編命令:U5. (5) “Watch”表達式之值在View菜單的“Watch”一欄中有四項:其中包括定義Watch Point(Define)、刪除Watch Point(remove,kill all),及自動更新選項。2. 2. dScope for WindowsdScope for windows具有dScope for dos的全部功能,此外,它還具有以下明顯的優(yōu)點:(1) 標準的Windows界面,操作更容易更簡單; (2) 常用操作多用對話框,而非Dos的行命令方式;(3) 窗口資源更加豐富:存儲器窗口、覆蓋率分析、運行狀態(tài)分析窗口,加強了調(diào)試功能;因為dScope for Windows功能強大,具體操作在第八章詳細介紹。諾伊曼存儲器,即能一致訪問XDATA與Code空間。2. 2. Mon51的使用Mon51的使用途徑有三種方式:(1) Dos行命令方式即先用install對MON51進行配置,然后用MON51進入Monitor狀態(tài),啟用各種命令對Monitor51進行調(diào)試。(3) dScope51 for Windows方式在選CPU驅(qū)動文件時,選“”,則檢查目標板并進入MON51狀態(tài)。INSTALL Serialtype [xdstastart[codestart[bank][PROMCHECK]]],具體說明見MON51幫助文件或使用手冊。4. 4. 串口連接圖:收發(fā)交叉互連,RTS、CTS直連,DSR、DTR直連,具體引腳排列參考串口資料。4. 第四節(jié) 集成開發(fā)環(huán)境(IDE)的使用1. 1. Ishell for Dos的使用進入Ishell之后看到兩個窗口:一個是文件窗口,一個是Dos命令行窗口,窗口上方是下拉式的命令菜單,其中的Files控制文件窗口的顯隱。對每個project都必須設置以上信息,然后存盤“setup”的的“save”,這樣才可正式開始下面工作。3. (3) CDF文件該文件位于BIN目錄下,每一文件定義一組外部函數(shù)工具包,開發(fā)者可修改CDF文件,供自己使用。下面談一談Automake工具:C51的Automake是一個project管理器,在8051工具包中以OBJECT文件形式保留了一個project的信息,AutoMake用這些信息來進行project管理,一旦手工建立一個project,Automake可生成一個新的OBJECT,AutoMake利用此文件來編譯那些修改過的文件。點中主菜單中的Automake即運行本工具。2. 2. uVision for windows的使用uVision是一個標準的windows應用程序,其編譯功能、文件處理功能、project處理功能、窗口功能以及工具引用功能(如A5C5PL/M4BL51 dScope等)等都較Ishell for Dos要強得多。uVision采用dScope for windows作調(diào)試器,該調(diào)試器支持MON51及系統(tǒng)模擬兩種方式,功能較for DOS要強大好用,調(diào)試功能強大。Make則是定義一個make文件。(3) project中包括新建、打開、修改、更新、編譯、連接等poject處理,具體使用可參考后面的例子。因為大多數(shù)擴展功能都是直接針對8051系列CPU硬件的。1. 第一節(jié) Keil C51擴展關鍵字C51 (共19個):_at_ idata sfr16 alien interrupt smallbdata large _task_ Code bit pdatausing reentrant xdata pact sbit data sfr2. 第二節(jié) 內(nèi)存區(qū)域(Memory Areas):1. 1. Pragram Area:由Code說明可有多達64kBytes的程序存儲器2. 2. Internal Data Memory:內(nèi)部數(shù)據(jù)存儲器可用以下關鍵字說明:data:直接尋址區(qū),為內(nèi)部RAM的低128字節(jié) 00H~7FHidata:間接尋址區(qū),包括整個內(nèi)部RAM區(qū) 00H~FFHbdata:可位尋址區(qū),  20H~2FH3. 3. External Data Memory外部RAM視使用情況可由以下關鍵字標識:xdata:可指定多達64KB的外部直接尋址區(qū),地址范圍0000H~0FFFFHpdata:能訪問1頁(25bBytes)的外部RAM,主要用于緊湊模式(Compact Model)。為PO口地址為80H,“=”后H~FFH之間的常數(shù)。指定Timer2口地址T2L=0xcc T2H=0xCDsbit:位尋址,如sbit EA=0xAF。3. 第三節(jié) 存儲模式存儲模式?jīng)Q定了沒有明確指定存儲類型的變量,函數(shù)參數(shù)等的缺省存儲區(qū)域,共三種:1. 1. Small模式所有缺省變量參數(shù)均裝入內(nèi)部RAM,優(yōu)點是訪問速度快,缺點是空間有限,只適用于小程序。3. 3. large模式所有缺省變量可放在多達64KB的外部RAM區(qū),優(yōu)點是空間大,可存變量多,缺點是速度較慢。4. 第四節(jié) 存儲類型聲明變量或參數(shù)的存儲類型可由存儲模式指定缺省類型,也可由關鍵字直接聲明指定。unsigned char xdata arr[10][4][4];5. 第五節(jié) 變量或數(shù)據(jù)類型C51提供以下幾種擴展數(shù)據(jù)類型:bit 位變量值為0或1sbit 從字節(jié)中定義的位變量 0或1sfr sfr字節(jié)地址 0~255sfr16 sfr字地址 0~65535其余數(shù)據(jù)類型如:char,enum,short,int,long,float等與ANSI C相同。注意:(1) 用#pragma disable說明函數(shù)和用“usign”指定的函數(shù),不能返回bit值。2. 2. 可位尋址區(qū)說明20H-2FH可作如下定義:int bdata i;char bdata arr[3],然后:sbit bito=in0;sbit bit15=I^15;sbit arr07=arr[0]^7;sbit arr15=arr[i]^7;7. 第七節(jié) Keil C51指針C51支持一般指針(Generic Pointer)和存儲器指針(Memory_Specific Pointer).1. 1. 一般指針一般指針的聲明和使用均與標準C相同,不過同時還可以說明指針的存儲類型,例如:long * state。char * xdata ptr;ptr為一個指向char數(shù)據(jù)的指針,而ptr本身放于外部RAM區(qū),以上的long,char等指針指向的數(shù)據(jù)可存放于任何存儲器中。2. 2. 存儲器指針基于存儲器的指針說明時即指定了存貯類型,例如:char data * str。 pow指向外部RAM的int型整
點擊復制文檔內(nèi)容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1