MCS-51單片機原理及接口技術(shù)(第2版)汪德彪電子教案第9章_第1頁
MCS-51單片機原理及接口技術(shù)(第2版)汪德彪電子教案第9章_第2頁
MCS-51單片機原理及接口技術(shù)(第2版)汪德彪電子教案第9章_第3頁
MCS-51單片機原理及接口技術(shù)(第2版)汪德彪電子教案第9章_第4頁
MCS-51單片機原理及接口技術(shù)(第2版)汪德彪電子教案第9章_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章單片機應(yīng)用系統(tǒng)設(shè)計與開發(fā)9.1單片機應(yīng)用系統(tǒng)設(shè)計的一般步驟和方法9.2單片機應(yīng)用系統(tǒng)的抗干擾技術(shù)9.3簡易電腦時鐘設(shè)計9.4數(shù)字電壓表設(shè)計9.5電動小車動態(tài)平衡系統(tǒng)9.1單片機應(yīng)用系統(tǒng)設(shè)計的一般步驟和方法9.1.1對單片機應(yīng)用系統(tǒng)的性能要求單片機應(yīng)用系統(tǒng)大多數(shù)用于工業(yè)環(huán)境、嵌入到其他設(shè)備或作為部件組裝到某種產(chǎn)品中,其基本要求如下:(1)高可靠性。(2)較強的環(huán)境適應(yīng)能力。(3)較好的實時性。(4)易于操作和維護。(5)具有一定的可擴充性。(6)具有通信功能。9.1.2設(shè)計步驟不同的單片機應(yīng)用系統(tǒng),其性能指標(biāo)、要求、應(yīng)用場所、難易程度各不相同,因此在整個設(shè)計開發(fā)過程中,有著不同的步驟和方法,但也存在一些共性。一般來講可以分為需求分析,總體方案設(shè)計、硬件設(shè)計與調(diào)試、軟件設(shè)計與調(diào)試、系統(tǒng)功能調(diào)試與性能測試、產(chǎn)品驗收和維護、文件編制和技術(shù)歸檔等。單片機應(yīng)用系統(tǒng)的開發(fā)步驟如圖9.1所示。9.1.2設(shè)計步驟圖9.1單片機應(yīng)用系統(tǒng)開發(fā)步驟9.1.2設(shè)計步驟1.需求分析需求分析就是明確所設(shè)計的單片機應(yīng)用系統(tǒng)要“做什么”和“做的結(jié)果怎樣”。需求分析階段的結(jié)果是形成可操作的設(shè)計需求任務(wù)書。主要內(nèi)容如下:(1)輸入信號:系統(tǒng)所要檢測的信號類型、精度要求、信號的變換速率以及信號的量程大小等,以便在方案設(shè)計中確定檢測元件、檢測方法、輸入通道的結(jié)構(gòu)和技術(shù)等。(2)輸出信號:系統(tǒng)所要輸出的信號類型、精度要求、信號制式、功率大小等,以便在方案設(shè)計中確定模擬量、開關(guān)量輸出通道的結(jié)構(gòu)和輸出方式。(3)系統(tǒng)結(jié)構(gòu):確定是設(shè)計的標(biāo)準(zhǔn)產(chǎn)品還是非標(biāo)產(chǎn)品,是單CPU結(jié)構(gòu)還是多CPU結(jié)構(gòu),是否可以構(gòu)成通信網(wǎng)絡(luò),是否掛靠某種網(wǎng)絡(luò)標(biāo)準(zhǔn)或現(xiàn)場總線標(biāo)準(zhǔn)等。9.1.2設(shè)計步驟(4)實時控制及其精度要求:在工業(yè)控制領(lǐng)域應(yīng)用的單片機系統(tǒng)可以稱為單片機控制系統(tǒng),這類控制系統(tǒng)的設(shè)計必須考慮實時性需求、生產(chǎn)設(shè)備、生產(chǎn)工藝過程和配套電氣設(shè)備等因素。如果系統(tǒng)具有回路控制功能,應(yīng)明確系統(tǒng)的控制精度,以便于在方案設(shè)計確定所要采用的數(shù)字濾波算法、控制算法和各類校正算法等。(5)系統(tǒng)接口:選擇菜單接口還是圖形接口,按鍵輸入還是觸摸屏輸入,以便在方案設(shè)計中確定操作方式、參數(shù)設(shè)置和存儲方式、手/自動方式及其切換等。(6)擴充設(shè)計:確定系統(tǒng)是否需要擴充,擴充的形式等。9.1.2設(shè)計步驟(7)可靠性設(shè)計:確定系統(tǒng)達到何種可靠性指標(biāo),以便在方案設(shè)計時確定采取何種可靠性設(shè)計手段、抗干擾設(shè)計技術(shù)等。(8)成本預(yù)算:確定完成系統(tǒng)開發(fā)所需要的費用,包括硬件費用、軟件費用、勞務(wù)費、輔料費、稅收及其他費用等。(9)完成期限:如果是用戶委托開發(fā)或部委科研項目,應(yīng)確定整個系統(tǒng)的完成期限以及各階段任務(wù)的完成期限,應(yīng)有具體的時間進度安排。(10)測試條件和驗收標(biāo)準(zhǔn):應(yīng)明確系統(tǒng)功能和指標(biāo)所基于的測試條件,驗收系統(tǒng)的具體標(biāo)準(zhǔn)和驗收形式。9.1.2設(shè)計步驟2.總體設(shè)計系統(tǒng)總體設(shè)計解決的是系統(tǒng)采用何種方法,系統(tǒng)結(jié)構(gòu)組成,功能模塊具體劃分以及模塊之間的關(guān)系,指標(biāo)分解等問題。總體設(shè)計就是要從宏觀上解決“怎么做”。主要內(nèi)容如下:(1)確定技術(shù)途徑:單片機應(yīng)用系統(tǒng)也有大小之分,不同層次的應(yīng)用系統(tǒng)可以采用委托設(shè)計、自行設(shè)計或二者結(jié)合等設(shè)計途徑。尤其是面向行業(yè)領(lǐng)域的單片機應(yīng)用系統(tǒng),有必要采取合作開發(fā)或有償使用第三方現(xiàn)有技術(shù)的開發(fā)形式。(2)確定技術(shù)方法:技術(shù)方法是指為實現(xiàn)單片機系統(tǒng)功能目標(biāo)而準(zhǔn)備采用的可行的技術(shù)手段,包括高性能器件、合適的開發(fā)平臺、開發(fā)語言、軟件算法等。9.1.2設(shè)計步驟(3)劃分子系統(tǒng)和主要功能塊:確定了系統(tǒng)的技術(shù)途徑和主要技術(shù)方法后,就可針對系統(tǒng)的需求,逐步確立系統(tǒng)的體系結(jié)構(gòu),進行主要功能的劃分,確定完成各主要功能的系統(tǒng),確定各系統(tǒng)的相應(yīng)功能技術(shù)指標(biāo)和各子系統(tǒng)之間的接口關(guān)系。對于每個子系統(tǒng),又可以進一步劃分其硬件功能和軟件功能。(4)確定系統(tǒng)組成框圖:用結(jié)構(gòu)框圖表示系統(tǒng)(硬件、軟件)的體系結(jié)構(gòu),圖中要標(biāo)明系統(tǒng)各部分的組成結(jié)構(gòu)、各部分之間的接口方式、系統(tǒng)與外界的接口等。(5)系統(tǒng)的綜合與檢查:當(dāng)系統(tǒng)的指標(biāo)逐項得到分解、各子系統(tǒng)的功能指標(biāo)均已落實、系統(tǒng)體系已經(jīng)建立之后,設(shè)計者有必要從系統(tǒng)總體角度出發(fā),對各子系統(tǒng)進行綜合性分析,檢查各模塊的功能合成后能否達到系統(tǒng)的功能需求。9.1.2設(shè)計步驟3.硬件設(shè)計硬件設(shè)計的主要內(nèi)容是基于總體方案選擇和采購系統(tǒng)所需的各類元器件,設(shè)計系統(tǒng)的電子線路圖,選擇合適的外觀結(jié)構(gòu),設(shè)計和外協(xié)加工印制電路板,安裝元器件,調(diào)試硬件線路等。硬件設(shè)計應(yīng)確保功能設(shè)計和接口設(shè)計滿足系統(tǒng)的需求,并且充分考慮和軟件的協(xié)調(diào)工作關(guān)系,注重選用高集成度的器件,充分考慮硬件軟化、軟件硬化等設(shè)計技術(shù)。9.1.2設(shè)計步驟4.軟件設(shè)計軟件設(shè)計的主要任務(wù)是擬定軟件設(shè)計方案,確立數(shù)學(xué)模型或算法,劃分出主要的軟件模塊,根據(jù)需要繪制部分軟件模塊的流程圖,編制源程序,調(diào)試和測試目標(biāo)軟件的基本功能。9.1.2設(shè)計步驟5.單片機應(yīng)用系統(tǒng)的調(diào)試調(diào)試是基于系統(tǒng)的設(shè)計需求,進行系統(tǒng)功能調(diào)試和性能指標(biāo)的測試,形成測試報告,核對用戶需求或設(shè)計需求和系統(tǒng)現(xiàn)有功能、指標(biāo)的一致性程度。如果系統(tǒng)存在局部錯誤或不能滿足某些設(shè)計需求,則應(yīng)提出局部修改意見,并對硬件和軟件進行修改,直至滿足設(shè)計需求。若是方案性的錯誤或按既定的方案無法滿足設(shè)計需求,則應(yīng)考慮修改設(shè)計方案。9.1.2設(shè)計步驟6.產(chǎn)品驗收與維護單片機應(yīng)用系統(tǒng)設(shè)計或產(chǎn)品開發(fā)結(jié)束后,必須經(jīng)過現(xiàn)場投運、試用和用戶的驗收。屬于國家或部委的科研項目,還應(yīng)通過有關(guān)部門的鑒定。產(chǎn)品驗收或鑒定結(jié)束后,可以實施產(chǎn)品定型,形成生產(chǎn)工藝,進而形成規(guī)?;a(chǎn)。產(chǎn)品正是投放市場后,維護工作就開始了,這步工作一直要持續(xù)到該產(chǎn)品退出市場。9.1.2設(shè)計步驟7.文件編制與技術(shù)歸檔為了維護單片機系統(tǒng),或?qū)⒛壳暗脑O(shè)計成果作為資源用于后續(xù)設(shè)計,編制相應(yīng)的技術(shù)文檔是非常必要的。提供給用戶的安裝手冊、操作手冊和維護手冊等是技術(shù)文檔的重要組成部分之一。技術(shù)文檔必須按國家標(biāo)準(zhǔn)進行編制,經(jīng)相關(guān)人員審核后存入技術(shù)檔案室進行統(tǒng)一管理。9.2單片機應(yīng)用系統(tǒng)的抗干擾技術(shù)單片機系統(tǒng)都工作于一定的環(huán)境中,有時經(jīng)過千辛萬苦開發(fā)的單片機應(yīng)用系統(tǒng)卻不能在工業(yè)環(huán)境中正常工作,其根本原因在于它的工作環(huán)境存在干擾。干擾產(chǎn)生于干擾源。干擾可能來至系統(tǒng)內(nèi)部,也可能來至系統(tǒng)外部。干擾源要形成干擾,還必須有形成干擾的路徑或易受干擾的對象,這就是所謂干擾的三要素,即干擾源、干擾路徑和易受干擾的系統(tǒng)。單片機應(yīng)用系統(tǒng)的抗干擾措施也是針對這三要素進行的,消除干擾源也是最根本的,在這個前提下,下面從硬件和軟件兩個方面討論抗干擾問題。9.2.1硬件抗干擾技術(shù)1.抑制干擾源常用措施抑制干擾源首先就是盡量使單片機應(yīng)用系統(tǒng)遠離干擾源,其次是盡可能地減小干擾源的電壓變化率和電流變化率,這是抗干擾設(shè)計中最優(yōu)先考慮和最重要的原則。減小干擾源的電壓變化率主要是通過在干擾源兩端并聯(lián)電容來實現(xiàn)。減小干擾源的電流變化率則是在干擾源回路串聯(lián)電感或電阻以及增加續(xù)流二極管來實現(xiàn)。9.2.1硬件抗干擾技術(shù)(1)給繼電器線圈增加續(xù)流二極管,消除斷電時產(chǎn)生的反電動勢。(2)在繼電器接點兩端并接火花抑制電路(一般為RC串聯(lián)電路,電阻一般為幾~幾十k,電容為0.01F)以減小電火花影響。(3)給電機加濾波電路,注意電容、電感連線要盡量靠近電機。(4)電路板上每個IC要并接一個0.01~0.1F高頻電容,減小IC對電源的影響。注意高頻電容的布線應(yīng)靠近電源端,并盡量短,否則等于增大了電容的等效串聯(lián)電阻,會影響濾波效果。(5)避免90°折線,減小高頻噪聲發(fā)射。(6)在可控硅兩端并接RC抑制電路,減小可控硅噪聲(這個噪聲嚴重時可能會把可控硅擊穿的)。9.2.1硬件抗干擾技術(shù)2.切斷干擾傳播途徑措施(1)充分考慮電源對單片機的影響。許多單片機對電源噪聲很敏感,要給單片機電源加濾波電路或穩(wěn)壓器,以減小電源噪聲對單片機的干擾。(2)如果單片機的I/O口用來控制電機等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離,通常采用光電隔離技術(shù)。(3)注意晶振布線。晶振與單片機引腳盡量靠近,用地線把時鐘區(qū)隔離起來,晶振外殼接地并固定。此措施可解決許多疑難問題。(4)電路板合理分區(qū),如強、弱信號,數(shù)字、模擬信號應(yīng)分開,盡可能把干擾源(如電機,繼電器)與敏感元件(如單片機)遠離。9.2.1硬件抗干擾技術(shù)(5)用地線把數(shù)字區(qū)與模擬區(qū)隔離,數(shù)字地與模擬地要分離,最后在一點接于電源地。A/D、D/A芯片布線也以此為原則。(6)單片機和大功率器件的地線要單獨接地,以減小相互干擾,大功率器件盡可能放在電路板邊緣。(7)在單片機I/O口、電源線、電路板連接線等關(guān)鍵地方使用抗干擾元件,如磁珠、磁環(huán)、電源濾波器,屏蔽罩,可顯著提高電路的抗干擾性能。9.2.1硬件抗干擾技術(shù)3.提高敏感器件的抗干擾性能提高敏感器件的抗干擾性能是指從敏感器件考慮盡量減小對干擾噪聲的拾取,以及從不正常狀態(tài)盡快恢復(fù)的方法。常用措施有:(1)選擇抗干擾性能強的電子元件,對元件進行篩選和老化。(2)布線時盡量減小回路環(huán)的面積,以降低感應(yīng)噪聲。(3)布線時,電源線和地線要盡量粗。除減小壓降外,更重要的是降低耦合噪聲。(4)對于單片機閑置的I/O口,不要懸空,要接地或接電源。其他IC的閑置端在不改變系統(tǒng)邏輯的情況下接地或接電源。9.2.1硬件抗干擾技術(shù)(5)對單片機使用電源監(jiān)控及看門狗電路等,可大幅度提高整個電路的抗干擾性能。(6)在速度能滿足要求的前提下,盡量降低單片機的晶振和選用低速數(shù)字電路。(7)IC器件盡量直接焊在電路板上,少用IC座。(8)有條件采用四層以上印制板,中間兩層為電源和地。9.2.2軟件抗干擾技術(shù)軟件抗干擾技術(shù)是當(dāng)系統(tǒng)受干擾后,使系統(tǒng)恢復(fù)正常運行或輸入信號受干擾后去偽存真的一種輔助方法。此技術(shù)屬于一種被動抗干擾措施,但是由于軟件抗干擾設(shè)計靈活,節(jié)省硬件資源,操作起來方便易行,所以軟件抗干擾技術(shù)越來越受到人們的重視。9.2.2軟件抗干擾技術(shù)1.?dāng)?shù)字濾波技術(shù)一般在模擬量輸入信號中,均含有噪聲和干擾。為了進行準(zhǔn)確的測量和控制,必須消除或最大程度地降低噪聲和干擾的影響。常用的辦法有硬件濾波電路和軟件濾波程序。(1)數(shù)字濾波的優(yōu)點。數(shù)字濾波器實際上是一段程序,它的主要優(yōu)點在于:①數(shù)字濾波器是用程序?qū)崿F(xiàn)的,不需要增加硬設(shè)備,所以可靠性高,穩(wěn)定性好。②數(shù)字濾波器可以對頻率很低的信號實現(xiàn)濾波,克服了模擬濾波器的缺陷。③數(shù)字濾波器可以根據(jù)信號不同,采用不同的濾波方法或濾波參數(shù),具有靈活、方便、功能強的特點。9.2.2軟件抗干擾技術(shù)(2)常用的數(shù)字濾波方法。①算術(shù)平均值法。算術(shù)平均值法是求N個采樣數(shù)據(jù)的算術(shù)平均值,這樣得到的結(jié)果與采樣值的偏差的平方和最小。這種方法適合于一般的隨機干擾信號的濾波。N值的選擇應(yīng)根據(jù)具體的濾波對象而定,N值大,則平滑度高,但靈敏度低;N值小,則平滑度低,但靈敏度高。②中位值濾波法。中位值濾波法的原理是對被測信號連續(xù)采樣M次(M≥3)且是奇數(shù),并按大小順序排序,取其中間值作為本次的有效值。9.2.2軟件抗干擾技術(shù)③限幅濾波法。由于大的隨機干擾或采樣器不穩(wěn)定,使得采樣數(shù)據(jù)偏離實際值太遠,在這種情況下,當(dāng)信號大于某設(shè)定值時,就取設(shè)定值為采樣值;當(dāng)信號小于某設(shè)定值時,就取設(shè)定值為采樣值。有時根據(jù)信號變化率來決定是否采取限幅濾波。④慣性濾波法。慣性濾波法實際上與硬件的一階慣性濾波器(RC低通濾波器)的功能一樣,只是濾波系數(shù)可以隨意調(diào)整,使用靈活。9.2.2軟件抗干擾技術(shù)2.指令冗余技術(shù)當(dāng)CPU受到干擾后,往往將一些操作數(shù)當(dāng)作操作碼來執(zhí)行,引起程序混亂。這時,我們首先要盡快將程序納入正軌。MCS-51單片機指令系統(tǒng)中所有的指令都不超過3字節(jié),而且有很多單字節(jié)指令。當(dāng)程序彈飛到某一單字節(jié)指令上時,便自動納入正軌。當(dāng)彈飛到某一雙字節(jié)或三字節(jié)指令上時,有可能落在其操作數(shù)上,從而繼續(xù)出錯。因此,在程序當(dāng)中應(yīng)多用單字節(jié)指令,并在關(guān)鍵地方有意識地安排一些NOP指令,或?qū)⒂行巫止?jié)指令重復(fù)書寫,這就是指令冗余。指令冗余會降低系統(tǒng)的效率,但一般情況下CPU有足夠的時間來執(zhí)行這些冗余的指令。9.2.2軟件抗干擾技術(shù)3.軟件陷阱技術(shù)指令冗余使彈飛的程序安定下來是有條件的,首先彈飛的程序必須落在程序區(qū),其次必須執(zhí)行到冗余指令。當(dāng)彈飛的程序落到非程序區(qū)(如ROM空間未使用部分,數(shù)據(jù)表格區(qū))時,則第一個條件不滿足。當(dāng)彈飛的程序在沒有碰到冗余指令之前,已經(jīng)自動形成一個死循環(huán),這時第二個條件也不滿足。對于不滿足第一個條件可以采取軟件陷阱措施來解決,對于不滿足第二條件可以采取“看門狗”電路來解決。9.2.2軟件抗干擾技術(shù)4.輸入口信號重復(fù)檢測對于重要開關(guān)量輸入信號的檢測,實際應(yīng)用中一般采用3次或5次重復(fù)檢測的方法,即對接口中的輸人數(shù)據(jù)信息進行重復(fù)進行3次或5次檢測,若結(jié)果完全一致則認為是“真”的輸入信號,若多次測試結(jié)果不一致,既可以停止檢測顯示故障信息,又可以重復(fù)進行再檢測。對于軟件測量而言,輸入量干擾大多數(shù)是疊加到有效信號上的一系列作用時間短的尖脈沖,但是頻率不一致,因此應(yīng)在相鄰的檢測之間應(yīng)有一定的時間間隔。理論上可以是等時間段的,而在實際使用過程中,由于外部環(huán)境比較復(fù)雜,等時間段只能濾除某個頻段的干擾,為了濾除盡可能多的干擾,間隔時間應(yīng)為不等的時間段,但是對數(shù)據(jù)影響較大的尖峰,其作用的時間寬度在幾十到幾百s之間,所以把濾波時間限定在ms級上。需要注意的是,對于軟件時序要求比較嚴格場合,延時查詢時間不宜過長,查詢次數(shù)一般以3次為宜。9.2.2軟件抗干擾技術(shù)5.輸出端口數(shù)據(jù)刷新開關(guān)量輸出抗干擾技術(shù)主要采用的方法是重復(fù)輸出,即同一指令連續(xù)執(zhí)行多次,這是提高輸出信號穩(wěn)定性的有效措施之一。9.2.2軟件抗干擾技術(shù)6.程序自檢程序自檢是提高測控軟件可靠性的有效方法之一。自檢程序主要是對單片機系統(tǒng)的主要器件如單片機的I/O口、外部擴展的可編程I/O接口芯片、A/D器件、ROM器件等進行檢測,如出現(xiàn)故障能夠給出故障提示。因此自檢程序不但可以了解與測試相關(guān)外設(shè)的工作情況,而且可避免因外設(shè)原因而使測控系統(tǒng)不能正常工作的干擾。9.3簡易電腦時鐘設(shè)計9.3.1功能要求設(shè)計并實現(xiàn)簡易電腦時鐘系統(tǒng),要求用盡可能少的常用電子器件實現(xiàn)以下功能:(1)實時顯示當(dāng)前時間即北京時間(時、分)。(2)可修改北京時間(時、分)。(3)具有鬧鐘功能,鬧鐘時的音樂為“兩只老虎”。(4)可設(shè)定鬧鈴時間(時、分)。(5)具有鬧鐘貪睡功能。9.3.2總體設(shè)計9.3.2總體設(shè)計根據(jù)系統(tǒng)功能要求,可將系統(tǒng)組成結(jié)構(gòu)分成四大部分:單片機控制中心、鍵盤接口、時鐘顯示和聲音報時,系統(tǒng)的組成結(jié)構(gòu)如圖9.2所示。其中,單片機控制中心是核心。MCU根據(jù)按鍵輸入,可切換不同的顯示模式或設(shè)置不同的參數(shù)。時鐘顯示完成北京時間或秒表時鐘的信息。聲音報時可完成鬧鈴的提示。(1)時鐘顯示。選取4位LED數(shù)碼管,用于顯示小時和分鐘。(2)聲音報時。選用最常見的也是最簡單的聲音提示方式——蜂鳴器。(3)鍵盤接口。設(shè)置三個按鍵,即模式(MODE)鍵、UP鍵和DOWN鍵。按鍵用來設(shè)置北京時間、鬧鐘時間和啟動秒表等功能。9.3.2總體設(shè)計圖9.2電腦時鐘組成結(jié)構(gòu)圖9.3.3硬件設(shè)計1.微處理器選擇遵循成本低、性能高、滿足功能要求等原則選擇微處理器。在本系統(tǒng)中,采用4位LED顯示,動態(tài)掃描4位LED數(shù)碼管進行數(shù)字顯示,需要12位I/O線,聲音提示需要1位I/O線,按鍵需3位I/O線,因此,系統(tǒng)接口需要至少16位單片機I/O線。而普通MCS-51單片機一般有32位I/O線,選用普通單片機即可滿足要求??紤]到STC89C51微控制器具有價格非常低廉、程序空間大、資源較豐富、在線下載非常方便等特點,并且該芯片功能與普通51芯片相同,編程方面亦可采用所熟悉的Keil軟件,因此選擇STC89C51微控制器。9.3.3硬件設(shè)計2.電路設(shè)計電路設(shè)計包括電路原理圖設(shè)計和印制電路圖設(shè)計,電路原理圖如圖9.3所示。由于系統(tǒng)的工作電源為5V,為了使用方便,用USB接口供電,即系統(tǒng)直接從USB接口獲取5V電源。系統(tǒng)電路圖如圖9.3所示。圖9.3系統(tǒng)電路原理圖9.3.4軟件設(shè)計1.操作功能設(shè)計系統(tǒng)設(shè)有四位數(shù)碼管,三個按鍵。采用菜單式人機對話,便于操作。系統(tǒng)分成多種菜單,MODE鍵切換菜單,UP或DOWN鍵設(shè)置相關(guān)參數(shù)。菜單設(shè)計及操作如下:(1)北京時間顯示菜單:數(shù)碼管前兩位顯示小時,后兩位顯示分鐘,中間小數(shù)點0.5s亮,0.5s滅。(2)按MODE鍵一次,進入修改小時模式,第一個指示燈D1亮,按UP或DOWN鍵可對小時進行修改(加或減)。(3)按MODE鍵二次,進入修改分鐘模式,第二個指示燈D2亮,按UP或DOWN鍵可對分鐘進行修改(加或減)。(4)按MODE鍵三次,進入修改鬧鐘小時模式,第三個指示燈D3亮,按UP或DOWN鍵可對鬧鐘小時值進行修改(加或減)。9.3.4軟件設(shè)計(5)按MODE鍵四次,進入修改鬧鐘分鐘模式,第四個指示燈D4亮,按UP或DOWN鍵可對鬧鐘分鐘值進行修改(加或減)。(6)按MODE鍵五次,數(shù)碼管上顯示“LL.00”或“LL.01”,“LL.00”表示貪睡鬧鈴功能關(guān)閉,01表示貪睡鬧鈴功能開啟,按UP或DOWN鍵可在00或01間循環(huán)選擇。在貪睡鬧鈴功能關(guān)閉時,可按任意鍵停止當(dāng)前鬧鐘,或在無按鍵情況下會鬧鐘1分鐘,以后不再響。在貪睡鬧鈴功能開啟時,按下除UP鍵以外的任意鍵,則停止當(dāng)前鬧鐘;或在無按鍵情況下會鬧鐘1分鐘。每5分鐘,鬧鐘會重新響起,如此循環(huán)。只有按下UP鍵時,才能停止鬧鐘以后再不響。(7)按MODE鍵六次,返回到北京時間顯示模式。9.3.4軟件設(shè)計2.編程思路使用定時器0完成數(shù)碼管掃描、按鍵掃描、時鐘的計時功能。定時器0設(shè)為16位計時模式,定時5ms,即每5ms掃描一位數(shù)碼管,20ms循環(huán)一次。按鍵掃描過程中,需進行去抖動處理。掃描到相應(yīng)的按鍵時,執(zhí)行相應(yīng)的操作,如掃描到MODE鍵時,進行菜單切換操作。切換菜單的方法是通過程序定義一個變量,根據(jù)變量不同的取值來表示不同的菜單。在按鍵處理后,及時更新數(shù)碼管顯示的內(nèi)容。使用定時器1完成音樂播放功能。“兩只老虎”歌譜如下:9.3.4軟件設(shè)計9.4數(shù)字電壓表設(shè)計9.4.1功能要求數(shù)字電壓表(DigitalVoltmeter,DVM)是采用數(shù)字化測量技術(shù),把連續(xù)的模擬電壓量轉(zhuǎn)換成離散的數(shù)字化形式并加以顯示的儀表。設(shè)計一數(shù)字電壓表,要求用專用A/D轉(zhuǎn)換器來實現(xiàn)8路電壓采集,具體參數(shù)要求如下:(1)輸入8路直流電壓值,輸入范圍為0~5V。(2)測量精度能夠達到0.02V。(3)4位LED數(shù)碼管輪流顯示8路測量結(jié)果。9.4.2總體設(shè)計根據(jù)系統(tǒng)要求,單片機主要完成通道的選擇、電壓值的采集、以及數(shù)字顯示等功能。系統(tǒng)由主控電路、顯示電路、A/D轉(zhuǎn)換電路、電源電路及復(fù)位電路等部分組成,系統(tǒng)組成框圖如圖9.4所示。圖9.4數(shù)字電壓表系統(tǒng)組成框圖9.4.3硬件設(shè)計1.器件選擇A/D轉(zhuǎn)換器選擇:由于輸入的直流電壓信號有8路,且測量精度為0.02V,所以選擇ADC0809作為A/D轉(zhuǎn)換器完全滿足要求。另外,要求輸入8路電壓信號,選用ADC0809芯片可以完成A/D轉(zhuǎn)換要求。單片機選擇:ADC0809與單片機之間連接時,需要單片機15根I/O線。4位LED顯示和LED的位選一共需要12根I/O線。普通51系列單片機均可滿足要求。在此選擇AT89C52微控制器。9.4.3硬件設(shè)計2.原理圖設(shè)計數(shù)字電壓表原理圖如圖9.5所示。引腳安排如下:P0、P2.0~P2.3口作為數(shù)碼管顯示控制,P1口作A/D轉(zhuǎn)換數(shù)據(jù)輸入,P3.0~P3.6口用作ADC0809的控制。其中,ADC0809的CLK可以通過單片機ALE腳的六分頻再通過74LS74構(gòu)成的四分頻得到500kHz時鐘信號得到。圖9.5數(shù)字電壓表原理圖9.4.3硬件設(shè)計3.Proteus與Keil仿真平臺建立作為功能強大的EDA工具軟件,Proteus是模擬單片機及其外圍器件的很好工具,而Kei1軟件是目前廣為應(yīng)用的51系列單片機軟件開發(fā)工具之一。將它們完美結(jié)合,可為單片機系統(tǒng)資源、軟件技術(shù)、硬件接口電路、軟件和硬件相結(jié)合的應(yīng)用系統(tǒng)提供一個很好的理論和實踐相結(jié)合的實驗仿真平臺。Proteus與Keil的整合過程如下:(1)安裝Proteus6.7SP3和KeiluVision3軟件。(2)把Proteus安裝目錄下VDM51.dll(C:\ProgramFiles\LabcenterElectronics\Proteus6Professional\MODELS\)文件復(fù)制到Keil安裝目錄下的\C51\BIN目錄中。(3)編輯Keil目錄下tools.ini文件,在[C51]項下,加入:TDRV5=BIN\VDM51.DLL("PROTEUSMONITOR-51DRIVER")(注意,TDRVX為單片機軟件仿真的硬件配置設(shè)置)。9.4.3硬件設(shè)計(4)打開ProteusISIS軟件。設(shè)計單片機實驗硬件組成框圖,建立硬件連接原理圖,如圖9.5所示。(5)打開KeiluVison3軟件。建立單片機系統(tǒng)軟件工程,針對實驗要求,編制程序。(6)在KeiluVison3軟件中,選擇菜單“Project”->“OptionsforTarget‘Target1’”,在出現(xiàn)的對話框中,選擇“Output”頁面,選中“CreatHexFile”選項;選擇“Debug”頁面,選中“Use”-PROTEUSVSMMONITOR-51DRIVER,進入“Settings”,Host設(shè)為127.0.0.1,Port設(shè)為8000。9.4.3硬件設(shè)計(7)在ProteusISIS軟件中,選擇菜單“Source”->“Add/RemoveSourceCodeFiles”,在出現(xiàn)的對話框中點擊“Chang”按鈕,選擇從KeiluVison3軟件工程中所生成的HEX文件,點擊“OK”。在Debug菜單下選中“UseRemoteDebugMonitor”。(8)在KeiluVison3軟件中,直接進行仿真,連續(xù)運行或單步運行,即可在ProteusISIS軟件中看到單片機硬件仿真運行結(jié)果。在整合過程中,單片機仿真平臺建立過程為(1)~(3)項,實驗過程為(4)~(8)項。9.4.4軟件設(shè)計系統(tǒng)設(shè)有四個數(shù)碼管,要求能夠輪流顯示8路電壓輸入值。電壓精度要達到0.02V,因此,電壓顯示范圍應(yīng)為0.00V~5.00V,用后三位數(shù)碼管可完成電壓顯示,第一位數(shù)碼管可顯示對應(yīng)的通道。程序編寫的思路為:使用定時器0完成數(shù)碼管掃描功能。主程序每1s切換一次通道并進行電壓數(shù)據(jù)采集和更新顯示。9.5電動小車動態(tài)平衡系統(tǒng)9.5.1功能要求設(shè)計并制作一個電動車蹺蹺板,在蹺蹺板起始端A一側(cè)裝有可移動的配重。配重的位置可以在從始端開始的200mm~600mm范圍內(nèi)調(diào)整,調(diào)整步長不大于50mm;配重可拆卸。電動車從起始端A出發(fā),可以自動在蹺蹺板上行駛。電動車蹺蹺板起始狀態(tài)和平衡狀態(tài)示意圖分別如圖9.6和圖9.7所示。9.5.1功能要求圖9.6起始狀態(tài)示意圖圖9.7平衡狀態(tài)示意圖9.5.1功能要求在不加配重的情況下,電動車完成以下運動:(1)電動車從起始端A出發(fā),在30秒鐘內(nèi)行駛到中心點C附近。(2)60秒鐘之內(nèi),電動車在中心點C附近使蹺蹺板處于平衡狀態(tài),保持平衡5秒鐘,并給出明顯的平衡指示。(3)電動車從平衡點出發(fā),30秒鐘內(nèi)行駛到蹺蹺板末端B處(車頭距蹺蹺板末端B不大于50mm)。(4)電動車在B點停止5秒后,1分鐘內(nèi)倒退回起始端A,完成整個行程。(5)在整個行駛過程中,電動車始終在蹺蹺板上,并分階段實時顯示電動車行駛所用的時間。9.5.1功能要求將配重固定在可調(diào)整范圍內(nèi)任一指定位置,電動車完成以下運動:(1)將電動車放置在地面距離蹺蹺板起始端A點300mm以外、90°扇形區(qū)域內(nèi)某一指定位置(車頭朝向蹺蹺板),電動車能夠自動駛上蹺蹺板,如圖9.8所示。(2)電動車在蹺蹺板上取得平衡,給出明顯的平衡指示,保持平衡5秒鐘以上。(3)將另一塊質(zhì)量為電動車質(zhì)量10%~20%的塊狀配重放置在A至C間指定的位置,電動車能夠重新取得平衡,給出明顯的平衡指示,保持平衡5秒鐘以上。(4)電動車在3分鐘之內(nèi)完成全過程。說明:平衡的定義為A、B兩端與地面的距離差d=|dAdB|不大于40mm。9.5.1功能要求圖9.8自動駛上蹺蹺板示意圖9.5.2總體設(shè)計1.車型選擇電動車的車體可選用市場常見的物美價廉的玩具車。但在蹺蹺板上行駛存在上坡和下坡的難度,即上坡需要一定的馬力和起始速度,下坡需考慮自身慣性導(dǎo)致速度難以控制而駛出蹺蹺板B端外的情況,而這些起始驅(qū)動力及慣性因素為不定因素,從而導(dǎo)致速度控制的難度也是不可預(yù)知的。因此,選用坦克型車體。存在兩種理由:一方面,由于坦克型車體本身的特點,電機驅(qū)動方式不同一般車型,它行駛速度均勻,即使在坡度45°角的上坡也能均速行駛;另一方面,坦克的馬力強大,即使有再多的故障,它也能直接壓過,爬坡對于坦克車體來說是一件非常容易的事情。這樣大大降低了電動車的控制難度。9.5.2總體設(shè)計2.車體行駛設(shè)計電動車只能在蹺蹺板上行駛,為避免駛出蹺蹺板外,需進行軌跡設(shè)計,即為電動車指引行駛的線路。檢軌跡線的傳感器可選用一對反射式紅外傳感器,正確定位傳感器是尋跡的關(guān)鍵。為了使電動車能沿蹺蹺板前進和后退,為使電動車準(zhǔn)確地行駛到B端和準(zhǔn)確地退回到A端,在電動車的前后各安裝3對紅外對管(如圖9.9),且蹺蹺板上繪制軌跡圖(如圖9.10)。當(dāng)駛到B端時,只有前面的3對紅外管可同時檢測到軌跡,當(dāng)駛回A端時,只有后面的3對紅外管均可同時檢測到軌跡,當(dāng)在A到B的中間行駛時,可根據(jù)前端中的紅外管進行行駛方向判斷,在B到A的中間行駛時(即倒行時),可根據(jù)后面中的紅外管進行行駛方向判斷。9.5.2總體設(shè)計圖9.10板上行駛軌跡示意圖圖9.9傳感器安裝示意圖9.5.2總體設(shè)計3.系統(tǒng)平衡設(shè)計小車從開始上坡到達到B點,蹺蹺板的水平角度從arcsin(140/1600)變?yōu)閍rcsin(140/1600),絕對平衡時的水平角度為0°,即處于圖9.7所示狀態(tài)。但要使車體保持在絕對平衡的狀態(tài)是非常困難的。系統(tǒng)要求的平衡狀態(tài)是在一定范圍內(nèi),即|dAdB|<=40mm。所以,平衡控制的角度范圍為:arcsin(40/1600)至arcsin(40/1600)。為檢測該水平角度,需選用單軸傾角傳感器,且該傳感器安裝在車體上最為方便(如圖9.9)。9.5.2總體設(shè)計4.其他功能設(shè)計系統(tǒng)需要顯示各階段的時間,在平衡時作出平衡指示,因此控制系統(tǒng)要有顯示、聲光報警電路。電動車在行駛過程中,要按方向來行駛,因此存在電機驅(qū)動電路。電動車行駛及控制系統(tǒng)均需要不同的電源,在鋰電池供電的情況下,需要設(shè)計獨立供電電路等等??偵戏治觯妱榆囓E蹺板控制系統(tǒng)主要有電源供應(yīng)模塊,軌跡探測模塊、傾角檢測模塊、顯示模塊、電機驅(qū)動模塊、聲光提示模塊等組成,如圖9.11所示。9.5.3硬件設(shè)計1.獨立供電模塊小車由7.4伏的鋰電池供電。鋰電池在剛充滿電時,電壓高達8.4V,隨著小車的工作時間的增加,電池的電壓會不斷的降低到6V,并且電機及控制電路均需要穩(wěn)定的直流5V電源。因此需要一定的措施才能把鋰電池的不穩(wěn)定電壓變換成穩(wěn)定的5V。使用線性低壓差穩(wěn)壓器(LDO)SP1117單獨給控制系統(tǒng)供電,電機與控制系統(tǒng)之間用光電隔離,徹底解決由于電池電量的變化而影響電機速度控制的問題;并且此方案會使控制系統(tǒng)不受電機運行的電氣噪聲干擾,為系統(tǒng)的穩(wěn)定工作奠定了基礎(chǔ)。LM2596具體電路及SP1117電路圖如圖9.12所示。圖9.11系統(tǒng)組成框圖圖9.12獨立供電電路圖2.軌跡檢測模塊電動車前后各安裝3只紅外對管,一只置于軌道中間,兩只置于軌道外側(cè)。車體按軌跡行駛時,中間的紅外傳感器應(yīng)檢測到黑線(軌跡),兩側(cè)在軌跡外,不應(yīng)檢測到黑線,小車直走。但當(dāng)小車脫離軌道時,即中間的紅外傳感器脫檢測不到黑線,等待兩側(cè)的傳感器中任一只檢測黑線。當(dāng)右側(cè)的傳感器檢測到黑線時,說明車體偏左,應(yīng)向右轉(zhuǎn);相反地,當(dāng)左側(cè)的傳感器檢測到黑線時,說明車體偏右,應(yīng)向左轉(zhuǎn)。這樣,根據(jù)三只紅外對管的檢測狀態(tài),對車的方向做出相應(yīng)的調(diào)整。因此,車體在行駛過程中,會有一定左右搖擺。當(dāng)前面三對紅外管均檢測到軌跡時,說明車體已達到B端,可以暫停行駛。同樣,當(dāng)后面三對紅外管均檢測到軌跡時,說明車體已達到A端,也要停止行駛。檢測引導(dǎo)線尋跡傳感器是一對反射式紅外傳感器,傳感器檢測原理如圖9.13(a)所示,TX為發(fā)光二極管,RX為光敏元件。為了能準(zhǔn)確檢測到軌跡線,按照如圖9.13(b)所示的方式分布。當(dāng)傳感器位于軌跡線上(黑色)時,對應(yīng)紅外對管的發(fā)光二極管滅,光敏三極管截止,檢測電路輸出低電平,反之則輸出高電平。圖9.13反射式紅外傳感器結(jié)構(gòu)示意圖軌跡檢測電路部分原理圖如圖9.14所示。圖9.14軌跡檢測原理圖3.傾角檢測模塊本系統(tǒng)選用SCA61T單軸傾角傳感器。SCA61T是芬蘭VTI公司推出的一種高分辨率、低噪聲、穩(wěn)定性好、抗沖擊能力強的單軸傾角傳感器芯片。它能夠測量90°~90°范圍的水平角度,具有SPI或模擬輸出接口、5V供電,比例電壓輸出等特點。芯片處于水平位置時,輸出2.5V,在傾斜時,以0.03V/度的變化速率輸出對應(yīng)的電壓值。使用該角度傳感器完全可以滿足系統(tǒng)對角度平衡控制的要求,而且硬件接口簡單,編程也方便。圖9.15SCA61T引腳圖SCA61T引腳圖如圖9.15,引腳說明如表9-1。其中,沒有使用SPI接口時,SCK(引腳1),MISO(引腳2),MISI(引腳3)和CSB(引腳5)都需要懸空。當(dāng)ST(引腳6)為邏輯1(供電電壓)時,可激活自檢,不用ST功能,引腳9懸空或者接地即可。選用比例電壓輸出方式來進行角度采集,不需ST功能,第7腳接入系統(tǒng)的模擬輸入端即可。圖9.15SCA61T引腳圖表9.1SCA61T引腳說明4.電機驅(qū)動電路采用專用芯片L298N作為電機驅(qū)動芯片。L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,響應(yīng)頻率高,一片L298N可以分別控制兩個電機,而且還帶有控制使能端。用該芯片作為電機驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良,而且電路簡單。L298N的ENA、ENB端使能,5、7、10、12引腳接到單片機I/O線上,通過對單片機的編程可以實現(xiàn)兩個直流電機的正反轉(zhuǎn)。具體電路圖如圖9.16所示。圖9.16電機驅(qū)動電路圖5.顯示模塊采用臺灣矽創(chuàng)電子公司生產(chǎn)的ST7920驅(qū)動液晶顯示器,ST7920芯片內(nèi)置8192個中文漢字(16×16點陣)、128個字符的ASCII字符庫(8×16點陣)。128×64液晶顯示清晰、快速、信息量大、使用方便。ST7920驅(qū)動LCD本身帶有簡單中文字庫,可顯示4行8列漢字,漢字顯示可直接提示信息含義,具有人性化特點。ST7920可提供4位并行、8位并行、2線串行以及3線串行等多種接口方式,在本系統(tǒng)中采用3線串行接口方式,接口電路簡單,編程方便。6.聲光報警模塊聲音提示使用安徽中科大訊飛信息科技有限公司研發(fā)的XF-S4240語音合成模塊。XF-S4240模塊采用COB(ChipsOnBoard)封裝,可方便地集成到需要中文語音合成功能的嵌入式

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論