項目11單片機嵌入式系統(tǒng)原理及應用(賈好來)單片機應用系統(tǒng)的開發(fā)過程_第1頁
項目11單片機嵌入式系統(tǒng)原理及應用(賈好來)單片機應用系統(tǒng)的開發(fā)過程_第2頁
項目11單片機嵌入式系統(tǒng)原理及應用(賈好來)單片機應用系統(tǒng)的開發(fā)過程_第3頁
項目11單片機嵌入式系統(tǒng)原理及應用(賈好來)單片機應用系統(tǒng)的開發(fā)過程_第4頁
項目11單片機嵌入式系統(tǒng)原理及應用(賈好來)單片機應用系統(tǒng)的開發(fā)過程_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第11章單片機應用系統(tǒng)開發(fā)及實例本章內(nèi)容11.1單片機應用系統(tǒng)的開發(fā)過程 11.2電噴汽車噴油嘴清洗機控制系統(tǒng) 11.3基于實時操作系統(tǒng)RTX51的萬年歷設計211.1 單片機應用系統(tǒng)的開發(fā)過程11.1.1 開發(fā)者必須具備的知識和能力1.必須具有一定的硬件基礎知識2.需要有一定的動手能力3.需要具備一定的軟件設計能力4.具有綜合運用新知識和新技術的能力5.搜集、檢索、提煉有用知識和資料的能力6.必須了解生產(chǎn)工藝或制造工藝311.1.2 單片機應用系統(tǒng)開發(fā)的步驟1.確定系統(tǒng)的目標任務開發(fā)設計一個單片機應用系統(tǒng)或者設計智能化的儀器,首先要明白做什么,然后才是怎么做。目標任務即系統(tǒng)要求實現(xiàn)的功能以

2、及技術指標。應用的場合不同,具體的要求會有區(qū)別。這些目標任務的提出一般由開發(fā)系統(tǒng)的投資方提出,開發(fā)設計人員認可。目標任務要盡可能清晰、完善,完整的目標任務為后續(xù)系統(tǒng)的設計和開發(fā)奠定堅實的基礎。有些目標任務在開始設計時并不是非常清楚、完善,隨著系統(tǒng)的研制開發(fā)、現(xiàn)場的應用以及市場的變化可能會有不斷的更新和變化,設計方案要盡可能適應這些變化。4 2.系統(tǒng)的總體設計系統(tǒng)的總體設計包括單片機的選擇、重要環(huán)節(jié)關鍵器件的選型、技術指標的實現(xiàn)、硬件軟件功能的劃分等。單片機以及關鍵器件的選擇一定要考慮技術是否成熟,是否滿足系統(tǒng)的精度、速度和可靠性要求,貨源是否充足等,如出現(xiàn)問題是否有可以替代的器件等。技術指標與

3、整個系統(tǒng)的硬件與軟件都有關系,所以要綜合考慮,硬件選擇滿足精度要求的產(chǎn)品,軟件采用合適的數(shù)學模型和算法。5硬件、軟件功能在一定程度上具有互換性,即有些硬件電路的功能可用軟件實現(xiàn),反之亦然。具體采用什么方法,要根據(jù)具體要求及整個系統(tǒng)的性能價格比,加以綜合平衡后確定。一般而言,使用硬件完成速度較快,可節(jié)省CPU的時間,但價格相對昂貴,而且系統(tǒng)比較復雜,勢必增加硬件設計和調(diào)試的工作量和難度。用軟件實現(xiàn)則相對經(jīng)濟,但占用CPU較多的時間。所以一般的原則是:在CPU時間允許的情況下,盡量采用軟件。所以總體設計時,必須權衡利弊,仔細劃分硬件和軟件的功能。63.系統(tǒng)的結構框圖系統(tǒng)的總體結構設計完成后,將整個

