




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第八章單片機(jī)應(yīng)用系統(tǒng)開發(fā)指導(dǎo)1第一頁,共十四頁,2022年,8月28日如何開發(fā)一個(gè)完整的單片機(jī)系統(tǒng)?4
對給定的硬件系統(tǒng)進(jìn)行軟件設(shè)計(jì)。
應(yīng)先完成程序的結(jié)構(gòu)框圖,再對框圖填寫指令,使所設(shè)計(jì)的程序達(dá)到:功能上可行,代碼上優(yōu)化,并盡量做到結(jié)構(gòu)化、模塊化。
5
借助開發(fā)系統(tǒng)對所設(shè)計(jì)的程序進(jìn)行調(diào)試、完善,并連接應(yīng)用系統(tǒng)(即目標(biāo)機(jī))進(jìn)行連機(jī)調(diào)試和硬件排錯(cuò);
6
將應(yīng)用系統(tǒng)投入實(shí)際工作環(huán)境。第二頁,共十四頁,2022年,8月28日單片機(jī)開發(fā)系統(tǒng)應(yīng)具備的主要功能1
能對目標(biāo)程序進(jìn)行輸入、修改、貯存;
2
能與上位機(jī)(PC機(jī))連接、通訊;
3
能在上位機(jī)的支持下對單片機(jī)程序進(jìn)行匯編、反匯編及動(dòng)態(tài)調(diào)試等;
4
能以多種方式對目標(biāo)機(jī)進(jìn)行調(diào)試、運(yùn)行(以單步、設(shè)斷點(diǎn)、連續(xù)等方式運(yùn)行程序);
5
能為目標(biāo)機(jī)提供程序運(yùn)行空間,并提供盡量多的子程序庫;
6
能對目標(biāo)程序進(jìn)行固化。第三頁,共十四頁,2022年,8月28日對單片機(jī)應(yīng)用系統(tǒng)硬、軟件設(shè)計(jì)的基本要求1、系統(tǒng)配置要留有一定的余地;
2、系統(tǒng)硬件應(yīng)盡量簡單;
3、盡量使用成熟的典型硬件電路;
4、
盡量用軟件完成/實(shí)現(xiàn)系統(tǒng)要求的功能;
5、
要注意系統(tǒng)的驅(qū)動(dòng)能力;
6、
要留有必要的系統(tǒng)功能擴(kuò)展空間,
7、盡量做到方便用戶使用,并應(yīng)考慮用戶的維護(hù)便利。
第四頁,共十四頁,2022年,8月28日軟件設(shè)計(jì)
1、編輯程序2、編譯
(檢查語法錯(cuò)誤,如有錯(cuò)誤返回第一步)3、
試驗(yàn)運(yùn)行
(檢查邏輯錯(cuò)誤,如有錯(cuò)誤返回第一步)
這是程序開發(fā)的主要工作,通常有以下幾種手段:
A、軟件仿真(僅適用于沒有對硬件操作的系統(tǒng))
B、仿真器(最方便,但成本貴)
C、下載線(低成本,僅有部分CPU有此功能)D、使用編程器直接將程序?qū)懙紺PU(每次要插拔
CPU,太麻煩)4、調(diào)試完畢,用編程器將程序固化在EPROM中(稱寫片)5、成品。第五頁,共十四頁,2022年,8月28日程序語言的選擇對于一個(gè)高級(jí)的單片機(jī)程序員,往往既要熟悉匯編,同時(shí)也要熟悉c語言,才能更好的去編寫程序。因?yàn)閰R編和c都是工具,可能在某些地方用c無法實(shí)現(xiàn),但用匯編卻很容易.有些地方用匯編,很繁瑣,用c就很方便。在bbs上多次有人爭論匯編和c的問題。無法說c好,還是匯編好,有時(shí)要取決于你的項(xiàng)目。我們認(rèn)為能夠最快的實(shí)現(xiàn)和完成你的設(shè)計(jì)的就是好的。多數(shù)情況下,是用c語言做設(shè)計(jì)比較快。特別是代碼比較多的設(shè)計(jì),c的優(yōu)勢就更為明顯。如果用c也不好,用匯編也不好,那么就混合使用吧,keilc51是支持c和匯編混合編程的。
第六頁,共十四頁,2022年,8月28日編程器我們調(diào)試通過的匯編語言或C語言源程序,還必須經(jīng)過與該語言對應(yīng)的軟件將我們能看懂的匯編或C“翻譯”(編譯)成所用單片機(jī)可以識(shí)別的代碼。將單片機(jī)可以識(shí)別的代碼燒寫(編程)到單片機(jī)程序存儲(chǔ)器中。編譯出的代碼一般擴(kuò)展名為*.hex或*.bin;這個(gè)代碼文件必須送到單片機(jī)中,單片機(jī)在電路中才能按程序的要求工作。將這個(gè)代碼文件送到單片機(jī)中的工具就是編程器,與電腦連接的編程器一般都通過并口或者串口與編程器的硬件連接,也有相應(yīng)的服務(wù)程序;在連接好電腦與編程后運(yùn)行其服務(wù)程序,在服務(wù)程序中先選擇所要編程的單片機(jī)型號(hào),再調(diào)入前面所得到的代碼文件,接下來就用編程器將這個(gè)代碼文件燒寫到單片機(jī)中。第七頁,共十四頁,2022年,8月28日寫片舉例
在源程序被編譯后,生成了擴(kuò)展名為HEX的目標(biāo)文件,一般編程器能夠識(shí)別這種格式的文件,只要將此文件調(diào)入即可寫片。在此,為使同學(xué)們對整個(gè)過程有個(gè)認(rèn)識(shí),舉一例說明:ORG0000HLJMPSTARTORG040HSTART:MOVSP,#5FH;設(shè)堆棧LOOP:NOPLJMPLOOP;循環(huán)END;結(jié)束表1:03000000020040BB:0700400075815F000200431F020040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75815F00020043表2表3表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉(zhuǎn)換成的目標(biāo)文件,也就是最終寫入EPROM的文件,它由編程器轉(zhuǎn)換得到,也可以由HEXBIN一類的程序轉(zhuǎn)換得到。學(xué)過手工匯編者應(yīng)當(dāng)不難找出表3與表1的一一對應(yīng)關(guān)系,值得注意的是從020040后開始的一長串‘FF’,直到7581,這是由于偽指令:ORG040H造成的結(jié)果。(出自平凡的單片機(jī))第八頁,共十四頁,2022年,8月28日一、硬件準(zhǔn)備隨著技術(shù)的發(fā)展,單片機(jī)開發(fā)手段也越來越先進(jìn),而價(jià)格卻不斷下降。當(dāng)FLASH型單片機(jī)被廣泛應(yīng)用后,采用軟件模擬加寫片驗(yàn)證成為一種經(jīng)濟(jì)實(shí)用的實(shí)驗(yàn)方法。而近年來很多單片機(jī)都具有了ISP功能,只要一根下載線即可以編程,不再需要編程器。方案1:(1)計(jì)算機(jī)一臺(tái);(2)具有仿真功能的實(shí)驗(yàn)板一塊,(3)其它如電烙鐵、實(shí)驗(yàn)電源等常規(guī)工具。方案2:(1)計(jì)算機(jī)一臺(tái);(2)下載型實(shí)驗(yàn)板一塊;(3)下載線一根;(4)其它如電烙鐵、實(shí)驗(yàn)電源等常工具。方案1的特點(diǎn)是實(shí)驗(yàn)板本身具有仿真能力,性價(jià)比高。方案2價(jià)格略低。第九頁,共十四頁,2022年,8月28日單片機(jī)的在線編程技術(shù)通常進(jìn)行單片機(jī)的實(shí)驗(yàn)或開發(fā)時(shí),編程器是必不可少的。仿真、調(diào)試完的程序需要借助編程器燒到單片機(jī)內(nèi)部或外接的程序存儲(chǔ)器中。普通的編程器價(jià)格從幾百元到幾千元不等,對于一般的單片機(jī)愛好者來說還是一筆不小的開支。另外,在開發(fā)過程中,程序每改動(dòng)一次就要拔下電路板上的芯片編程后再插上,也比較麻煩。隨著單片機(jī)技術(shù)的發(fā)展,出現(xiàn)了可以在線編程的單片機(jī)。這種在線編程目前有兩種實(shí)現(xiàn)方法:在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)。第十頁,共十四頁,2022年,8月28日ISPIn-SystemProgramming在系統(tǒng)可編程ISP一般是通過單片機(jī)專用的串行編程接口對單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對另一個(gè)存儲(chǔ)體重新編程,之后將控制從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),而IAP的實(shí)現(xiàn)更加靈活,通??衫脝纹瑱C(jī)的串行口接到計(jì)算機(jī)的RS232口,通過專門設(shè)計(jì)的固件程序來編程內(nèi)部存儲(chǔ)器。例如:ATMEL公司的單片機(jī)AT89S8252就提供了一個(gè)SPI(serialperipheralinterface)串行外設(shè)接口對內(nèi)部程序存儲(chǔ)器編程(ISP),而SST公司的單片機(jī)SST89C54內(nèi)部包含兩塊獨(dú)立的存儲(chǔ)區(qū),通過預(yù)先編程在其中一塊存儲(chǔ)區(qū)中的程序就可以通過串行口與計(jì)算機(jī)相連,使用PC上專用的用戶界面程序直接下載程序代碼到單片機(jī)的另一塊存儲(chǔ)區(qū)中。(出自“中國電子技術(shù)信息網(wǎng)”)第十一頁,共十四頁,2022年,8月28日IAP:
in
application
programmingISP和IAP為單片機(jī)的實(shí)驗(yàn)和開發(fā)帶來了很大的方便和靈活性,也為廣大單片機(jī)愛好者帶來了福音。利用ISP和IAP,不需要編程器就可以進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā),單片機(jī)芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,甚至可以遠(yuǎn)程在線升級(jí)或改變單片機(jī)中的程序。電子工程師網(wǎng)站的單片機(jī)自學(xué)、開發(fā)套件就是采用具有IAP功能的SST公司的單片機(jī)SST89C54來進(jìn)行開發(fā)的。(出自“中國電子技術(shù)信息網(wǎng)”)第十二頁,共十四頁,2022年,8月28日二、軟件準(zhǔn)備單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。(出自平凡的單片機(jī))第十三頁,共十四頁,2022年,8月28日仿真仿真的主要目的是進(jìn)行軟件調(diào)試,當(dāng)然借助仿真機(jī),也能進(jìn)行一些硬件排錯(cuò)。一塊單片機(jī)應(yīng)用電路板包括單片機(jī)部份及為達(dá)到使用目的而設(shè)計(jì)的應(yīng)用電路,仿真就是利用仿真機(jī)來代替應(yīng)用電路板(稱目標(biāo)機(jī))的單片機(jī)部份,對應(yīng)用電路部份進(jìn)行測試、調(diào)試。仿真有CPU仿真和ROM仿真兩種,所謂CPU仿真是指用仿真機(jī)代替目標(biāo)機(jī)的CPU,由仿真機(jī)向目標(biāo)機(jī)的應(yīng)用電路部份提供各種信號(hào)、數(shù)據(jù),進(jìn)行調(diào)試的方法。這種仿真可以通過單步運(yùn)行、連續(xù)運(yùn)行等多種方法來運(yùn)行程序,并能觀察到單片機(jī)內(nèi)部的變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同管理制度職責(zé)
- 農(nóng)業(yè)科技園區(qū)規(guī)劃設(shè)計(jì)與運(yùn)營管理手冊
- 2025年毫州考從業(yè)資格證貨運(yùn)試題
- 家政公司家政服務(wù)合同
- 建筑鋼筋班組合同8篇
- 購銷合同格式
- 房屋代理出租合同
- 建繼續(xù)教育建設(shè)工程合同管理
- 2025年景德鎮(zhèn)貨運(yùn)從業(yè)資格證考試試題及答案
- 第07講 文言文翻譯 講義 中考語文復(fù)習(xí)
- 2024-2025學(xué)年八年級(jí)地理下冊第七章《南方地區(qū)》檢測卷(人教版)
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫參考答案
- 《ISO 56000-2025創(chuàng)新管理 基礎(chǔ)和術(shù)語》之1:“引言+范圍+術(shù)語和定義”專業(yè)深度解讀與應(yīng)用指導(dǎo)材料(雷澤佳編寫2025A0)-1-150
- DB37-T4817-2025 瀝青路面就地冷再生技術(shù)規(guī)范
- 2025年公共營養(yǎng)師三級(jí)理論試題及答案
- 提高設(shè)備基礎(chǔ)預(yù)埋螺栓一次安裝合格率
- 煤礦防治水安全質(zhì)量標(biāo)準(zhǔn)化評(píng)分表
- 2024年科技節(jié)小學(xué)科普知識(shí)競賽題及答案(共100題)
- 2025年度教育培訓(xùn)機(jī)構(gòu)學(xué)生綜合素質(zhì)評(píng)價(jià)協(xié)議3篇
- 氧氣管道吹掃、打壓方案
- 第28課 改革開放和社會(huì)主義現(xiàn)代化建設(shè)的巨大成就 教學(xué)設(shè)計(jì)(表格式)必修 中外歷史綱要(上)
評(píng)論
0/150
提交評(píng)論