CH10單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課件_第1頁
CH10單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課件_第2頁
CH10單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課件_第3頁
CH10單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課件_第4頁
CH10單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)主講:聶雄第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)主講:聶雄第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程模塊化軟件設(shè)計(jì)單片機(jī)開發(fā)系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則10.1單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則1.可靠性高2.性能價(jià)格比高3.操作簡便4.設(shè)計(jì)周期短10.1單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則1.可靠性高10.2單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程確定任務(wù)、總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)件、在線仿真調(diào)試、程序固化等階段。

10.2單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程10.2.1確定任務(wù)在設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)前必須明確應(yīng)用系統(tǒng)的功能和技術(shù)指標(biāo)。首先要對應(yīng)用對象的工作過程進(jìn)行深入調(diào)查分析和細(xì)致研究,明確單片機(jī)系統(tǒng)所要完成的任務(wù)、控制對象的狀況及所要達(dá)到的技術(shù)指標(biāo).10.2.1確定任務(wù)在設(shè)計(jì)單片機(jī)應(yīng)用10.2.2總體設(shè)計(jì)

總體設(shè)計(jì)包括:系統(tǒng)構(gòu)成,單片機(jī)選型,外圍器器的選擇,軟件、硬件功能劃分等1.系統(tǒng)構(gòu)成確定整個單片機(jī)系統(tǒng)的組成部分,例如顯示、鍵盤、輸入通道、輸出通道、打印、通信等。

2.單片機(jī)機(jī)型的選擇首先,應(yīng)根據(jù)任務(wù)的繁雜程度和技術(shù)指標(biāo)要求選擇機(jī)型。機(jī)型選擇的出發(fā)點(diǎn)及依據(jù),可根據(jù)市場情況,挑選成熟、穩(wěn)定、貨源充足的機(jī)型產(chǎn)品。另一方面為提高效率,縮短研制周期,最好選用最熟悉的機(jī)種和器件。采用性能優(yōu)良的單片機(jī)開發(fā)工具也能加快系統(tǒng)的研制過程。10.2.2總體設(shè)計(jì)總體設(shè)計(jì)包括:系10.2.2總體設(shè)計(jì)

3.外圍器件選擇應(yīng)用系統(tǒng)除單片機(jī)以外,系統(tǒng)通常還有執(zhí)行器件、傳感器、模擬電路、輸入輸出接口電路、存儲器等器件和設(shè)備。

4.軟硬件功能劃分原則上,能夠由軟件來完成的任務(wù)就盡可能用軟件來實(shí)現(xiàn),以降低硬件成本,簡化硬件結(jié)構(gòu),提高可靠性,但是它可能會降低系統(tǒng)的工作速度。10.2.2總體設(shè)計(jì)3.外圍器件選擇10.2.3硬件設(shè)計(jì)

主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,以及在所選機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲器、I/O電路、A/D、D/A轉(zhuǎn)換電路以及有關(guān)外圍電路等,然后設(shè)計(jì)出系統(tǒng)的電路原理圖。1.程序存儲器的設(shè)計(jì)通常盡可能選擇滿足系統(tǒng)程序容量要求的機(jī)型,而不再進(jìn)行程序存儲器的擴(kuò)展。2.數(shù)據(jù)存儲器和輸入/輸出接口的設(shè)計(jì)在選擇I/O接口電路時(shí)應(yīng)從體積、價(jià)格、功能、負(fù)載等幾個方面來考慮。對于A/D、D/A電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對它的速度、精度和價(jià)格要求而確定。10.2.3硬件設(shè)計(jì)主要任務(wù)是根據(jù)10.2.3硬件設(shè)計(jì)3.地址譯碼電路的設(shè)計(jì)地址譯碼電路的設(shè)計(jì),應(yīng)考慮充分利用存儲空間和簡化硬件邏輯等方面的問題,通常采用全地址譯碼法和線選法相結(jié)合的辦法。4.總線驅(qū)動器的設(shè)計(jì)

5l系列單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線負(fù)載能力有限。若所擴(kuò)展的電路負(fù)載超過總線負(fù)載能力時(shí),系統(tǒng)便不能可靠地工作。此情況下必須在總線上加驅(qū)動器。10.2.3硬件設(shè)計(jì)3.地址譯碼電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)包括:模擬量輸入系統(tǒng)和輸出系統(tǒng)設(shè)計(jì)(1)模擬量輸入系統(tǒng)設(shè)計(jì)模擬輸入系統(tǒng)一般由電壓形成,模擬濾波(ALF)、采樣保持(S/H)電路、模擬多路轉(zhuǎn)換開關(guān)以及A/D轉(zhuǎn)換器等組成。檢測信號通常采用電流傳輸方式。電壓形成回路負(fù)責(zé)將檢測信號變換為A/D轉(zhuǎn)換器所需的標(biāo)準(zhǔn)電壓信號。通常采用I/V電阻變換器。若檢測信號微弱還需要加接放大電路。在A/D轉(zhuǎn)換之前往往還需要加接采樣保持(S/H)電路。在單片機(jī)測控應(yīng)用系統(tǒng)中,經(jīng)常需要多路或多參數(shù)采集。

10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)(1)模擬量輸入系統(tǒng)設(shè)計(jì)(2)模擬量輸出系統(tǒng)設(shè)計(jì)模擬量輸出通道負(fù)責(zé)把單片機(jī)系統(tǒng)處理后的信號轉(zhuǎn)換為模擬信號作為最后的輸出以驅(qū)動控制對象,實(shí)現(xiàn)自動控制,D/A芯片是其重要組成部分。D/A轉(zhuǎn)換器對輸入數(shù)字量是否具有鎖存功能將直接影響與CPU的接口設(shè)計(jì)。

6.系統(tǒng)速度匹配

51系列單片機(jī)時(shí)鐘頻率可在2~12MHz之間任選。在不影響系統(tǒng)技術(shù)性能的前提下,可選擇低時(shí)鐘頻率,以降低系統(tǒng)功耗。10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)

7.抗干擾措施根據(jù)干擾源引入的途徑,抗干擾措施可以從電源供電系統(tǒng)和硬件電路兩個方面考慮。首先,對電源供電系統(tǒng)采取抗干擾措施。其次,為了進(jìn)一步提高系統(tǒng)的可靠性,在硬件電路設(shè)計(jì)時(shí),應(yīng)采取一系列防干擾措施:

(1)大規(guī)模IC芯片電源供電端VCC都應(yīng)加高頻濾波電容,根據(jù)負(fù)載電流的情況,在各級供電節(jié)點(diǎn)還應(yīng)加足夠容量的退耦電容;

(2)輸入輸出通道抗干擾措施。可采用光電隔離電路、雙絞線等提高抗干擾能力。特別是與繼電器、可控硅等連接的通道,一定要采用隔離措施;10.2.3硬件設(shè)計(jì)7.抗干擾措施10.2.3硬件設(shè)計(jì)