4、系統(tǒng)劃分成若干模塊,利用框圖表示出各模塊之間的關系、數(shù)據(jù)流向、控制流向,說明各模塊的工作原理、采用的核心技術以及實現(xiàn)的功能。結構框圖將整個系統(tǒng)的結構圖形化、清晰化、簡單化,有助于對系統(tǒng)的進一步理解和掌握,并為硬件和軟件設計的模塊化打下基礎。74.系統(tǒng)的硬件設計系統(tǒng)的硬件設計是根據(jù)總體設計方案以及結構框圖,在所選擇的單片機以及關鍵元器件的基礎上,再進一步確定系統(tǒng)中所要使用的元器件,分模塊繪制系統(tǒng)的電路原理圖,最后將各模塊的電路圖綜合起來,得到系統(tǒng)的總體電路圖,并依據(jù)電路圖設計、制作印刷電路板以及組裝樣機等。設計時要綜合考慮各元件的驅(qū)動和帶負載能力,要根據(jù)情況進行擴展,必要時做一些部件環(huán)節(jié)實驗以驗

5、證電路的正確性。電路板設計時要綜合考慮模擬電路、數(shù)字電路;高頻電路、低頻電路;高壓電路、低壓電路的布線規(guī)則,地線的布線方法和原則,以及印刷電路板導線寬度與所能承受的電壓、電流關系等,并要綜合考慮抗干擾設計。85.系統(tǒng)的軟件設計根據(jù)系統(tǒng)總體設計方案中軟件實現(xiàn)的功能,明確數(shù)學模型和算法,遵循自頂向一下、模塊化設計的原則,綜合順序程序設計、分支程序設計、子程序設計、中斷服務程序設計的各種方法,繪制程序流程圖,并編寫相應的程序。96.系統(tǒng)的Proteus仿真應用傳統(tǒng)方法開發(fā)單片機應用系統(tǒng)開發(fā)時,只有當硬件制作完成后才能執(zhí)行檢驗軟件設計的正確性,這無疑延長了開發(fā)時間。Proteus提供了軟件和硬件同時開

6、發(fā)的可能性,開發(fā)者應盡可能使用Proteus仿真系統(tǒng)功能,確認在硬件制作前,系統(tǒng)設計滿足要求,以減少聯(lián)機調(diào)試困難。10 7.系統(tǒng)的聯(lián)機調(diào)試、運行和維護分模塊調(diào)試,且大的模塊又可以分成小的模塊。硬件是軟件的工作平臺,軟件只有工作在正確無誤的硬件平臺上才能驗證其正確性,所以一般的調(diào)試過程是硬件調(diào)試成功后再調(diào)試軟件。軟件利用開發(fā)系統(tǒng)先進行模擬仿真后,再進行在線仿真調(diào)試。整個系統(tǒng)聯(lián)機調(diào)試成功后,需要先在實驗環(huán)境運行,認真仔細地記錄其運行狀態(tài)、故障狀態(tài)、連續(xù)運行時間等,最后寫出書面報告,根據(jù)運行報告再進行相應的硬件或軟件改動。11實驗環(huán)境運行滿足要求后,還要在現(xiàn)場環(huán)境運行,現(xiàn)場環(huán)境相對實驗環(huán)境要復雜得多

7、,一定要認真觀察運行情況,分析出現(xiàn)的各種故障及原因,此時出現(xiàn)故障時,盡量采用軟件的方法修正。系統(tǒng)在實際工作過程中,可能會受到來自系統(tǒng)內(nèi)部和外部的各種各樣的干擾,使系統(tǒng)發(fā)生異常狀態(tài)。通常把瞬時的不加修理也能恢復正常的異常狀態(tài)稱為錯誤;而必須通過修理才能恢復正常的異常狀態(tài)稱為故障。128.可靠性設計單片機應用系統(tǒng)的可靠性指在規(guī)定的條件下和規(guī)定的時間內(nèi),完成規(guī)定功能的能力。規(guī)定的條件包括環(huán)境條件(如溫度、濕度、振動、電磁干擾等)、使用條件、維修條件、操作水平等。常用的描述可靠性的定量指標有可靠度、失效率、平均無故障時間??煽慷戎府a(chǎn)品或系統(tǒng)在規(guī)定條件下和規(guī)定的時間內(nèi)完成規(guī)定功能的概率。失效率又稱故障率

