單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)?CPU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開(kāi)發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51 系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C 語(yǔ)言編程,那么Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。我們將通過(guò)一些實(shí)例來(lái)學(xué)習(xí) Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對(duì)工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫,非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個(gè)發(fā)光二極管,P3.2~P3.4 引腳上接4 個(gè)按鈕開(kāi)關(guān),我們的第一個(gè)任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。
上傳時(shí)間: 2013-11-06
上傳用戶:aesuser
用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默認(rèn)情況下生成*.hex 的可執(zhí)行文件,但是當(dāng)我們要生成*.bin 的可執(zhí)行文件時(shí)怎么辦呢?答案是可以使用RVCT 的fromelf.exe 工具進(jìn)行轉(zhuǎn)換。也就是說(shuō)首先將源文件編譯鏈接成*.axf 的文件,然后使用fromelf.exe 工具將*.axf 格式的文件轉(zhuǎn)換成*.bin格式的文件。下面將具體說(shuō)明這個(gè)操作步驟:1. 打開(kāi)Axf_To_Bin 文件中的Axf_To_Bin.uv2 工程文件;2. 打開(kāi)Options for Target ‘Axf_To_Bin’對(duì)話框,選擇User 標(biāo)簽頁(yè);3. 構(gòu)選Run User Programs After Build/Rebuild 框中的Run #1 多選框,在后邊的文本框中輸入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin ./output/Axf_To_Bin.axf 命令行;4. 重新編譯文件,在./output/文件夾下生成了Axf_To_Bin.bin 文件。在上面的步驟中,有幾點(diǎn)值得注意的是:1. C:\Keil\ARM\BIN31\表示RV MDK 的安裝目錄;2. fromelf.exe 命令的具體語(yǔ)法格式如下:命令的格式為:fromelf [options] input_file命令選項(xiàng)如下:--help 顯示幫助信息--vsn 顯示版本信息--output file 輸出文件(默認(rèn)的輸出為文本格式)--nodebug 在生成的映象中不包含調(diào)試信息--nolinkview 在生成的映象中不包含段的信息二進(jìn)制輸出格式:--bin 生成Plain Binary 格式的文件--m32 生成Motorola 32 位十六進(jìn)制格式的文件--i32 生成Intel 32 位十六進(jìn)制格式的文件--vhx 面向字節(jié)的位十六進(jìn)制格式的文件t--base addr 設(shè)置m32,i32 格式文件的基地址--text 顯示文本信息文本信息的標(biāo)志-v 打印詳細(xì)信息-a 打印數(shù)據(jù)地址(針對(duì)帶調(diào)試信息的映象)-d 打印數(shù)據(jù)段的內(nèi)容-e 打印表達(dá)式表print exception tables-f 打印消除虛函數(shù)的信息-g 打印調(diào)試表print debug tables-r 打印重定位信息-s 打印字符表-t 打印字符串表-y 打印動(dòng)態(tài)段的內(nèi)容-z 打印代碼和數(shù)據(jù)大小的信息
標(biāo)簽: MDK bin 可執(zhí)行文件
上傳時(shí)間: 2013-12-17
上傳用戶:AbuGe
MIPS架構(gòu)UCOS-ii移植例程,不同于ucos-ii網(wǎng)站上下載例程,新增加2個(gè)例程文件,對(duì)新手十分重要
標(biāo)簽: UCOS-ii MIPS 架構(gòu) 移植
上傳時(shí)間: 2013-12-19
上傳用戶:Ants
VC編寫的基本讀圖文件,有完整的工程文件
標(biāo)簽: 編寫
上傳時(shí)間: 2015-05-19
上傳用戶:xuanjie
移植文件針對(duì)中斷處理部分作了處理,支持中斷嵌套!(重新編譯若出現(xiàn)錯(cuò)誤,請(qǐng)刪掉原編譯的文件,后重新編譯或者刪掉工程文件后,重新利用源碼文件建立新工程文件即可!)
上傳時(shí)間: 2013-12-23
上傳用戶:invtnewer
每個(gè)例子文件夾都附有數(shù)據(jù)庫(kù)表、程序源文件和一個(gè)war包(或者jar包)。如果是cs結(jié)構(gòu)的,那么是個(gè)jar包,而且還多一個(gè)可執(zhí)行程序文件夾,如果是bs結(jié)構(gòu)的則是個(gè)war包。結(jié)構(gòu)如下所示: 例子 | +--- -例子名稱 | +------數(shù)據(jù)庫(kù)表(文件夾) | +------源代碼(文件夾) | +-----jar包(ejb模塊)或者war包(web模塊)【部署到服務(wù)器上】 | +------可執(zhí)行程序(cs結(jié)構(gòu)的例子特有) | | | +-------可執(zhí)行的jar包 | +------文本文件(http.txt,啟動(dòng)例子時(shí),IE中輸入的地址,bs結(jié)構(gòu)的例子特有) 在使用例子之前,你可以用Jbuilder打開(kāi)原來(lái)的工程文件,重新編譯,也可以直接部署war包(或者jia包)。
標(biāo)簽: war jar 數(shù)據(jù)庫(kù) 程序
上傳時(shí)間: 2015-08-16
上傳用戶:LIKE
bs_客戶關(guān)系管理系統(tǒng) 每個(gè)例子文件夾都附有數(shù)據(jù)庫(kù)表、程序源文件和一個(gè)war包(或者jar包)。如果是cs結(jié)構(gòu)的,那么是個(gè)jar包,而且還多一個(gè)可執(zhí)行程序文件夾,如果是bs結(jié)構(gòu)的則是個(gè)war包。結(jié)構(gòu)如下所示: 例子 | +--- -例子名稱 | +------數(shù)據(jù)庫(kù)表(文件夾) | +------源代碼(文件夾) | +-----jar包(ejb模塊)或者war包(web模塊)【部署到服務(wù)器上】 | +------可執(zhí)行程序(cs結(jié)構(gòu)的例子特有) | | | +-------可執(zhí)行的jar包 | +------文本文件(http.txt,啟動(dòng)例子時(shí),IE中輸入的地址,bs結(jié)構(gòu)的例子特有) 在使用例子之前,你可以用Jbuilder打開(kāi)原來(lái)的工程文件,重新編譯,也可以直接部署war包(或者jia包)。
標(biāo)簽: war jar bs 管理系統(tǒng)
上傳時(shí)間: 2015-08-16
上傳用戶:jqy_china
bs_網(wǎng)上購(gòu)物系統(tǒng)每個(gè)例子文件夾都附有數(shù)據(jù)庫(kù)表、程序源文件和一個(gè)war包(或者jar包)。如果是cs結(jié)構(gòu)的,那么是個(gè)jar包,而且還多一個(gè)可執(zhí)行程序文件夾,如果是bs結(jié)構(gòu)的則是個(gè)war包。結(jié)構(gòu)如下所示: 例子 | +--- -例子名稱 | +------數(shù)據(jù)庫(kù)表(文件夾) | +------源代碼(文件夾) | +-----jar包(ejb模塊)或者war包(web模塊)【部署到服務(wù)器上】 | +------可執(zhí)行程序(cs結(jié)構(gòu)的例子特有) | | | +-------可執(zhí)行的jar包 | +------文本文件(http.txt,啟動(dòng)例子時(shí),IE中輸入的地址,bs結(jié)構(gòu)的例子特有) 在使用例子之前,你可以用Jbuilder打開(kāi)原來(lái)的工程文件,重新編譯,也可以直接部署war包(或者jia包)。
標(biāo)簽: war jar bs 網(wǎng)上購(gòu)物
上傳時(shí)間: 2015-08-16
上傳用戶:xinzhch
cs_人財(cái)務(wù)記賬系統(tǒng)每個(gè)例子文件夾都附有數(shù)據(jù)庫(kù)表、程序源文件和一個(gè)war包(或者jar包)。如果是cs結(jié)構(gòu)的,那么是個(gè)jar包,而且還多一個(gè)可執(zhí)行程序文件夾,如果是bs結(jié)構(gòu)的則是個(gè)war包。結(jié)構(gòu)如下所示: 例子 | +--- -例子名稱 | +------數(shù)據(jù)庫(kù)表(文件夾) | +------源代碼(文件夾) | +-----jar包(ejb模塊)或者war包(web模塊)【部署到服務(wù)器上】 | +------可執(zhí)行程序(cs結(jié)構(gòu)的例子特有) | | | +-------可執(zhí)行的jar包 | +------文本文件(http.txt,啟動(dòng)例子時(shí),IE中輸入的地址,bs結(jié)構(gòu)的例子特有) 在使用例子之前,你可以用Jbuilder打開(kāi)原來(lái)的工程文件,重新編譯,也可以直接部署war包(或者jia包)。
標(biāo)簽: war jar cs 財(cái)務(wù)
上傳時(shí)間: 2013-12-21
上傳用戶:lacsx
bs_網(wǎng)上報(bào)名系統(tǒng)每個(gè)例子文件夾都附有數(shù)據(jù)庫(kù)表、程序源文件和一個(gè)war包(或者jar包)。如果是cs結(jié)構(gòu)的,那么是個(gè)jar包,而且還多一個(gè)可執(zhí)行程序文件夾,如果是bs結(jié)構(gòu)的則是個(gè)war包。結(jié)構(gòu)如下所示: 例子 | +--- -例子名稱 | +------數(shù)據(jù)庫(kù)表(文件夾) | +------源代碼(文件夾) | +-----jar包(ejb模塊)或者war包(web模塊)【部署到服務(wù)器上】 | +------可執(zhí)行程序(cs結(jié)構(gòu)的例子特有) | | | +-------可執(zhí)行的jar包 | +------文本文件(http.txt,啟動(dòng)例子時(shí),IE中輸入的地址,bs結(jié)構(gòu)的例子特有) 在使用例子之前,你可以用Jbuilder打開(kāi)原來(lái)的工程文件,重新編譯,也可以直接部署war包(或者jia包)。
上傳時(shí)間: 2014-08-09
上傳用戶:蟲(chóng)蟲(chóng)蟲(chóng)蟲(chóng)蟲(chóng)蟲(chóng)
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1