7.抗干擾措施

(3)可采用CMOS器件提高工作電壓(+15V),這樣干擾門限也相應(yīng)提高;

(4)傳感器后級的變送器盡量采用電流型傳輸方式,因電流型比電壓型抗干擾能力強(qiáng);

(5)電路應(yīng)有合理的布線及接地方式;

(6)與環(huán)境干擾的隔離可采用屏蔽措施。10.2.3硬件設(shè)計(jì)7.抗干擾措施10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義軟件結(jié)構(gòu)設(shè)計(jì)控制算法的確定10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義系統(tǒng)定義是指在軟件設(shè)計(jì)前,首先要進(jìn)一步明確軟件所要完成的任務(wù),然后結(jié)合硬件結(jié)構(gòu),確定軟件承擔(dān)的任務(wù)細(xì)節(jié)。10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義10.2.4軟件設(shè)計(jì)軟件定義的內(nèi)容如下:

(1)定義各輸入/輸出的功能、信號的類別、電平范圍、與系統(tǒng)接口方式、占用的口地址、數(shù)據(jù)讀取和輸出的方式等。(2)定義分配存儲器空間,包括系統(tǒng)主程序、常數(shù)表格、功能子程序塊的劃分、入口地址表等。(3)若有斷電保護(hù)措施,應(yīng)定義數(shù)據(jù)暫存區(qū)標(biāo)志單元等(4)面板開關(guān)、按鍵等控制輸入量的定義與軟件編制密切有關(guān),系統(tǒng)運(yùn)行過程的顯示、運(yùn)算結(jié)果的顯示、正常運(yùn)行和出錯顯示等也是由軟件完成的,所以事先要給予以定義。10.2.4軟件設(shè)計(jì)軟件定義的內(nèi)容如下: 10.2.4軟件設(shè)計(jì)2.軟件結(jié)構(gòu)設(shè)計(jì)對于簡單的單片機(jī)應(yīng)用系統(tǒng),可采用順序結(jié)構(gòu)設(shè)計(jì)方法,其系統(tǒng)軟件由主程序和若干個中斷服務(wù)程序構(gòu)成。明確主程序和中斷服務(wù)程序完成的操作及指定各中斷的優(yōu)先級。對于復(fù)雜的實(shí)時(shí)控制系統(tǒng),可采用實(shí)時(shí)多任務(wù)操作系統(tǒng)。此操作系統(tǒng)應(yīng)具備任務(wù)調(diào)度、實(shí)時(shí)控制、實(shí)時(shí)時(shí)鐘、輸入輸出和中斷控制、系統(tǒng)調(diào)用、多個任務(wù)并行運(yùn)行等功能。以提高系統(tǒng)的實(shí)時(shí)性和并行性。10.2.4軟件設(shè)計(jì)2.軟件結(jié)構(gòu)設(shè)計(jì)10.2.4軟件設(shè)計(jì)

3.控制算法的確定對被控對象的變化規(guī)律或控制過程客觀真實(shí)地描述建立被控對象的數(shù)學(xué)模型決定單片機(jī)系統(tǒng)需要檢測哪些變量,采用怎樣的控制算法可能還要考慮軟件算法的精度等等10.2.4軟件設(shè)計(jì)3.控制算法的確定10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試應(yīng)用系統(tǒng)的調(diào)試分硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故障,包括設(shè)計(jì)性錯誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,除發(fā)現(xiàn)和解決程序錯誤外,也可以發(fā)現(xiàn)硬件故障。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試應(yīng)用系統(tǒng)的調(diào)試分硬件調(diào)試和10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試1.常見的硬件故障邏輯錯誤:由設(shè)計(jì)錯誤或加工過程中的工藝性錯誤所造成的。元器件失效:一是元器件本身已損壞或性能不符合要求,二是由于組裝錯誤造成元器件失效。可靠性差:金屬孔、接插件接觸不良等,內(nèi)部和外部的干擾、電源的紋波系數(shù)較大、器件負(fù)荷過重等會造成邏輯電平不穩(wěn)定;走線和布局不合理等也會引起系統(tǒng)可靠性差。電源故障:包括電壓值不符合設(shè)計(jì)要求,電源引線和插座不對、電源功率不足、負(fù)載能力差等。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試1.常見的硬件故障10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試2.硬件調(diào)試方法脫機(jī)調(diào)試:脫機(jī)調(diào)試亦稱靜態(tài)調(diào)試。

對于樣機(jī)所用的電源事先必須單獨(dú)調(diào)試。聯(lián)機(jī)調(diào)試:聯(lián)機(jī)調(diào)試亦稱動態(tài)調(diào)試。

聯(lián)機(jī)前先斷電,將單片機(jī)開發(fā)系統(tǒng)的仿真頭插到樣機(jī)的單片機(jī)插座上,檢查一下開發(fā)機(jī)與樣機(jī)之間的電源、接地是否良好。如一切正常,即可打開電源。