8、,指工作到某一時刻尚未失效的產(chǎn)品在該時刻后單位時間內(nèi)發(fā)生失效的概率。平均壽命又稱平均無故障工作時間,指產(chǎn)品壽命的平均值。13為了減少系統(tǒng)的錯誤和故障,系統(tǒng)設計時常從以下幾個方面提高系統(tǒng)可靠性:冗余設計,電磁兼容設計,信息冗余技術,時間冗余技術,故障自動檢測與診斷技術,軟件可靠性技術,失效保險技術等。對于一個實際應用系統(tǒng)首先要保證可靠,其次是實時,然后是靈活和通用。1411.2電噴汽車噴油嘴清洗機控制系統(tǒng)11.2.1系統(tǒng)功能描述及工作原理系統(tǒng)功能描述噴油嘴是電噴發(fā)動機關鍵部件之一,它的工作狀況好壞直接影響發(fā)動機的性能。然而不少車主根本不重視發(fā)動機噴油嘴的清洗,或者認為發(fā)動機噴油嘴要隔很長時間才需

9、進行清洗,殊不知噴油嘴阻塞會嚴重影響汽車性能。一般來說,在行駛20000km30000km左右進行清洗,清除噴油嘴上的積炭和污物,使發(fā)動機恢復其動力特性。15過去這類保養(yǎng)通常要交汽修廠進行,費用昂貴。現(xiàn)在市場上出現(xiàn)的一種電噴汽車噴油嘴清洗機,結合專用的燃油系統(tǒng)清洗劑,不需拆裝發(fā)動機,只需用接頭與發(fā)動機供油管及回油管連接,在發(fā)動機正常運轉(zhuǎn)狀況下, 讓清洗混合液進入燃油供給系統(tǒng),在 30min 內(nèi)即可溶解發(fā)動機供油管、噴油嘴針閥和燃燒室各組件的積炭、油泥、膠質(zhì)及漆類污染物,經(jīng)由循環(huán)燃燒分解過程,從汽車排放系統(tǒng)排出,恢復該車的性能,使其啟動順暢,怠速平穩(wěn),加油輕快,增加動力,達到省油及降低空氣污染的

10、效果。下面就對電噴汽車噴油嘴清洗機的原理與設計作一介紹。162電噴汽車噴油嘴清洗機的工作原理把汽油和清洗劑混合,通過高壓汽油泵為發(fā)動機提供燃料。由于清洗劑對噴油嘴上的污染物有清洗作用,使噴油嘴清除堵塞。電噴汽車噴油嘴清洗機的工作過程及技術要求如下所述:(1)按啟動停止鍵,數(shù)碼管顯示器顯示“00”。(2)按時間+、-鍵選擇工作時間,每次累加(減)1 min,時間的選擇范圍為0060min。(3)選好時間,延時5s繼電器吸合工作,汽油泵運行在額定電壓12V狀態(tài),數(shù)碼管同時顯示剩余的工作時間。汽油泵的額定功率為70W,額定電壓為12V。17(4)按壓力+、-鍵通過改變直流電機上的電壓(即改變汽油泵轉(zhuǎn)

11、速)調(diào)整清洗壓力,電壓調(diào)整范圍為7V12V。(5)當剩余工作時間小于4min時,蜂鳴器開始鳴叫,直到定時結束,繼電器釋放,汽油泵停止工作,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。(6)5min內(nèi)無任何操作則自動斷電,數(shù)碼管無顯示。18(7)保護措施油面過低保護。為防止無油損壞汽油泵,油面過低時,傳感器開關閉合,汽油泵自動斷電,數(shù)碼管g段顯示“”,但不閃爍;油溫過高保護。為防止油溫過高起火,溫度過高時,溫度繼電器開關閉合,汽油泵自動斷電,數(shù)碼管g段顯示“”,閃爍。1911.2.2系統(tǒng)方案及電路設計1. 系統(tǒng)方案20圖11-1 電噴汽車噴油嘴清洗機系統(tǒng)組成方框圖21AT89S51單片機是整個系統(tǒng)的核心

