第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)_第1頁
第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)_第2頁
第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)_第3頁
第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)_第4頁
第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第八章單片機應(yīng)用系統(tǒng)開發(fā)指導(dǎo)1第一頁,共十四頁,2022年,8月28日如何開發(fā)一個完整的單片機系統(tǒng)?4

對給定的硬件系統(tǒng)進行軟件設(shè)計。

應(yīng)先完成程序的結(jié)構(gòu)框圖,再對框圖填寫指令,使所設(shè)計的程序達到:功能上可行,代碼上優(yōu)化,并盡量做到結(jié)構(gòu)化、模塊化。

5

借助開發(fā)系統(tǒng)對所設(shè)計的程序進行調(diào)試、完善,并連接應(yīng)用系統(tǒng)(即目標機)進行連機調(diào)試和硬件排錯;

6

將應(yīng)用系統(tǒng)投入實際工作環(huán)境。第二頁,共十四頁,2022年,8月28日單片機開發(fā)系統(tǒng)應(yīng)具備的主要功能1

能對目標程序進行輸入、修改、貯存;

2

能與上位機(PC機)連接、通訊;

3

能在上位機的支持下對單片機程序進行匯編、反匯編及動態(tài)調(diào)試等;

4

能以多種方式對目標機進行調(diào)試、運行(以單步、設(shè)斷點、連續(xù)等方式運行程序);

5

能為目標機提供程序運行空間,并提供盡量多的子程序庫;

6

能對目標程序進行固化。第三頁,共十四頁,2022年,8月28日對單片機應(yīng)用系統(tǒng)硬、軟件設(shè)計的基本要求1、系統(tǒng)配置要留有一定的余地;

2、系統(tǒng)硬件應(yīng)盡量簡單;

3、盡量使用成熟的典型硬件電路;

4、

盡量用軟件完成/實現(xiàn)系統(tǒng)要求的功能;

5、

要注意系統(tǒng)的驅(qū)動能力;

6、

要留有必要的系統(tǒng)功能擴展空間,

7、盡量做到方便用戶使用,并應(yīng)考慮用戶的維護便利。

第四頁,共十四頁,2022年,8月28日軟件設(shè)計

1、編輯程序2、編譯

(檢查語法錯誤,如有錯誤返回第一步)3、

試驗運行

(檢查邏輯錯誤,如有錯誤返回第一步)

這是程序開發(fā)的主要工作,通常有以下幾種手段:

A、軟件仿真(僅適用于沒有對硬件操作的系統(tǒng))

B、仿真器(最方便,但成本貴)

C、下載線(低成本,僅有部分CPU有此功能)D、使用編程器直接將程序?qū)懙紺PU(每次要插拔

CPU,太麻煩)4、調(diào)試完畢,用編程器將程序固化在EPROM中(稱寫片)5、成品。第五頁,共十四頁,2022年,8月28日程序語言的選擇對于一個高級的單片機程序員,往往既要熟悉匯編,同時也要熟悉c語言,才能更好的去編寫程序。因為匯編和c都是工具,可能在某些地方用c無法實現(xiàn),但用匯編卻很容易.有些地方用匯編,很繁瑣,用c就很方便。在bbs上多次有人爭論匯編和c的問題。無法說c好,還是匯編好,有時要取決于你的項目。我們認為能夠最快的實現(xiàn)和完成你的設(shè)計的就是好的。多數(shù)情況下,是用c語言做設(shè)計比較快。特別是代碼比較多的設(shè)計,c的優(yōu)勢就更為明顯。如果用c也不好,用匯編也不好,那么就混合使用吧,keilc51是支持c和匯編混合編程的。

第六頁,共十四頁,2022年,8月28日編程器我們調(diào)試通過的匯編語言或C語言源程序,還必須經(jīng)過與該語言對應(yīng)的軟件將我們能看懂的匯編或C“翻譯”(編譯)成所用單片機可以識別的代碼。將單片機可以識別的代碼燒寫(編程)到單片機程序存儲器中。編譯出的代碼一般擴展名為*.hex或*.bin;這個代碼文件必須送到單片機中,單片機在電路中才能按程序的要求工作。將這個代碼文件送到單片機中的工具就是編程器,與電腦連接的編程器一般都通過并口或者串口與編程器的硬件連接,也有相應(yīng)的服務(wù)程序;在連接好電腦與編程后運行其服務(wù)程序,在服務(wù)程序中先選擇所要編程的單片機型號,再調(diào)入前面所得到的代碼文件,接下來就用編程器將這個代碼文件燒寫到單片機中。第七頁,共十四頁,2022年,8月28日寫片舉例