通電后執(zhí)行開發(fā)機(jī)的讀寫指令,對用戶樣機(jī)的存儲器、I/O端口進(jìn)行讀寫操作、邏輯檢查。主機(jī)部分調(diào)試好后,再調(diào)試外部設(shè)備10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試2.硬件調(diào)試方法10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試3.軟件調(diào)試方法軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊程序設(shè)計(jì)技術(shù),則逐個模塊分別調(diào)試,一個子程序一個子程序地調(diào)試,最后聯(lián)起來統(tǒng)調(diào)。各模塊通過以后,可以把有關(guān)的功能塊聯(lián)合起來一起進(jìn)行綜合調(diào)試。單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試。采用實(shí)時(shí)多任務(wù)操作系統(tǒng)時(shí),逐個任務(wù)進(jìn)行調(diào)試。程序聯(lián)調(diào)運(yùn)行正常后,還需在模擬的各種現(xiàn)場條件和惡劣環(huán)境下調(diào)試、運(yùn)行,以檢查系統(tǒng)是否滿足原設(shè)計(jì)要求。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試3.軟件調(diào)試方法10.2.6程序固化軟件和硬件聯(lián)機(jī)調(diào)試反復(fù)運(yùn)行正常后,則可將用戶系統(tǒng)程序固化到程序存儲器,程序固化需要借助開發(fā)系統(tǒng)的編程器來完成。再將已固化的程序存儲器芯片插入用戶樣機(jī),用戶系統(tǒng)即可脫離開發(fā)系統(tǒng)獨(dú)立工作。(Flash型單片機(jī)已經(jīng)不需要這一步步驟了)應(yīng)用系統(tǒng)還要到生產(chǎn)現(xiàn)場投入實(shí)際工作,檢驗(yàn)其可靠性和抗干擾能力,直到完全滿足要求,至此,系統(tǒng)才算研制成功。10.2.6程序固化軟件和硬件聯(lián)機(jī)調(diào)試反復(fù)運(yùn)行正常后,則可將10.3模塊化軟件設(shè)計(jì)模塊化結(jié)構(gòu)的基本組成各模塊數(shù)據(jù)緩沖區(qū)的建立模塊化程序設(shè)計(jì)方法系統(tǒng)監(jiān)控程序設(shè)計(jì)10.3模塊化軟件設(shè)計(jì)模塊化結(jié)構(gòu)的基本組成10.3.1模塊化結(jié)構(gòu)的基本組成各功能模塊以子程序的形式出現(xiàn)。模塊結(jié)構(gòu)一般分三層。最低一層最低一層是一個通用子程序庫,這個子程序庫包括三個方面的功能子程序:一般性子程序。過程控制通用子程序。打印機(jī)及顯示器的驅(qū)動子程序、數(shù)據(jù)傳送和變換子程序執(zhí)行功能模塊層它能完成各種實(shí)質(zhì)性的功能。即在以上通用子程序庫的基礎(chǔ)上,根據(jù)對過程控制系統(tǒng)結(jié)構(gòu)的歸納、分類和規(guī)范化,組成各執(zhí)行功能模塊。系統(tǒng)監(jiān)控與管理模塊層協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度的角色。監(jiān)控軟件和各執(zhí)行模塊的安排整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。10.3.1模塊化結(jié)構(gòu)的基本組成各功能模塊以子程序的10.3.2各模塊數(shù)據(jù)緩沖區(qū)的建立模塊之間的聯(lián)系是通過數(shù)據(jù)緩沖區(qū)以及控制字進(jìn)行聯(lián)系的1.數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃將每一個執(zhí)行模塊要用到的參數(shù)和要輸出的結(jié)果一并列出來。規(guī)劃數(shù)據(jù)類型。從數(shù)據(jù)類型上來分類,數(shù)據(jù)可分為邏輯型與數(shù)值型。2.各模塊數(shù)據(jù)緩沖區(qū)的確定資源分配的主要工作是RAM資源的分配。常用的方法如下:片內(nèi)RAM指00H~7FH單元。片內(nèi)RAM常用于作為棧區(qū)、位尋址區(qū)和公共子程序的工作緩沖區(qū),如存放參數(shù)、指針、中間結(jié)果等片外RAM的容量比片內(nèi)RAM大,通常用來存放批量大的數(shù)據(jù),可作為執(zhí)行模塊運(yùn)算存儲器用于存放需要保留時(shí)間較長的數(shù)據(jù)10.3.2各模塊數(shù)據(jù)緩沖區(qū)的建立模塊之間的聯(lián)系是通過10.3.3模塊化程序設(shè)計(jì)方法模塊化程序編程有2種方法:一種是自上而下,逐步細(xì)化;一種是自下而上,先設(shè)計(jì)出具體模塊(子程序),然后再慢慢擴(kuò)大,象搭積木一樣,最后形成系統(tǒng)(主程序)。兩種方法各有優(yōu)缺點(diǎn)。自上而下方法在前期看不到什么具體效果,對于初學(xué)者來說,心中不塌實(shí);而自下而上的方法一開始就有效果,每設(shè)計(jì)一個模塊,即可進(jìn)行調(diào)試,就能看到一個實(shí)際效果,給人一種一步一個足印的感覺,對于初學(xué)者比較有利,能樹立信心。10.3.3模塊化程序設(shè)計(jì)方法模塊化程序編程有2種方法:10.3.4系統(tǒng)監(jiān)控程序設(shè)計(jì)1.監(jiān)控程序的任務(wù)系統(tǒng)監(jiān)控程序是控制單片機(jī)系統(tǒng)按預(yù)定操作方式運(yùn)轉(zhuǎn)的程序。它完成人機(jī)會話和遠(yuǎn)程控制等功能,使系統(tǒng)按操作者的意圖或遙控命令來完成指定的作業(yè)。它是單片機(jī)系統(tǒng)程序的框架。2.監(jiān)控程序的結(jié)構(gòu)作業(yè)順序調(diào)度型鍵碼分析作業(yè)調(diào)度型

10.3.4系統(tǒng)監(jiān)控程序設(shè)計(jì)1.監(jiān)控程序的任務(wù)10.4單片機(jī)開發(fā)系統(tǒng)單片機(jī)的開發(fā)系統(tǒng)由仿真器(或編程下載器)