12、,負責控制檢測輸入/輸出顯示和電機調(diào)速等。按鍵輸入電路負責對整個清洗過程一系列工作參數(shù)進行設定輸入。數(shù)碼管顯示器在工作過程中顯示剩余工作時間。電機調(diào)速利用了單片機內(nèi)部的定時器,配合軟件產(chǎn)生脈寬調(diào)制波(PWM),再通過功率場效應管去驅(qū)動低壓直流電機,具有效率高、能耗低、轉(zhuǎn)速連續(xù)可調(diào)等特點。輸出控制電路在油溫過高或油面過低的情況下,切斷高壓汽油泵電機的供電,防止發(fā)生事故。電噴汽車噴油嘴清洗機的工作電源取自汽車上的12V蓄電池,經(jīng)降壓穩(wěn)壓后得到5V的穩(wěn)定工作電壓。 2.電路設計電噴汽油嘴清洗機電路共有6個模塊,如圖11-2(a)(f)。22(a)單片機及其接口電路(b) 電機驅(qū)動電路23 (c)油位

13、過低傳感器輸入電路和油溫過高傳感器輸入電路24 (d)顯示器電路25 (e)報警電路26(f) 電機供電控制電路圖11-2 電噴汽油嘴清洗機電路原理圖27圖11-3 主程序流程圖狀態(tài)282變量定義及初始化模塊程序設計時需設立一系列的變量和標志,具體如下。uint deta; /*1 ms計時單元*/uchar sec; /*計時秒*/char set_min; /*設定分*/uchar min_5m; /*5min計數(shù)器*/uchar val; /*中間變量*/uchar pwm_val; /*調(diào)寬脈沖變量值*/char push_val; /*壓力變化值*/sfr WDT=0 xa6; /*

14、定義看門狗定時器*/sbit pushdec_key=P14; /*壓力鍵*/sbit pushinc_key=P13;/*壓力鍵*/29sbit timedec_key=P12; /*時間鍵*/sbit timeinc_key=Pl1; /*時間鍵*/sbit buzz=P35; /*驅(qū)動蜂鳴器端*/sbit out=P36; /*調(diào)寬脈沖輸出端*/sbit relay=P37; /*驅(qū)動繼電器端*/uchar dis_sel; /*顯示內(nèi)容散轉(zhuǎn)標志*/bit over_5m; /*5 min溢出標志*/bit flag_5m; /*5min標志*/bit flag_5s; /*5s標志*/

15、bit start; /*啟動標志 */bit dis_flag; /*顯示標志*/bit key_flag; /*按下鍵標志*/bit buzz_sound; /*蜂鳴器聲響標志*/30bit y; /*中間變量*/bit out_flag; /*PWM輸出標志*/*初始化*/void init( ) IT0=1; IE=0 x8b; reset( ) ;31/*定時器T0初始化*/void init_timer0( ) TMOD=0 x11; TH0=-(1150/256) ; /*1ms初值 */ TL0=-(1150%256) ; TR0=0; ET0=1; EA=1;32/*定時器T

16、1初始化*/void init_timerl( ) TH1=-(5000/256) ; /*5ms初值 */ TL1=-(5000%256) ; TR1=1; ET1=1; EA= 1;333. 調(diào)寬脈沖輸出子程序模塊AT89S51內(nèi)部沒有集成PWM部件,這里利用了內(nèi)部定時 器,與軟件配合產(chǎn)生出調(diào)寬脈沖波。34 if(pwm_val=50) pwm_val=0; else out=OFF;void pwm_out(void) if(out_flag) if(pwm_val2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。S

17、CLK為時鐘輸入端。 43DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘有關,數(shù)據(jù)格式為BCD,其日歷、時間寄存器及其控制字如表11-1所示。DS1302 與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位Write Protect(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。4445讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81h

18、80hCH10秒秒00-5983h82h010分分00-5985h84h010時時1-120-23AM/PM87h86h0010日日1-3189h88h00010月月1-128Bh8Ah00000 周日1-78Dh8Ch 10年年00-998Fh8EhWP0000000 -表11-1 DS1302的日期和時間寄存器765432101RAMA4A3A2A1A0RDCKWR46表11-2 控制字(即地址與命令字節(jié))DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個字節(jié)。單片機控制DS1302的程序主要包括對寄存器的地址定義

溫馨提示

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

評論

0/150

提交評論