在源程序被編譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此文件調(diào)入即可寫片。在此,為使同學(xué)們對整個過程有個認識,舉一例說明:ORG0000HLJMPSTARTORG040HSTART:MOVSP,#5FH;設(shè)堆棧LOOP:NOPLJMPLOOP;循環(huán)END;結(jié)束表1:03000000020040BB:0700400075815F000200431F020040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75815F00020043表2表3表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉(zhuǎn)換成的目標文件,也就是最終寫入EPROM的文件,它由編程器轉(zhuǎn)換得到,也可以由HEXBIN一類的程序轉(zhuǎn)換得到。學(xué)過手工匯編者應(yīng)當不難找出表3與表1的一一對應(yīng)關(guān)系,值得注意的是從020040后開始的一長串‘FF’,直到7581,這是由于偽指令:ORG040H造成的結(jié)果。(出自平凡的單片機)第八頁,共十四頁,2022年,8月28日一、硬件準備隨著技術(shù)的發(fā)展,單片機開發(fā)手段也越來越先進,而價格卻不斷下降。當FLASH型單片機被廣泛應(yīng)用后,采用軟件模擬加寫片驗證成為一種經(jīng)濟實用的實驗方法。而近年來很多單片機都具有了ISP功能,只要一根下載線即可以編程,不再需要編程器。方案1:(1)計算機一臺;(2)具有仿真功能的實驗板一塊,(3)其它如電烙鐵、實驗電源等常規(guī)工具。方案2:(1)計算機一臺;(2)下載型實驗板一塊;(3)下載線一根;(4)其它如電烙鐵、實驗電源等常工具。方案1的特點是實驗板本身具有仿真能力,性價比高。方案2價格略低。第九頁,共十四頁,2022年,8月28日單片機的在線編程技術(shù)通常進行單片機的實驗或開發(fā)時,編程器是必不可少的。仿真、調(diào)試完的程序需要借助編程器燒到單片機內(nèi)部或外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于一般的單片機愛好者來說還是一筆不小的開支。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,也比較麻煩。隨著單片機技術(shù)的發(fā)展,出現(xiàn)了可以在線編程的單片機。這種在線編程目前有兩種實現(xiàn)方法:在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)。第十頁,共十四頁,2022年,8月28日ISPIn-SystemProgramming在系統(tǒng)可編程ISP一般是通過單片機專用的串行編程接口對單片機內(nèi)部的Flash存儲器進行編程,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉(zhuǎn)向另一個。ISP的實現(xiàn)一般需要很少的外部電路輔助實現(xiàn),而IAP的實現(xiàn)更加靈活,通??衫脝纹瑱C的串行口接到計算機的RS232口,通過專門設(shè)計的固件程序來編程內(nèi)部存儲器。例如:ATMEL公司的單片機AT89S8252就提供了一個SPI(serialperipheralinterface)串行外設(shè)接口對內(nèi)部程序存儲器編程(ISP),而SST公司的單片機SST89C54內(nèi)部包含兩塊獨立的存儲區(qū),通過預(yù)先編程在其中一塊存儲區(qū)中的程序就可以通過串行口與計算機相連,使用PC上專用的用戶界面程序直接下載程序代碼到單片機的另一塊存儲區(qū)中。(出自“中國電子技術(shù)信息網(wǎng)”)第十一頁,共十四頁,2022年,8月28日IAP:

in

application

programmingISP和IAP為單片機的實驗和開發(fā)帶來了很大的方便和靈活性,也為廣大單片機愛好者帶來了福音。利用ISP和IAP,不需要編程器就可以進行單片機的實驗和開發(fā),單片機芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,甚至可以遠程在線升級或改變單片機中的程序。電子工程師網(wǎng)站的單片機自學(xué)、開發(fā)套件就是采用具有IAP功能的SST公司的單片機SST89C54來進行開發(fā)的。(出自“中國電子技術(shù)信息網(wǎng)”)第十二頁,共十四頁,2022年,8月28日二、軟件準備單片機開發(fā)中除必要的硬件外,同樣離不開軟件,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。(出自平凡的單片機)第十三頁,共十四頁,2022年,8月28日仿真仿真的主要目的是進行軟件調(diào)試,當然借助仿真機,也能進行一些硬件排錯。一塊單片機應(yīng)用電路板包括單片機部份及為達到使用目的而設(shè)計的應(yīng)用電路,仿真就是利用仿真機來代替應(yīng)用電路板(稱目標機)的單片機部份,對應(yīng)用電路部份進行測試、調(diào)試。仿真有CPU仿真和ROM仿真兩種,所謂CPU仿真是指用仿真機代替目標機的CPU,由仿真機向目標機的應(yīng)用電路部份提供各種信號、數(shù)據(jù),進行調(diào)試的方法。這種仿真可以通過單步運行、連續(xù)運行等多種方法來運行程序,并能觀察到單片機內(nèi)部的變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論