、微型計(jì)算機(jī)和配套軟件構(gòu)成。10.4單片機(jī)開發(fā)系統(tǒng)單片機(jī)的開發(fā)系統(tǒng)由仿真器(或編程下載10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)單片機(jī)應(yīng)用系統(tǒng)下載器計(jì)算機(jī)10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)單片機(jī)應(yīng)用系統(tǒng)下載10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)10.4單片機(jī)開發(fā)系統(tǒng)(Keil軟件)10.4單片機(jī)開發(fā)系統(tǒng)(Keil軟件)10.4單片機(jī)開發(fā)系統(tǒng)(IAR軟件)10.4單片機(jī)開發(fā)系統(tǒng)(IAR軟件)10.5單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例在實(shí)際的單片機(jī)工程開發(fā)中,我們需要進(jìn)行下面的工作:分析工程需求,確定單片機(jī)需要哪些外圍器件。外圍器件要盡量選擇通用器件。根據(jù)工程要求,設(shè)計(jì)控制方案。根據(jù)單最小系統(tǒng)以及外圍器件的要求設(shè)計(jì)電路板,將元器件焊接到電路板上。逐個調(diào)試外圍元器件程序,并將其編輯成函數(shù)形式,如液晶顯示函數(shù)、按鍵讀取函數(shù)、溫度讀取函數(shù)、電機(jī)旋轉(zhuǎn)控制函數(shù)。編輯主函數(shù)、中斷函數(shù)。按照控制的要求,主函數(shù)、中斷函數(shù)調(diào)用其他函數(shù)操作外圍器件,這就是工程的核心所在,也是困惑初學(xué)者的難點(diǎn)之一。10.5單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例在實(shí)際的單片機(jī)工程開發(fā)中,我10.5.1單片機(jī)系統(tǒng)與傳感器傳感器信號的輸出方式:模擬信號和數(shù)字信號傳感器功能生產(chǎn)公司總線接口DS18B20溫度傳感器美國DALLAS1-WireMAX6626溫度傳感器美國MAXIMI2CLM74溫度傳感器美國國家半導(dǎo)體SPIMAX6691配熱電偶的四通道智能溫度傳感器美國MAXIM單線PWM輸出MAX6674有冷端溫度補(bǔ)償?shù)腒型熱電偶轉(zhuǎn)換器美國MAXIMSPISHT11單片智能化濕度/溫度傳感器瑞士Sensirion2線數(shù)字MAX1458數(shù)字式壓力信號調(diào)理器美國MAXIMSPISB5227超聲波測距重慶中易電測技術(shù)研究所RS-485FCD4B14單片指紋傳感器美國ATMELEPP、USB、數(shù)字MC1446B離子型煙霧檢測MOTOROLA數(shù)字表10-1常見的傳感器舉例10.5.1單片機(jī)系統(tǒng)與傳感器傳感器信號的輸出方式:模擬信10.5.2光電隔離技術(shù)在驅(qū)動大電流電器或有較強(qiáng)干擾的設(shè)備時(shí),常使用光電隔離技術(shù),以切斷單片機(jī)與受控對象之間的電氣聯(lián)系。光電耦合器有晶體管輸出型和晶閘管輸出型。晶體管輸出型光電耦合器10.5.2光電隔離技術(shù)在驅(qū)動大電流電器或有較強(qiáng)干擾的設(shè)備10.5.2光電隔離技術(shù)晶閘管輸出型光電耦合器10.5.2光電隔離技術(shù)晶閘管輸出型光電耦合器10.5.3單片機(jī)驅(qū)動低壓電器固態(tài)繼電器SSR(solidstatereleys)固態(tài)繼電器是一種無觸點(diǎn)通斷電子開關(guān)10.5.3單片機(jī)驅(qū)動低壓電器固態(tài)繼電器SSR(solid固態(tài)繼電器的應(yīng)用使用單片機(jī)和固態(tài)繼電器驅(qū)動交流220V電器的電路固態(tài)繼電器的應(yīng)用使用單片機(jī)和固態(tài)繼電器驅(qū)動交流220V電器的10.5.3單片機(jī)驅(qū)動低壓電器交流接觸器10.5.3單片機(jī)驅(qū)動低壓電器交流接觸器交流接觸器應(yīng)用電路使用單片機(jī)和交流接觸器驅(qū)動3相電機(jī)的電路KM是交流接觸器的電磁線圈(以交流380V線圈為例),單片機(jī)控制固態(tài)繼電器的通斷狀態(tài),進(jìn)而控制接觸器的電磁線圈是否吸和。固態(tài)繼電器有光電隔離功能,所以380V的交流電對單片機(jī)的控制不會有干擾。交流接觸器應(yīng)用電路使用單片機(jī)和交流接觸器驅(qū)動3相電機(jī)的電路10.5.4單片機(jī)的看門狗電路看門狗的作用就是防止程序發(fā)生死循環(huán)或防止單片機(jī)死機(jī)由于單片機(jī)的工作常常會受到來自外界電磁場的干擾,程序有時(shí)會陷入死循環(huán),并造成整個系統(tǒng)的陷入停滯狀態(tài)。出于對單片機(jī)安全運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)測的考慮,便產(chǎn)生了一種專門用于監(jiān)測單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱“看門狗”(WDT)。單片機(jī)的WDT其實(shí)是一個定時(shí)器看門狗工作時(shí)啟動了看門狗的定時(shí)器,看門狗就開始自動計(jì)數(shù)。在單片機(jī)正常工作的時(shí)候,需要每隔一端時(shí)間給定時(shí)器清零(即喂狗信號)。如果超過了定時(shí)器規(guī)定的時(shí)間還沒有輸入喂狗信號,看門狗的定時(shí)器會溢出,就會輸出一個復(fù)位信號到單片機(jī),并使單片機(jī)復(fù)位。10.5.4單片機(jī)的看門狗電路看門狗的作用就是防止程序發(fā)生2.AT89S51單片機(jī)的內(nèi)置看門狗功能AT89S51單片機(jī)內(nèi)部集成了看門狗功能。看門狗的計(jì)數(shù)器叫WDTRST寄存器,是14位長度,最大計(jì)數(shù)值是16383,即3FFFH。WDTRS寄存器在內(nèi)部數(shù)據(jù)RAM的地址是0A6H??撮T狗的使用:激活A(yù)T89S51看門狗的方法是先向該地址寫01EH,然后寫0E1H即可。喂狗指令也是先向該地址寫01EH,然后寫0E1H2.AT89S51單片機(jī)的內(nèi)置看門狗功能AT89S51單片機(jī)3.AT89S51單片機(jī)看門狗的編程

#include<reg51.h>

...

sfrWDTRST=0xA6;//定義看門狗寄存器

...

voidmain()

{

WDTRST=0x1E;;//初始化看門狗

WDTRST=0xE1;//初始化看門狗

while(1)

{

WDTRST=0x1E;;//喂狗指令

WDTRST=0xE1;//喂狗指令

……//其他操作

}

}3.AT89S51單片機(jī)看門狗的編程#include<10.5.5單片機(jī)的低功耗工作方式單片機(jī)有兩種低功耗方式,即待機(jī)(或稱空閑)方式和掉電(或稱停機(jī))保護(hù)方式。在低功耗方式,備用電源由Vcc或RST端輸入。待機(jī)方式可使功耗減小,電流一般為1.7~5mA;掉電方式可使功耗減到最小,電流一般為5~50μA。待機(jī)方式和掉電保護(hù)方式所涉及的硬件如圖10-11所示。10.5.5單片機(jī)的低功耗工作方式單片機(jī)有兩種低功耗方式,10.5.6單片機(jī)控制系統(tǒng)設(shè)計(jì)實(shí)例1.功能要求根據(jù)沖洗相片底片的要求,系統(tǒng)需要實(shí)現(xiàn)如下功能:

①需要對沖洗液的溫度進(jìn)行控制。。

②需要不斷地?cái)嚢铔_洗液。2.方案論證根據(jù)控制要求,系統(tǒng)框圖如圖10-12所示10.5.6單片機(jī)控制系統(tǒng)設(shè)計(jì)實(shí)例1.功能要求3.硬件電路設(shè)計(jì)3.硬件電路設(shè)計(jì)表10-1器件的選型及其功能器件功能使用控制引腳AT89S51控制核心芯片

DS18B20溫度傳感器P3.73個按鍵設(shè)定溫度、啟停P3.4、P3.5、P3.6液晶顯示設(shè)定溫度和當(dāng)前溫度P1口、P3.0、P3.1、P3.2固態(tài)繼電器控制220V加熱絲通斷P2.0固態(tài)繼電器控制220V冷水電機(jī)運(yùn)轉(zhuǎn)P2.1LG9012驅(qū)動12V攪拌電機(jī)運(yùn)轉(zhuǎn)P2.2、P2.3表10-1器件的選型及其功能器件功能使用控制引腳AT89各模塊硬件電路功能(1)溫度采集單元溫度采集電路使用溫度傳感器DS18B20。(2)按鍵單元系統(tǒng)使用3個按鍵。P3.4使設(shè)定溫度加0.1度,P3.5使設(shè)定溫度減0.1度,P3.6控制系統(tǒng)啟停。(3)顯示電路因?yàn)樗鄣臏囟仍?00℃以下,選擇1602LCD液晶,第一行顯示設(shè)定的溫度,第二行顯示當(dāng)前的溫度。(4)攪拌電路使用12V的小型直流電機(jī)對液體進(jìn)行攪拌。(5)加熱電路使用打壓為220V,功率為300W的加熱棒實(shí)現(xiàn)。使用單片機(jī)驅(qū)動固態(tài)繼電器,進(jìn)而控制加熱棒。(6)制冷電路使用微型冰箱實(shí)現(xiàn)。冰箱啟動后制冷,冷水儲存在冷膽中。單片機(jī)驅(qū)動220V的小電機(jī),可以將冷膽中的冷水置換到?jīng)_洗箱中。各模塊硬件電路功能(1)溫度采集單元4.程序設(shè)計(jì)程序包括兩部分組成,定時(shí)器中斷程序和主程序。使用定時(shí)器T0中斷產(chǎn)生20ms的時(shí)間,對該20ms計(jì)數(shù)可以產(chǎn)生1秒、2秒、8秒等時(shí)間,而實(shí)現(xiàn)溫度檢測、控制攪拌、加熱等。4.程序設(shè)計(jì)程序包括兩部分組成,定時(shí)器中斷程序和主程序。10.6單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù)10.6.1干擾及其危害干擾的來源有外部干擾和內(nèi)部干擾。外部干擾包括自然干擾和人為干擾(1)接口電路的干擾在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)據(jù)傳輸需要接口電路和一定距離的導(dǎo)線,這會使信號產(chǎn)生延時(shí)、畸變、衰減,造成干擾,特別是輸出通道中存在大的負(fù)載時(shí),更會造成嚴(yán)重干擾。(2)電路板的干擾印制電路板是電子元器件安裝、連接的載體,電路板的地線、電源線、信號線、元器件的布局不合理,包括焊接的質(zhì)量都是各種干擾的因素。

(3)元器件造成的干擾在電路中,使用了大量的電阻、電容和集成電路,這些元器件質(zhì)量的好壞,都會直接影響到系統(tǒng)的可靠性。

(4)供電系統(tǒng)的干擾電壓的欠壓、過壓、尖峰電壓、浪涌射頻等干擾,這些干擾源都會造成對單片機(jī)供電的不穩(wěn)定,影響系統(tǒng)的正常工作。10.6單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù)10.6.1干擾及其危害第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)主講:聶雄第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)主講:聶雄第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程模塊化軟件設(shè)計(jì)單片機(jī)開發(fā)系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例第10章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則10.1單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則1.可靠性高2.性能價(jià)格比高3.操作簡便4.設(shè)計(jì)周期短10.1單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則1.可靠性高10.2單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程確定任務(wù)、總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)件、在線仿真調(diào)試、程序固化等階段。

10.2單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般過程10.2.1確定任務(wù)在設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)前必須明確應(yīng)用系統(tǒng)的功能和技術(shù)指標(biāo)。首先要對應(yīng)用對象的工作過程進(jìn)行深入調(diào)查分析和細(xì)致研究,明確單片機(jī)系統(tǒng)所要完成的任務(wù)、控制對象的狀況及所要達(dá)到的技術(shù)指標(biāo).10.2.1確定任務(wù)在設(shè)計(jì)單片機(jī)應(yīng)用10.2.2總體設(shè)計(jì)

總體設(shè)計(jì)包括:系統(tǒng)構(gòu)成,單片機(jī)選型,外圍器器的選擇,軟件、硬件功能劃分等1.系統(tǒng)構(gòu)成確定整個單片機(jī)系統(tǒng)的組成部分,例如顯示、鍵盤、輸入通道、輸出通道、打印、通信等。

2.單片機(jī)機(jī)型的選擇首先,應(yīng)根據(jù)任務(wù)的繁雜程度和技術(shù)指標(biāo)要求選擇機(jī)型。機(jī)型選擇的出發(fā)點(diǎn)及依據(jù),可根據(jù)市場情況,挑選成熟、穩(wěn)定、貨源充足的機(jī)型產(chǎn)品。另一方面為提高效率,縮短研制周期,最好選用最熟悉的機(jī)種和器件。采用性能優(yōu)良的單片機(jī)開發(fā)工具也能加快系統(tǒng)的研制過程。10.2.2總體設(shè)計(jì)總體設(shè)計(jì)包括:系10.2.2總體設(shè)計(jì)

3.外圍器件選擇應(yīng)用系統(tǒng)除單片機(jī)以外,系統(tǒng)通常還有執(zhí)行器件、傳感器、模擬電路、輸入輸出接口電路、存儲器等器件和設(shè)備。

4.軟硬件功能劃分原則上,能夠由軟件來完成的任務(wù)就盡可能用軟件來實(shí)現(xiàn),以降低硬件成本,簡化硬件結(jié)構(gòu),提高可靠性,但是它可能會降低系統(tǒng)的工作速度。10.2.2總體設(shè)計(jì)3.外圍器件選擇10.2.3硬件設(shè)計(jì)

主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,以及在所選機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲器、I/O電路、A/D、D/A轉(zhuǎn)換電路以及有關(guān)外圍電路等,然后設(shè)計(jì)出系統(tǒng)的電路原理圖。1.程序存儲器的設(shè)計(jì)通常盡可能選擇滿足系統(tǒng)程序容量要求的機(jī)型,而不再進(jìn)行程序存儲器的擴(kuò)展。2.數(shù)據(jù)存儲器和輸入/輸出接口的設(shè)計(jì)在選擇I/O接口電路時(shí)應(yīng)從體積、價(jià)格、功能、負(fù)載等幾個方面來考慮。對于A/D、D/A電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對它的速度、精度和價(jià)格要求而確定。10.2.3硬件設(shè)計(jì)主要任務(wù)是根據(jù)10.2.3硬件設(shè)計(jì)3.地址譯碼電路的設(shè)計(jì)地址譯碼電路的設(shè)計(jì),應(yīng)考慮充分利用存儲空間和簡化硬件邏輯等方面的問題,通常采用全地址譯碼法和線選法相結(jié)合的辦法。4.總線驅(qū)動器的設(shè)計(jì)

5l系列單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線負(fù)載能力有限。若所擴(kuò)展的電路負(fù)載超過總線負(fù)載能力時(shí),系統(tǒng)便不能可靠地工作。此情況下必須在總線上加驅(qū)動器。10.2.3硬件設(shè)計(jì)3.地址譯碼電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)包括:模擬量輸入系統(tǒng)和輸出系統(tǒng)設(shè)計(jì)(1)模擬量輸入系統(tǒng)設(shè)計(jì)模擬輸入系統(tǒng)一般由電壓形成,模擬濾波(ALF)、采樣保持(S/H)電路、模擬多路轉(zhuǎn)換開關(guān)以及A/D轉(zhuǎn)換器等組成。檢測信號通常采用電流傳輸方式。電壓形成回路負(fù)責(zé)將檢測信號變換為A/D轉(zhuǎn)換器所需的標(biāo)準(zhǔn)電壓信號。通常采用I/V電阻變換器。若檢測信號微弱還需要加接放大電路。在A/D轉(zhuǎn)換之前往往還需要加接采樣保持(S/H)電路。在單片機(jī)測控應(yīng)用系統(tǒng)中,經(jīng)常需要多路或多參數(shù)采集。

10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)(1)模擬量輸入系統(tǒng)設(shè)計(jì)(2)模擬量輸出系統(tǒng)設(shè)計(jì)模擬量輸出通道負(fù)責(zé)把單片機(jī)系統(tǒng)處理后的信號轉(zhuǎn)換為模擬信號作為最后的輸出以驅(qū)動控制對象,實(shí)現(xiàn)自動控制,D/A芯片是其重要組成部分。D/A轉(zhuǎn)換器對輸入數(shù)字量是否具有鎖存功能將直接影響與CPU的接口設(shè)計(jì)。

6.系統(tǒng)速度匹配

51系列單片機(jī)時(shí)鐘頻率可在2~12MHz之間任選。在不影響系統(tǒng)技術(shù)性能的前提下,可選擇低時(shí)鐘頻率,以降低系統(tǒng)功耗。10.2.3硬件設(shè)計(jì)5.模擬量輸入和模擬量輸出電路的設(shè)計(jì)10.2.3硬件設(shè)計(jì)

7.抗干擾措施根據(jù)干擾源引入的途徑,抗干擾措施可以從電源供電系統(tǒng)和硬件電路兩個方面考慮。首先,對電源供電系統(tǒng)采取抗干擾措施。其次,為了進(jìn)一步提高系統(tǒng)的可靠性,在硬件電路設(shè)計(jì)時(shí),應(yīng)采取一系列防干擾措施:

(1)大規(guī)模IC芯片電源供電端VCC都應(yīng)加高頻濾波電容,根據(jù)負(fù)載電流的情況,在各級供電節(jié)點(diǎn)還應(yīng)加足夠容量的退耦電容;

(2)輸入輸出通道抗干擾措施??刹捎霉怆姼綦x電路、雙絞線等提高抗干擾能力。特別是與繼電器、可控硅等連接的通道,一定要采用隔離措施;10.2.3硬件設(shè)計(jì)7.抗干擾措施10.2.3硬件設(shè)計(jì)

7.抗干擾措施

(3)可采用CMOS器件提高工作電壓(+15V),這樣干擾門限也相應(yīng)提高;

(4)傳感器后級的變送器盡量采用電流型傳輸方式,因電流型比電壓型抗干擾能力強(qiáng);

(5)電路應(yīng)有合理的布線及接地方式;

(6)與環(huán)境干擾的隔離可采用屏蔽措施。10.2.3硬件設(shè)計(jì)7.抗干擾措施10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義軟件結(jié)構(gòu)設(shè)計(jì)控制算法的確定10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義系統(tǒng)定義是指在軟件設(shè)計(jì)前,首先要進(jìn)一步明確軟件所要完成的任務(wù),然后結(jié)合硬件結(jié)構(gòu),確定軟件承擔(dān)的任務(wù)細(xì)節(jié)。10.2.4軟件設(shè)計(jì)軟件系統(tǒng)定義10.2.4軟件設(shè)計(jì)軟件定義的內(nèi)容如下:

(1)定義各輸入/輸出的功能、信號的類別、電平范圍、與系統(tǒng)接口方式、占用的口地址、數(shù)據(jù)讀取和輸出的方式等。(2)定義分配存儲器空間,包括系統(tǒng)主程序、常數(shù)表格、功能子程序塊的劃分、入口地址表等。(3)若有斷電保護(hù)措施,應(yīng)定義數(shù)據(jù)暫存區(qū)標(biāo)志單元等(4)面板開關(guān)、按鍵等控制輸入量的定義與軟件編制密切有關(guān),系統(tǒng)運(yùn)行過程的顯示、運(yùn)算結(jié)果的顯示、正常運(yùn)行和出錯顯示等也是由軟件完成的,所以事先要給予以定義。10.2.4軟件設(shè)計(jì)軟件定義的內(nèi)容如下: 10.2.4軟件設(shè)計(jì)2.軟件結(jié)構(gòu)設(shè)計(jì)對于簡單的單片機(jī)應(yīng)用系統(tǒng),可采用順序結(jié)構(gòu)設(shè)計(jì)方法,其系統(tǒng)軟件由主程序和若干個中斷服務(wù)程序構(gòu)成。明確主程序和中斷服務(wù)程序完成的操作及指定各中斷的優(yōu)先級。對于復(fù)雜的實(shí)時(shí)控制系統(tǒng),可采用實(shí)時(shí)多任務(wù)操作系統(tǒng)。此操作系統(tǒng)應(yīng)具備任務(wù)調(diào)度、實(shí)時(shí)控制、實(shí)時(shí)時(shí)鐘、輸入輸出和中斷控制、系統(tǒng)調(diào)用、多個任務(wù)并行運(yùn)行等功能。以提高系統(tǒng)的實(shí)時(shí)性和并行性。10.2.4軟件設(shè)計(jì)2.軟件結(jié)構(gòu)設(shè)計(jì)10.2.4軟件設(shè)計(jì)

3.控制算法的確定對被控對象的變化規(guī)律或控制過程客觀真實(shí)地描述建立被控對象的數(shù)學(xué)模型決定單片機(jī)系統(tǒng)需要檢測哪些變量,采用怎樣的控制算法可能還要考慮軟件算法的精度等等10.2.4軟件設(shè)計(jì)3.控制算法的確定10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試應(yīng)用系統(tǒng)的調(diào)試分硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故障,包括設(shè)計(jì)性錯誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,除發(fā)現(xiàn)和解決程序錯誤外,也可以發(fā)現(xiàn)硬件故障。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試應(yīng)用系統(tǒng)的調(diào)試分硬件調(diào)試和10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試1.常見的硬件故障邏輯錯誤:由設(shè)計(jì)錯誤或加工過程中的工藝性錯誤所造成的。元器件失效:一是元器件本身已損壞或性能不符合要求,二是由于組裝錯誤造成元器件失效。可靠性差:金屬孔、接插件接觸不良等,內(nèi)部和外部的干擾、電源的紋波系數(shù)較大、器件負(fù)荷過重等會造成邏輯電平不穩(wěn)定;走線和布局不合理等也會引起系統(tǒng)可靠性差。電源故障:包括電壓值不符合設(shè)計(jì)要求,電源引線和插座不對、電源功率不足、負(fù)載能力差等。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試1.常見的硬件故障10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試2.硬件調(diào)試方法脫機(jī)調(diào)試:脫機(jī)調(diào)試亦稱靜態(tài)調(diào)試。

對于樣機(jī)所用的電源事先必須單獨(dú)調(diào)試。聯(lián)機(jī)調(diào)試:聯(lián)機(jī)調(diào)試亦稱動態(tài)調(diào)試。

聯(lián)機(jī)前先斷電,將單片機(jī)開發(fā)系統(tǒng)的仿真頭插到樣機(jī)的單片機(jī)插座上,檢查一下開發(fā)機(jī)與樣機(jī)之間的電源、接地是否良好。如一切正常,即可打開電源。

通電后執(zhí)行開發(fā)機(jī)的讀寫指令,對用戶樣機(jī)的存儲器、I/O端口進(jìn)行讀寫操作、邏輯檢查。主機(jī)部分調(diào)試好后,再調(diào)試外部設(shè)備10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試2.硬件調(diào)試方法10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試3.軟件調(diào)試方法軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊程序設(shè)計(jì)技術(shù),則逐個模塊分別調(diào)試,一個子程序一個子程序地調(diào)試,最后聯(lián)起來統(tǒng)調(diào)。各模塊通過以后,可以把有關(guān)的功能塊聯(lián)合起來一起進(jìn)行綜合調(diào)試。單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試。采用實(shí)時(shí)多任務(wù)操作系統(tǒng)時(shí),逐個任務(wù)進(jìn)行調(diào)試。程序聯(lián)調(diào)運(yùn)行正常后,還需在模擬的各種現(xiàn)場條件和惡劣環(huán)境下調(diào)試、運(yùn)行,以檢查系統(tǒng)是否滿足原設(shè)計(jì)要求。10.2.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試3.軟件調(diào)試方法10.2.6程序固化軟件和硬件聯(lián)機(jī)調(diào)試反復(fù)運(yùn)行正常后,則可將用戶系統(tǒng)程序固化到程序存儲器,程序固化需要借助開發(fā)系統(tǒng)的編程器來完成。再將已固化的程序存儲器芯片插入用戶樣機(jī),用戶系統(tǒng)即可脫離開發(fā)系統(tǒng)獨(dú)立工作。(Flash型單片機(jī)已經(jīng)不需要這一步步驟了)應(yīng)用系統(tǒng)還要到生產(chǎn)現(xiàn)場投入實(shí)際工作,檢驗(yàn)其可靠性和抗干擾能力,直到完全滿足要求,至此,系統(tǒng)才算研制成功。10.2.6程序固化軟件和硬件聯(lián)機(jī)調(diào)試反復(fù)運(yùn)行正常后,則可將10.3模塊化軟件設(shè)計(jì)模塊化結(jié)構(gòu)的基本組成各模塊數(shù)據(jù)緩沖區(qū)的建立模塊化程序設(shè)計(jì)方法系統(tǒng)監(jiān)控程序設(shè)計(jì)10.3模塊化軟件設(shè)計(jì)模塊化結(jié)構(gòu)的基本組成10.3.1模塊化結(jié)構(gòu)的基本組成各功能模塊以子程序的形式出現(xiàn)。模塊結(jié)構(gòu)一般分三層。最低一層最低一層是一個通用子程序庫,這個子程序庫包括三個方面的功能子程序:一般性子程序。過程控制通用子程序。打印機(jī)及顯示器的驅(qū)動子程序、數(shù)據(jù)傳送和變換子程序執(zhí)行功能模塊層它能完成各種實(shí)質(zhì)性的功能。即在以上通用子程序庫的基礎(chǔ)上,根據(jù)對過程控制系統(tǒng)結(jié)構(gòu)的歸納、分類和規(guī)范化,組成各執(zhí)行功能模塊。系統(tǒng)監(jiān)控與管理模塊層協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度的角色。監(jiān)控軟件和各執(zhí)行模塊的安排整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。10.3.1模塊化結(jié)構(gòu)的基本組成各功能模塊以子程序的10.3.2各模塊數(shù)據(jù)緩沖區(qū)的建立模塊之間的聯(lián)系是通過數(shù)據(jù)緩沖區(qū)以及控制字進(jìn)行聯(lián)系的1.數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃將每一個執(zhí)行模塊要用到的參數(shù)和要輸出的結(jié)果一并列出來。規(guī)劃數(shù)據(jù)類型。從數(shù)據(jù)類型上來分類,數(shù)據(jù)可分為邏輯型與數(shù)值型。2.各模塊數(shù)據(jù)緩沖區(qū)的確定資源分配的主要工作是RAM資源的分配。常用的方法如下:片內(nèi)RAM指00H~7FH單元。片內(nèi)RAM常用于作為棧區(qū)、位尋址區(qū)和公共子程序的工作緩沖區(qū),如存放參數(shù)、指針、中間結(jié)果等片外RAM的容量比片內(nèi)RAM大,通常用來存放批量大的數(shù)據(jù),可作為執(zhí)行模塊運(yùn)算存儲器用于存放需要保留時(shí)間較長的數(shù)據(jù)10.3.2各模塊數(shù)據(jù)緩沖區(qū)的建立模塊之間的聯(lián)系是通過10.3.3模塊化程序設(shè)計(jì)方法模塊化程序編程有2種方法:一種是自上而下,逐步細(xì)化;一種是自下而上,先設(shè)計(jì)出具體模塊(子程序),然后再慢慢擴(kuò)大,象搭積木一樣,最后形成系統(tǒng)(主程序)。兩種方法各有優(yōu)缺點(diǎn)。自上而下方法在前期看不到什么具體效果,對于初學(xué)者來說,心中不塌實(shí);而自下而上的方法一開始就有效果,每設(shè)計(jì)一個模塊,即可進(jìn)行調(diào)試,就能看到一個實(shí)際效果,給人一種一步一個足印的感覺,對于初學(xué)者比較有利,能樹立信心。10.3.3模塊化程序設(shè)計(jì)方法模塊化程序編程有2種方法:10.3.4系統(tǒng)監(jiān)控程序設(shè)計(jì)1.監(jiān)控程序的任務(wù)系統(tǒng)監(jiān)控程序是控制單片機(jī)系統(tǒng)按預(yù)定操作方式運(yùn)轉(zhuǎn)的程序。它完成人機(jī)會話和遠(yuǎn)程控制等功能,使系統(tǒng)按操作者的意圖或遙控命令來完成指定的作業(yè)。它是單片機(jī)系統(tǒng)程序的框架。2.監(jiān)控程序的結(jié)構(gòu)作業(yè)順序調(diào)度型鍵碼分析作業(yè)調(diào)度型

10.3.4系統(tǒng)監(jiān)控程序設(shè)計(jì)1.監(jiān)控程序的任務(wù)10.4單片機(jī)開發(fā)系統(tǒng)單片機(jī)的開發(fā)系統(tǒng)由仿真器(或編程下載器)

、微型計(jì)算機(jī)和配套軟件構(gòu)成。10.4單片機(jī)開發(fā)系統(tǒng)單片機(jī)的開發(fā)系統(tǒng)由仿真器(或編程下載10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)單片機(jī)應(yīng)用系統(tǒng)下載器計(jì)算機(jī)10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)單片機(jī)應(yīng)用系統(tǒng)下載10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)10.4單片機(jī)開發(fā)系統(tǒng)簡易開發(fā)系統(tǒng)結(jié)構(gòu)10.4單片機(jī)開發(fā)系統(tǒng)(Keil軟件)10.4單片機(jī)開發(fā)系統(tǒng)(Keil軟件)10.4單片機(jī)開發(fā)系統(tǒng)(IAR軟件)10.4單片機(jī)開發(fā)系統(tǒng)(IAR軟件)10.5單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例在實(shí)際的單片機(jī)工程開發(fā)中,我們需要進(jìn)行下面的工作:分析工程需求,確定單片機(jī)需要哪些外圍器件。外圍器件要盡量選擇通用器件。根據(jù)工程要求,設(shè)計(jì)控制方案。根據(jù)單最小系統(tǒng)以及外圍器件的要求設(shè)計(jì)電路板,將元器件焊接到電路板上。逐個調(diào)試外圍元器件程序,并將其編輯成函數(shù)形式,如液晶顯示函數(shù)、按鍵讀取函數(shù)、溫度讀取函數(shù)、電機(jī)旋轉(zhuǎn)控制函數(shù)。編輯主函數(shù)、中斷函數(shù)。按照控制的要求,主函數(shù)、中斷函數(shù)調(diào)用其他函數(shù)操作外圍器件,這就是工程的核心所在,也是困惑初學(xué)者的難點(diǎn)之一。10.5單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例在實(shí)際的單片機(jī)工程開發(fā)中,我10.5.1單片機(jī)系統(tǒng)與傳感器傳感器信號的輸出方式:模擬信號和數(shù)字信號傳感器功能生產(chǎn)公司總線接口DS18B20溫度傳感器美國DALLAS1-WireMAX6626溫度傳感器美國MAXIMI2CLM74溫度傳感器美國國家半導(dǎo)體SPIMAX6691配熱電偶的四通道智能溫度傳感器美國MAXIM單線PWM輸出MAX6674有冷端溫度補(bǔ)償?shù)腒型熱電偶轉(zhuǎn)換器美國MAXIMSPISHT11單片智能化濕度/溫度傳感器瑞士Sensirion2線數(shù)字MAX1458數(shù)字式壓力信號調(diào)理器美國MAXIMSPISB5227超聲波測距重慶中易電測技術(shù)研究所RS-485FCD4B14單片指紋傳感器美國ATMELEPP、USB、數(shù)字MC1446B離子型煙霧檢測MOTOROLA數(shù)字表10-1常見的傳感器舉例10.5.1單片機(jī)系統(tǒng)與傳感器傳感器信號的輸出方式:模擬信10.5.2光電隔離技術(shù)在驅(qū)動大電流電器或有較強(qiáng)干擾的設(shè)備時(shí),常使用光電隔離技術(shù),以切斷單片機(jī)與受控對象之間的電氣聯(lián)系。光電耦合器有晶體管輸出型和晶閘管輸出型。晶體管輸出型光電耦合器10.5.2光電隔離技術(shù)在驅(qū)動大電流電器或有較強(qiáng)干擾的設(shè)備10.5.2光電隔離技術(shù)晶閘管輸出型光電耦合器10.5.2光電隔離技術(shù)晶閘管輸出型光電耦合器10.5.3單片機(jī)驅(qū)動低壓電器固態(tài)繼電器SSR(solidstatereleys)固態(tài)繼電器是一種無觸點(diǎn)通斷電子開關(guān)10.5.3單片機(jī)驅(qū)動低壓電器固態(tài)繼電器SSR(solid固態(tài)繼電器的應(yīng)用使用單片機(jī)和固態(tài)繼電器驅(qū)動交流220V電器的電路固態(tài)繼電器的應(yīng)用使用單片機(jī)和固態(tài)繼電器驅(qū)動交流220V電器的10.5.3單片機(jī)驅(qū)動低壓電器交流接觸器10.5.3單片機(jī)驅(qū)動低壓電器交流接觸器交流接觸器應(yīng)用電路使用單片機(jī)和交流接觸器驅(qū)動3相電機(jī)的電路KM是交流接觸器的電磁線圈(以交流380V線圈為例),單片機(jī)控制固態(tài)繼電器的通斷狀態(tài),進(jìn)而控制接觸器的電磁線圈是否吸和。固態(tài)繼電器有光電隔離功能,所以380V的交流電對單片機(jī)的控制不會有干擾。交流接觸器應(yīng)用電路使用單片機(jī)和交流接觸器驅(qū)動3相電機(jī)的電路10.5.4單片機(jī)的看門狗電路看門狗的作用就是防止程序發(fā)生死循環(huán)或防止單片機(jī)死機(jī)由于單片機(jī)的工作常常會受到來自外界電磁場的干擾,程序有時(shí)會陷入死循環(huán),并造成整個系統(tǒng)的陷入停滯狀態(tài)。出于對單片機(jī)安全運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)測的考慮,便產(chǎn)生了一種專門用于監(jiān)測單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱“看門狗”(WDT)。單片機(jī)的WDT其實(shí)是一個定時(shí)器看門狗工作時(shí)啟動了看門狗的定時(shí)器,看門狗就開始自動計(jì)數(shù)。在單片機(jī)正常工作的時(shí)候,需要每隔一端時(shí)間給定時(shí)器清零(即喂狗信號)。如果超過了定時(shí)器規(guī)定的時(shí)間還沒有輸入喂狗信號,看門狗的定時(shí)器會溢出,就會輸出一個復(fù)位信號到單片機(jī),并使單片機(jī)復(fù)位。10.5.4單片機(jī)的看門狗電路看門狗的作用就是防止程序發(fā)生2.AT89S51單片機(jī)的內(nèi)置看門狗功能AT89S51單片機(jī)內(nèi)部集成了看門狗功能??撮T狗的計(jì)數(shù)器叫WDTRST寄存器,是14位長度,最大計(jì)數(shù)值是16383,即3FFFH。WDTRS寄存器在內(nèi)部數(shù)據(jù)RAM的地址是0A6H??撮T狗的使用:激活A(yù)T89S51看門狗的方法是先向該地址寫01EH,然后寫

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論