電動智能小車設(shè)計(jì)資料
電動智能小車設(shè)計(jì)資料,電動,智能,小車,設(shè)計(jì),資料
摘 要80C51單片機(jī)是一款八位單片機(jī),他的易用性和多功能性受到了廣大使用者的好評。這里介紹的是如何用80C51單片機(jī)來實(shí)現(xiàn)長春工業(yè)大學(xué)的畢業(yè)設(shè)計(jì),該設(shè)計(jì)是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。本系統(tǒng)以設(shè)計(jì)題目的要求為目的,采用80C51單片機(jī)為控制核心,利用超聲波傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時(shí)間、里程和速度,自動尋跡和尋光功能。整個(gè)系統(tǒng)的電路結(jié)構(gòu)簡單,可靠性能高。實(shí)驗(yàn)測試結(jié)果滿足要求,本文著重介紹了該系統(tǒng)的硬件設(shè)計(jì)方法及測試結(jié)果分析。 采用的技術(shù)主要有:(1) 通過編程來控制小車的速度;(2) 傳感器的有效應(yīng)用;(3) 新型顯示芯片的采用.關(guān)鍵詞 80C51單片機(jī)、光電檢測器、PWM調(diào)速、電動小車Design and create an intelligence electricity motive small carAbstract80C51 is a 8 bit single chip computer. Its easily using and multi-function suffer large users. This article introduces the CCUT graduation design with the 80C51 single chip computer. This design combines with scientific research object. This system regards the request of the topic, adopting 80C51 for controlling core, super sonic sensor for test the hinder. It can run in a high and a low speed or stop automatically. It also can record the time, distance and the speed or searching light and mark automatically the electric circuit construction of whole system is simple, the function is dependable. Experiment test result satisfy the request, this text emphasizes introduced the hardware system designs and the result analyze.The adoption of technique as:(1) Reduce the speed by program the engine;(2) Efficient application of the sensor;(3) The adoption of the new display chip. Keywords 80C51 single chip computer, light electricity detector, PWM speed adjusting, Electricity motive small car目 錄第一章 前 言1第二章 方案設(shè)計(jì)與論證3一 直流調(diào)速系統(tǒng)3二 檢測系統(tǒng)4三 顯示電路9四 系統(tǒng)原理圖9第三章 硬件設(shè)計(jì)10一 80C51單片機(jī)硬件結(jié)構(gòu)10二 最小應(yīng)用系統(tǒng)設(shè)計(jì)11三 前向通道設(shè)計(jì)12四 后向通道設(shè)計(jì)15五 顯示電路設(shè)計(jì)17第四章 軟件設(shè)計(jì)20一 主程序設(shè)計(jì)20二 顯示子程序設(shè)計(jì)24三 避障子程序設(shè)計(jì)25四 軟件抗干擾技術(shù)26五 “看門狗”技術(shù)28六 可編程邏輯器件29第五章 測試數(shù)據(jù)、測試結(jié)果分析及結(jié)論30致 謝31參 考 文 獻(xiàn)32附錄A 程序清單33附錄B 硬件原理圖4141第一章 前 言隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究??梢娖溲芯恳饬x很大。本設(shè)計(jì)就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準(zhǔn)備。本題目是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。設(shè)計(jì)的智能電動小車應(yīng)該能夠?qū)崟r(shí)顯示時(shí)間、速度、里程,具有自動尋跡、尋光、避障功能,可程控行駛速度、準(zhǔn)確定位停車。根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電、紅外線、超聲波傳感器及金屬探測器,實(shí)現(xiàn)對電動車的速度、位置、運(yùn)行狀況的實(shí)時(shí)測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實(shí)現(xiàn)對電動車的智能控制。這種方案能實(shí)現(xiàn)對電動車的運(yùn)動狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項(xiàng)要求。本設(shè)計(jì)采用MCS-51系列中的80C51單片機(jī)。以80C51為控制核心,利用超聲波傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時(shí)間、里程和速度,自動尋跡和尋光功能。80C51是一款八位單片機(jī),它的易用性和多功能性受到了廣大使用者的好評。它是第三代單片機(jī)的代表。第三代單片機(jī)包括了Intel公司發(fā)展MCS-51系列的新一代產(chǎn)品,如8C15280C51FA/FB80C51GA/GB8C4518C452,還包括了PhilipsSiemensADMFujutsuOKIHarria-MetraATMEL等公司以80C51為核心推出的大量各具特色與80C51兼容的單片機(jī)。新一代的單片機(jī)的最主要的技術(shù)特點(diǎn)是向外部接口電路擴(kuò)展,以實(shí)現(xiàn)Microcomputer完善的控制功能為己任,將一些外部接口功能單元如A/DPWMPCA(可編程計(jì)數(shù)器陣列)WDT(監(jiān)視定時(shí)器)高速I/O口計(jì)數(shù)器的捕獲/比較邏輯等。這一代單片機(jī)中,在總線方面最重要的進(jìn)展是為單片機(jī)配置了芯片間的串行總線,為單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)提供了更加靈活的方式。Philips公司還為這一代單片機(jī)80C51系列8C592單片機(jī)引入了具有較強(qiáng)功能的設(shè)備間網(wǎng)絡(luò)系統(tǒng)總線-CAN(Controller Area Network BUS).新一代單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。 本設(shè)計(jì)就采用了比較先進(jìn)的80C51為控制核心,80C51采用CHOMS工藝,功耗很低。該設(shè)計(jì)具有實(shí)際意義,可以應(yīng)用于考古、機(jī)器人、醫(yī)療器械等許多方面。尤其是在足球機(jī)器人研究方面具有很好的發(fā)展前景;在考古方面也應(yīng)用到了超聲波傳感器進(jìn)行檢測。所以本設(shè)計(jì)與實(shí)際相結(jié)合,現(xiàn)實(shí)意義很強(qiáng)。第二章 方案設(shè)計(jì)與論證根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電檢測器,實(shí)現(xiàn)對電動車的速度、位置、運(yùn)行狀況的實(shí)時(shí)測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實(shí)現(xiàn)對電動車的智能控制。這種方案能實(shí)現(xiàn)對電動車的運(yùn)動狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項(xiàng)要求。一 直流調(diào)速系統(tǒng)方案一:串電阻調(diào)速系統(tǒng)。方案二:靜止可控整流器。簡稱V-M系統(tǒng)。方案三:脈寬調(diào)速系統(tǒng)。旋轉(zhuǎn)變流系統(tǒng)由交流發(fā)電機(jī)拖動直流電動機(jī)實(shí)現(xiàn)變流,由發(fā)電機(jī)給需要調(diào)速的直流電動機(jī)供電,調(diào)節(jié)發(fā)電機(jī)的勵(lì)磁電流即可改變其輸出電壓,從而調(diào)節(jié)電動機(jī)的轉(zhuǎn)速。改變勵(lì)磁電流的方向則輸出電壓的極性和電動機(jī)的轉(zhuǎn)向都隨著改變,所以G-M系統(tǒng)的可逆運(yùn)行是很容易實(shí)現(xiàn)的。該系統(tǒng)需要旋轉(zhuǎn)變流機(jī)組,至少包含兩臺與調(diào)速電動機(jī)容量相當(dāng)?shù)男D(zhuǎn)電機(jī),還要一臺勵(lì)磁發(fā)電機(jī),設(shè)備多、體積大、費(fèi)用高、效率低、維護(hù)不方便等缺點(diǎn)。且技術(shù)落后,因此擱置不用。V-M系統(tǒng)是當(dāng)今直流調(diào)速系統(tǒng)的主要形式。它可以是單相、三相或更多相數(shù),半波、全波、半控、全控等類型,可實(shí)現(xiàn)平滑調(diào)速。V-M系統(tǒng)的缺點(diǎn)是晶閘管的單向?qū)щ娦裕辉试S電流反向,給系統(tǒng)的可逆運(yùn)行造成困難。它的另一個(gè)缺點(diǎn)是運(yùn)行條件要求高,維護(hù)運(yùn)行麻煩。最后,當(dāng)系統(tǒng)處于低速運(yùn)行時(shí),系統(tǒng)的功率因數(shù)很低,并產(chǎn)生較大的諧波電流危害附近的用電設(shè)備。采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開關(guān)狀態(tài)。當(dāng)晶閘管被觸發(fā)導(dǎo)通時(shí),電源電壓加到電動機(jī)上,當(dāng)晶閘管關(guān)斷時(shí),直流電源與電動機(jī)斷開,電動機(jī)經(jīng)二極管續(xù)流,兩端電壓接近于零。脈沖寬度調(diào)制(Pulse Width Modulation),簡稱PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時(shí)間,即通過改變脈沖寬度來進(jìn)行直流調(diào)速。與V-M系統(tǒng)相比,PWM調(diào)速系統(tǒng)有下列優(yōu)點(diǎn):(1)由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運(yùn)行平穩(wěn),調(diào)速范圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動機(jī)的損耗和發(fā)熱都比較小。(2)同樣由于開關(guān)頻率高,若與快速響應(yīng)的電機(jī)相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動態(tài)抗擾能力強(qiáng)。(3)由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。根據(jù)以上綜合比較,以及本設(shè)計(jì)中受控電機(jī)的容量和直流電機(jī)調(diào)速的發(fā)展方向,本設(shè)計(jì)采用了H型單極型可逆PWM變換器進(jìn)行調(diào)速。脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡稱PWM變換器。脈寬調(diào)速也可通過單片機(jī)控制繼電器的閉合來實(shí)現(xiàn),但是驅(qū)動能力有限。為順利實(shí)現(xiàn)電動小汽車的前行與倒車,本設(shè)計(jì)采用了可逆PWM變換器??赡鍼WM變換器主電路的結(jié)構(gòu)式有H型、T型等類型。我們在設(shè)計(jì)中采用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。二 檢測系統(tǒng)檢測系統(tǒng)主要實(shí)現(xiàn)光電檢測,即利用各種傳感器對電動車的避障、位置、行車狀態(tài)進(jìn)行測量。1行車起始、終點(diǎn)及光線檢測:本系統(tǒng)采用反射式紅外線光電傳感器用于檢測路面的起始、終點(diǎn)(2cm寬的黑線),玩具車底盤上沿黑線放置一套,以適應(yīng)起始的記數(shù)開始和終點(diǎn)的停車的需要。利用超聲波傳感器檢測障礙。光線跟蹤,采用光敏三極管接收燈泡發(fā)出的光線,當(dāng)感受到光線照射時(shí),其c-e間的阻值下降,檢測電路輸出高電平,經(jīng)LM393電壓比較器和74LS14施密特觸發(fā)器整形后送單片機(jī)控制。本系統(tǒng)共設(shè)計(jì)兩個(gè)光電三極管,分別放置在電動車車頭的左、右兩個(gè)方向,用來控制電動車的行走方向,當(dāng)左側(cè)光電管受到光照時(shí),單片機(jī)控制轉(zhuǎn)向電機(jī)向左轉(zhuǎn);當(dāng)右側(cè)光電管受到光照時(shí),單片機(jī)控制轉(zhuǎn)向電機(jī)向右轉(zhuǎn);當(dāng)左、右兩側(cè)光電管都受到光照時(shí),單片機(jī)控制直行。見圖2.1 電動車的方向檢測電路(a)。行車方向檢測電路(見圖2.2 電動車的方向檢測電路(b))采用反射接收原理配置了一對紅外線發(fā)射、接收傳感器。該電路包括一個(gè)紅外發(fā)光二極管、一個(gè)紅外光敏三極管及其上拉電阻。紅外發(fā)光二極管發(fā)射一定強(qiáng)度的紅外線照射物體,紅外光敏三極管在接收到反射回來的紅外線后導(dǎo)通,發(fā)出一個(gè)電平跳變信號。此套紅外光電傳感器固定在底盤前沿,貼近地面。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,光線經(jīng)白紙反射后被接收管接收,輸出高電平信號;電動車經(jīng)過黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號后送80C51單片機(jī)處理,判斷執(zhí)行哪一種預(yù)先編制的程序來控制玩具車的行駛狀態(tài)。前進(jìn)時(shí),驅(qū)動輪直流電機(jī)正轉(zhuǎn),進(jìn)入減速區(qū)時(shí),由單片機(jī)控制進(jìn)行PWM變頻調(diào)速,通過軟件改變脈沖調(diào)寬波形的占空比,實(shí)現(xiàn)調(diào)速。最后經(jīng)反接制動實(shí)現(xiàn)停車。前行與倒車控制電路的核心是橋式電路和繼電器。電橋上設(shè)置有兩組開關(guān),一組常閉,另一組常開。圖2.1 電動車的方向檢測電路(a)圖2.2 電動車的方向檢測電路(b)電橋一端接電源,另一端接了一個(gè)三極管。三極管導(dǎo)通時(shí),電橋通過三極管接地,電機(jī)電樞中有電流通過;三極管截止時(shí),電橋浮空,電機(jī)電樞中沒有電流通過。系統(tǒng)通過電橋的輸出端為轉(zhuǎn)向電機(jī)供電。通過對繼電器開閉的控制即可控制電機(jī)的開斷和轉(zhuǎn)速方向進(jìn)而達(dá)到控制玩具車前行與倒車的目的,實(shí)現(xiàn)隨動控制系統(tǒng)的糾偏功能。如圖2.3 前行與倒車控制電路所示。圖2.3前行與倒車控制電路檢測放大器方案:方案一:使用普通單級比例放大電路。其特點(diǎn)是結(jié)構(gòu)簡單、調(diào)試方便、價(jià)格低廉。但是也存在著許多不足。如抗干擾能力差、共模抑制比低等。方案二:采用差動放大電路。選擇優(yōu)質(zhì)元件構(gòu)成比例放大電路,雖然可以達(dá)到一定的精度,但有時(shí)仍不能滿足某些特殊要求。例如,在測量本設(shè)計(jì)中的光電檢測信號時(shí)需要把檢測過來的電平信號放大并濾除干擾,而且要求對共模干擾信號具有相當(dāng)強(qiáng)的抑制能力。這種情況下須采用差動放大電路,并應(yīng)設(shè)法減小溫漂。但在實(shí)際操作中,往往滿足了高共模抑制比的要求,卻使運(yùn)算放大器輸出飽和;為獲得單片機(jī)能識別的TTL電平卻又無法抑制共模干擾。方案三:電壓比較器方案。電壓比較器的功能是比較兩個(gè)電壓的大小,例如將一個(gè)信號電壓Ui和一個(gè)參考電壓Ur進(jìn)行比較,在UiUr和UiUr兩種不同情況下,電壓比較器輸出兩個(gè)不同的電平,即高電平和低電平。而Ui變化經(jīng)過Ur時(shí),比較器的輸出將從一個(gè)電壓跳變到另一個(gè)電平。比較器有各種不同的類型。對它的要求是:鑒別要準(zhǔn)確,反應(yīng)要靈敏,動作要迅速,抗干擾能力要強(qiáng),還應(yīng)有一定的保護(hù)措施,以防止因過電壓或過電流而造成器件損壞。比較器的特點(diǎn): 工作在開環(huán)或正反饋狀態(tài)。放大、運(yùn)算電路為了實(shí)現(xiàn)性能穩(wěn)定并滿足一定的精度要求,這些電路中的運(yùn)放均引入了深度負(fù)反饋;而為了提高比較器的反應(yīng)速度和靈敏度,它所采用的運(yùn)放不但沒有引入負(fù)反饋,有時(shí)甚至還加正反饋。因此比較器的性能分析方法與放大、運(yùn)算電路是不同的。 非線性。由于比較器中運(yùn)放處于開環(huán)或正反饋狀態(tài),它的兩個(gè)輸入端之間的電位差與開環(huán)電壓放大倍數(shù)的乘積通常超過最大輸出電壓,使其內(nèi)部某些管子進(jìn)入飽和區(qū)或截止區(qū),因此在絕大多數(shù)情況下輸出與輸入不成線性關(guān)系,即在放大、運(yùn)算等電路中常用的計(jì)算方法對于比較器不再適用。 開關(guān)特性。比較器的輸出通常只有高電平和低電平兩種穩(wěn)定狀態(tài),因此它相當(dāng)與一個(gè)受輸入信號控制的開關(guān),當(dāng)輸入電壓經(jīng)過閾值時(shí)開關(guān)動作,使輸出從一個(gè)電平跳變到另一個(gè)電平。由于比較器的輸入信號是模擬量,而它的輸出電平是離散的,因此電壓比較器可作為模擬電路與數(shù)字電路之間的過渡電路。由于比較器的上述特點(diǎn),在分析時(shí)既不能象對待放大電路那樣去計(jì)算放大倍數(shù),也不能象分析運(yùn)算電路那樣去求解輸出與輸入的函數(shù)關(guān)系,而應(yīng)當(dāng)著重抓住比較器的輸出從一個(gè)電平跳變到另一個(gè)電平的臨界條件所對應(yīng)的輸入電壓值(閾值)來分析輸入量與輸出量之間的關(guān)系。如果在比較器的輸入端加理想階躍信號,那么在理想情況下比較器的輸出也應(yīng)當(dāng)是理想的階躍電壓,而且沒有延遲。但實(shí)際集成運(yùn)放的最大轉(zhuǎn)換速率總是有限的,因此比較器輸出電壓的跳變不可能是理想的階躍信號。電壓比較器的輸出從低電平變?yōu)楦唠娖剿毜臅r(shí)間稱為響應(yīng)時(shí)間。響應(yīng)時(shí)間越短,響應(yīng)速度越快。減小比較器響應(yīng)時(shí)間的主要方法有:(1) 盡可能使輸入信號接近理想情況,使它在閾值附近的變化接近理想階躍且幅度足夠大。(2) 選用集成電壓比較器。(3) 如果選用集成運(yùn)放構(gòu)成比較器,為了提高響應(yīng)速度可以加限幅措施,以避免集成運(yùn)放內(nèi)部的管子進(jìn)入深飽和區(qū)。具體措施多為在集成運(yùn)放的兩個(gè)輸入端并聯(lián)二極管。如圖2.4 電壓比較器電路所示:圖2.4 電壓比較器電路在本設(shè)計(jì)中,光電傳感器只輸出一種高低電平信號且伴有外界雜波干擾,所以我們嘗試采用了一種滯回比較器。簡單電壓比較器結(jié)構(gòu)簡單,而且靈敏度高,但它的抗干擾能力差,也就是說如果輸入信號因受干擾在閾值附近變化,則比較器輸出就會反復(fù)的從一個(gè)電平跳到另一個(gè)電平。如果用這樣的輸出電壓控制電機(jī)或繼電器,將出現(xiàn)頻繁動作或起?,F(xiàn)象。這種情況,通常是不允許的。而滯回比較器則解決了這個(gè)問題。滯回比較器有兩個(gè)數(shù)值不同的閾值,當(dāng)輸入信號因受干擾或其他原因發(fā)生變化時(shí),只要變化量不超過兩個(gè)閾值之差,滯回比較器的輸出電壓就不會來回變化。所以抗干擾能力強(qiáng)。但是,滯回比較器畢竟是模擬器件,溫度的漂移是它無法消除的。方案四:施密特觸發(fā)器。綜合考慮系統(tǒng)的各項(xiàng)性能,最后我們決定采用數(shù)字器件施密特觸發(fā)器。施密特觸發(fā)器是雙穩(wěn)態(tài)觸發(fā)器的變形,它有兩個(gè)穩(wěn)定狀態(tài),觸發(fā)方式為電平觸發(fā),只要外加觸發(fā)信號的幅值增加到足夠大,它就從一個(gè)穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個(gè)穩(wěn)定狀態(tài)。施密特觸發(fā)器具有與滯回比較器相類似的滯回特性,但施密特觸發(fā)器的抗干擾能力比滯回比較器更強(qiáng)。2行車距離檢測由于紅外檢測具有反應(yīng)速度快、定位精度高,可靠性強(qiáng)以及可見光傳感器所不能比擬的優(yōu)點(diǎn),故采用紅外光電碼盤測速方案。具體電路同圖2.5 行車距離檢測電路所示:圖2.5 行車距離檢測電路紅外測距儀由測距輪,遮光盤,紅外光電耦合器及凹槽型支架組成的。測長輪的周長為記數(shù)的單位,最好取有效值為單一的數(shù)值(如本設(shè)計(jì)中采用0.1米),精度根據(jù)電動車控制的需要確定。測距輪安裝在車輪上,這樣能使記數(shù)值準(zhǔn)確一些。遮光盤有一缺口,盤下方的凹形物為槽型光電耦合器,其兩端高出部分的里面分別裝有紅外發(fā)射管和紅外接收管。遮光盤在凹槽中轉(zhuǎn)動時(shí),缺口進(jìn)入凹槽時(shí),紅外線可以通過,缺口離開凹槽紅外線被阻擋。由此可見,測距輪每轉(zhuǎn)一周,紅外光接收管均能接收到一個(gè)脈沖信號經(jīng)過整形器后送入計(jì)數(shù)器或直接送入單片機(jī)中。為實(shí)現(xiàn)可逆記數(shù)功能,我們在測距儀中并列放置了兩個(gè)槽型光電耦合器,遮光盤先后通過凹槽可產(chǎn)生兩個(gè)脈沖信號。根據(jù)兩個(gè)脈沖信號發(fā)生的先后順序與兩個(gè)光電耦合器的位置關(guān)系,即可計(jì)算出玩具車的行駛方向(前進(jìn)或后退)。遮光盤及槽型光電耦合器均安裝在不透光的盒子里,以避免外界光線的干擾,使電路不能正常工作。測距原理:將光柵安裝在電機(jī)軸上,當(dāng)電機(jī)轉(zhuǎn)動時(shí),光柵也隨之轉(zhuǎn)動,同時(shí)安裝在光柵一側(cè)的紅外發(fā)光二極管點(diǎn)亮,在光柵的另一側(cè)設(shè)有紅外三極管,用于接收紅外發(fā)光二極管發(fā)出的紅外線信號。由于光柵隨電機(jī)高速轉(zhuǎn)動,則紅外線三極管接收到的就是一系列脈沖信號。將該信號傳輸?shù)?0C51單片機(jī)的內(nèi)部計(jì)數(shù)器計(jì)數(shù),根據(jù)預(yù)先實(shí)測的數(shù)據(jù)換算關(guān)系即可計(jì)算出電動機(jī)車的行車距離。三 顯示電路本設(shè)計(jì)中用兩片4位八段數(shù)碼管gem4561ae作顯示器,并具有雙重功能,在小車不行駛時(shí)其中一片顯示年月,另一片顯示時(shí)分; 當(dāng)小車行駛時(shí),分別顯示時(shí)間和行駛距離。 四 系統(tǒng)原理圖 簡易智能電動車采用80C51單片機(jī)進(jìn)行智能控制。開始由手動啟動小車,并復(fù)位,當(dāng)經(jīng)過規(guī)定的起始黑線,由超聲波傳感器和紅外光電傳感器檢測,通過單片機(jī)控制小車開始記數(shù)顯示并避障、調(diào)速;系統(tǒng)的自動避障功能通過超聲波傳感器正前方檢測和紅外光電傳感器左右側(cè)檢測,由單片機(jī)控制實(shí)現(xiàn);在電動車進(jìn)駛過程中,采用雙極式H型PWM脈寬調(diào)制技術(shù),以提高系統(tǒng)的靜動態(tài)性能;采用動態(tài)共陰顯示行駛時(shí)間和里程。系統(tǒng)原理圖如圖2.6所示。圖2.6 系統(tǒng)原理圖第三章 硬件設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含有兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROMRAMI/O口定時(shí)/記數(shù)器中斷系統(tǒng)等能量不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相應(yīng)的電路。二是系統(tǒng)配置,既按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤顯示器打印機(jī)A/DD/A轉(zhuǎn)換器等,要設(shè)計(jì)合適的接口電路。一 80C51單片機(jī)硬件結(jié)構(gòu)80C51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上2。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器、程序存儲器、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。1 微處理器該單片機(jī)中有一個(gè)8位的微處理器,與通用的微處理器基本相同,同樣包括了運(yùn)算器和控制器兩大部分,只是增加了面向控制的處理功能,不僅可處理數(shù)據(jù),還可以進(jìn)行位變量的處理。2 數(shù)據(jù)存儲器片內(nèi)為128個(gè)字節(jié),片外最多可外擴(kuò)至64k字節(jié),用來存儲程序在運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等,所以稱為數(shù)據(jù)存儲器。3 程序存儲器由于受集成度限制,片內(nèi)只讀存儲器一般容量較小,如果片內(nèi)的只讀存儲器的容量不夠,則需用擴(kuò)展片外的只讀存儲器,片外最多可外擴(kuò)至64k字節(jié)。4 中斷系統(tǒng)具有5個(gè)中斷源,2級中斷優(yōu)先權(quán)。5 定時(shí)器/計(jì)數(shù)器片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器, 具有四種工作方式。6 串行口1個(gè)全雙工的串行口,具有四種工作方式。可用來進(jìn)行串行通訊,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。7 P1口、P2口、P3口、P4口為4個(gè)并行8位I/O口。8 特殊功能寄存器共有21個(gè),用于對片內(nèi)的個(gè)功能的部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的RAM區(qū)。由上可見,80C51單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點(diǎn)。特別值得一提的是該單片機(jī)CPU中的位處理器,它實(shí)際上是一個(gè)完整的1位微計(jì)算機(jī),這個(gè)一位微計(jì)算機(jī)有自己的CPU、位寄存器、I/O口和指令集。1位機(jī)在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機(jī)在數(shù)據(jù)采集,運(yùn)算處理方面有明顯的長處。MCS-51單片機(jī)中8位機(jī)和1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個(gè)突破,這也是MCS-51單片機(jī)在設(shè)計(jì)的精美之處。二 最小應(yīng)用系統(tǒng)設(shè)計(jì)80C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡單可靠。用80C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,如圖3.1 80C51單片機(jī)最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn):(1) 有可供用戶使用的大量I/O口線。(2) 內(nèi)部存儲器容量有限。(3) 應(yīng)用系統(tǒng)開發(fā)具有特殊性。圖3.1 80C51單片機(jī)最小系統(tǒng)1、時(shí)鐘電路80C51雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外部附加電路。80C51單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種。內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2引腳上外接定時(shí)元件,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計(jì)采用最常用的內(nèi)部時(shí)鐘方式,即用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHZ到12MHZ之間選擇。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,CX1、CX2可在20pF到100pF之間取值,但在60pF到70pF時(shí)振蕩器有較高的頻率穩(wěn)定性。所以本設(shè)計(jì)中,振蕩晶體選擇6MHZ,電容選擇65pF。在設(shè)計(jì)印刷電路板時(shí),晶體和電容應(yīng)盡可能靠近單片機(jī)芯片安裝,以減少寄生電容,更好的保證振蕩器穩(wěn)定和可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用NPO電容。2、復(fù)位電路80C51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器用來抑制噪聲,在每個(gè)機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位。時(shí)鐘頻率用6MHZ時(shí)C取22uF,R取1K。除了上電復(fù)位外,有時(shí)還需要按鍵手動復(fù)位。本設(shè)計(jì)就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的。按鍵手動復(fù)位電路見圖3.2。時(shí)鐘頻率選用6MHZ時(shí),C取22uF,Rs取200,RK取1K。圖3.2 80C51復(fù)位電路三 前向通道設(shè)計(jì)單片機(jī)用與測控系統(tǒng)時(shí),總要有與被測對象相聯(lián)系的前向通道。因此,前向通道設(shè)計(jì)與被測對象的狀態(tài)、特征、所處環(huán)境密切相關(guān)。在前向通道設(shè)計(jì)時(shí)要考慮到傳感器或敏感元件選擇、通道結(jié)構(gòu)、信號調(diào)節(jié)、電源配置、抗干擾設(shè)計(jì)等。在通道電路設(shè)計(jì)中還涉及到模擬電路諸多問題。1前向通道的含義當(dāng)將單片機(jī)用作測控系統(tǒng)時(shí),系統(tǒng)中總要有被測信號輸入通道,有計(jì)算機(jī)拾取必要的輸入信息。作為測試系統(tǒng),對被測對象拾取必要的原始參量信號是系統(tǒng)的核心任務(wù),對控制系統(tǒng)來說,對被控對象狀態(tài)的測試以及對控制條件的監(jiān)測也是不可缺少的環(huán)節(jié)。對被測對象狀態(tài)的測試一般都離不開傳感器或敏感元件,這是因?yàn)楸粶y對象的狀態(tài)參數(shù)常常是一些非電物理量,如溫度、壓力、載荷、位移等,而計(jì)算機(jī)是一個(gè)數(shù)字電路系統(tǒng)。因此,在前向通道中,傳感器、敏感元件及其相關(guān)電路占有重要地位。對被測對象的信號的拾取其主要任務(wù)就是最忠實(shí)地反映被測對象的真實(shí)狀態(tài),它包括實(shí)時(shí)性與測量精度。同時(shí)使這些測量信號能滿足計(jì)算機(jī)輸入接口的電平要求。因此,單片機(jī)應(yīng)用系統(tǒng)中的前向通道體現(xiàn)了被測對象與系統(tǒng)相互聯(lián)系的信號輸入通道,原始參數(shù)輸入通道。由于在該通道中主要是傳感器與傳感器有關(guān)的信號調(diào)節(jié)、變換電路,故也可稱為傳感器接口通道。在單片機(jī)應(yīng)用系統(tǒng)中,對信號輸入、傳感、變換應(yīng)作廣義理解,例如開關(guān)量的檢測及信號輸入,在單片機(jī)的各種應(yīng)用系統(tǒng)中有著廣泛的應(yīng)用。最簡單的開關(guān)量輸入通道就是一個(gè)具有TTL電平的狀態(tài)開關(guān),如水銀溫度觸點(diǎn)、溫度晶閘管、時(shí)間繼電器、限位開關(guān)等。故只要反映外界狀態(tài)的信號輸入通道都可稱為前向通道。并不是所有單片機(jī)應(yīng)用系統(tǒng)都有前向通道,例如時(shí)序控制系統(tǒng),只根據(jù)系統(tǒng)內(nèi)部的時(shí)間序列來控制外部的運(yùn)行狀態(tài);分布式測控系統(tǒng)中的智能控制總站完成上級主計(jì)算機(jī)與現(xiàn)場測、控子站計(jì)算機(jī)之間的指令、數(shù)據(jù)傳送。這些應(yīng)用系統(tǒng)沒有被測對象,故不需要前向通道。2前向通道的設(shè)計(jì)(1)傳感器的比較3識別障礙的首要問題是傳感器的選擇,下面對幾種傳感器的優(yōu)缺點(diǎn)進(jìn)行說明(見表3.1)。探測障礙的最簡單的方法是使用超聲波傳感器,它是利用向目標(biāo)發(fā)射超聲波脈沖,計(jì)算其往返時(shí)間來判定距離的。該方法被廣泛應(yīng)用于移動機(jī)器人的研究上。其優(yōu)點(diǎn)是價(jià)格便宜,易于使用,且在10m以內(nèi)能給出精確的測量。不過在ITS系統(tǒng)中除了上文提出的場景限制外,還有以下問題。首先因其只能在10m以內(nèi)有效使用,所以并不適合ITS系統(tǒng)。另外超聲波傳感器的工作原理基于聲,即使可以使之測達(dá)100m遠(yuǎn),但其更新頻率為2Hz,而且還有可能在傳輸中受到它信號的干擾,所以在CW/ICC系統(tǒng)中使用是不實(shí)際的。表3.1 傳感器性能比較傳感器類型優(yōu) 點(diǎn)缺 點(diǎn)超聲波視覺激光雷達(dá)MMW雷達(dá)價(jià)格合理,夜間不受影響。易于多目標(biāo)測量和分類,分辨率好。價(jià)格相合理,夜間不受影響不受燈光、天氣影響。測量范圍小,對天氣變化敏感。不能直接測量距離,算法復(fù)雜,處理速度慢。對水、灰塵、燈光敏感。價(jià)格貴視覺傳感器在CW系統(tǒng)中使用得非常廣泛。其優(yōu)點(diǎn)是尺寸小,價(jià)格合理,在一定的寬度和視覺域內(nèi)可以測量定多個(gè)目標(biāo),并且可以利用測量的圖像根據(jù)外形和大小對目標(biāo)進(jìn)行分類。但是算法復(fù)雜,處理速度慢。雷達(dá)傳感器在軍事和航空領(lǐng)域已經(jīng)使用了幾十年。主要優(yōu)點(diǎn)是可以魯棒地探測到障礙而不受天氣或燈光條件限制。近十年來隨著尺寸及價(jià)格的降低,在汽車行業(yè)開始被使用。但是仍存在性價(jià)比的問題。(2)超聲波障礙檢測4超聲波是一種在彈性介質(zhì)中的機(jī)械振蕩,其頻率超過20KHz,分橫向振蕩和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。它有折射和反射現(xiàn)象,且在傳播過程中有衰減。利用超聲波的特性,可做成各種超聲波傳感器,結(jié)合不同的電路,可以制成超聲波儀器及裝置,在通訊、醫(yī)療及家電中獲得廣泛應(yīng)用。作為超聲波傳感器的材料,主要為壓電晶體。壓電晶體組成的超聲波傳感器是一種可逆?zhèn)鞲衅?,它可以將電能轉(zhuǎn)變成機(jī)械振蕩而產(chǎn)生超聲波,同時(shí)它接收到超聲波時(shí),也能轉(zhuǎn)變成電能,故它分為發(fā)送器和接收器。超聲波傳感器有透射型、反射型兩種類型,常用于防盜報(bào)警器、接近開關(guān)、測距及材料探傷、測厚等。本設(shè)計(jì)采用T/R-40-12小型超聲波傳感器作為探測前方障礙物體的檢測元件,其中心頻率為40Hz,由80C51發(fā)出的40KHz脈沖信號驅(qū)動超聲波傳感器發(fā)送器發(fā)出40KHz的脈沖超聲波,如電動車前方遇到有障礙物時(shí),此超聲波信號被障礙物反射回來,由接收器接收,經(jīng)LM318兩級放大,再經(jīng)帶有鎖相環(huán)的音頻解碼芯片LM567解碼,當(dāng)LM567的輸入信號大于25mV時(shí),輸出端由高電平變?yōu)榈碗娖?,?0C51單片機(jī)處理。超聲波檢測如圖3.3超聲波檢測電路所示。圖 3.3 超聲波檢測電路四 后向通道設(shè)計(jì) 在工業(yè)控制系統(tǒng)中,單片機(jī)總要對控制對象實(shí)現(xiàn)操作,因此,在這樣的系統(tǒng)中,總要有后向通道。后向通道是計(jì)算機(jī)實(shí)現(xiàn)控制運(yùn)算處理后,對控制對象的輸出通道接口。根據(jù)單片機(jī)的輸出和控制對象實(shí)現(xiàn)控制信號的要求,后向通道具有以下特點(diǎn):(1) 小信號輸出、大功率控制。根據(jù)目前單片機(jī)輸出功率的限制,不能輸出控制對象所要求的功率信號。(2) 是一個(gè)輸出通道。輸出伺服驅(qū)動系統(tǒng)控制信號,而伺服驅(qū)動系統(tǒng)中的狀態(tài)反饋信號通常是作為檢測信號輸入前向通道。(3) 接近控制對象,環(huán)境惡劣。控制對象多為大功率伺服驅(qū)動機(jī)構(gòu),電磁、機(jī)械干擾較為嚴(yán)重。但后向通道是一個(gè)輸出通道,而且輸出電平較高,不易受到直接損害。但這些干擾易從系統(tǒng)的前向通道竄入。單片機(jī)在完成控制處理后,總是以數(shù)字信號通過I/O口或數(shù)據(jù)總線送給控制對象。這些數(shù)字信號形態(tài)主要有開關(guān)量、二進(jìn)制數(shù)字量和頻率量,可直接用于開關(guān)量、數(shù)字量系統(tǒng)及頻率調(diào)制系統(tǒng),但對于一些模擬量控制系統(tǒng),則應(yīng)通過數(shù)模轉(zhuǎn)換成模擬量控制信號。 根據(jù)單片機(jī)輸出信號形態(tài)及控制對象要求,后向通道應(yīng)解決:(1) 功率驅(qū)動。將單片機(jī)輸出信號進(jìn)行功率放大,以滿足伺服驅(qū)動的功率要求。(2) 干擾防治。主要防治伺服驅(qū)動系統(tǒng)通過信號通道電源以及空間電磁場對計(jì)算機(jī)系統(tǒng)的干擾。通常采用信號隔離電源隔離和對功率開關(guān)實(shí)現(xiàn)過零切換等方法進(jìn)行干擾防治。(3) 數(shù)/模轉(zhuǎn)換。對于二進(jìn)制輸出的數(shù)字量采用D/A變換器;對于頻率量輸出則可以采用本設(shè)計(jì)調(diào)速采用PWM調(diào)速5:為順利實(shí)現(xiàn)電動小汽車的左轉(zhuǎn)和右轉(zhuǎn),本設(shè)計(jì)采用了可逆PWM變換器。可逆PWM變換器主電路的結(jié)構(gòu)式有H型、T型等類型。我們在設(shè)計(jì)中采用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。圖3.4為雙極式H型可逆PWM變換器的電路原理圖。4個(gè)電力晶體管的基極驅(qū)動電壓分為兩組。VT1和VT4同時(shí)導(dǎo)通和關(guān)斷,其驅(qū)動電路中Ub1=Ub4;VT2和VT3同時(shí)動作,其驅(qū)動電壓Ub2=Ub3= -Ub1。雙極式PWM變換器的優(yōu)點(diǎn)如下:(1)電流一定連續(xù);(2)可使電動機(jī)在四象限中運(yùn)行;(3)電機(jī)停止時(shí)有微振電流,能消除靜摩擦死區(qū);(4)低速時(shí),每個(gè)晶體管的驅(qū)動脈沖仍較寬,有利于保證晶體管可靠導(dǎo)通;(5)低速平穩(wěn)性好,調(diào)速范圍可達(dá)20000左右。1、脈寬調(diào)制原理:脈寬調(diào)制器本身是一個(gè)由運(yùn)算放大器和幾個(gè)輸入信號組成的電壓比較器。運(yùn)算放圖3.4 雙極式H型可逆PWM變換器電路原理圖大器工作在開換狀態(tài),稍微有一點(diǎn)輸入信號就可使其輸出電壓達(dá)到飽和值,當(dāng)輸入電壓極性改變時(shí),輸出電壓就在正、負(fù)飽和值之間變化,這樣就完成了把連續(xù)電壓變成脈沖電壓的轉(zhuǎn)換作用。加在運(yùn)算放大器反相輸入端上的有三個(gè)輸入信號。一個(gè)輸入信號是鋸齒波調(diào)制信號,另一個(gè)是控制電壓,其極性大小可隨時(shí)改變,與鋸齒波調(diào)制信號相減,從而在運(yùn)算放大器的輸出端得到周期不變、脈寬可變的調(diào)制輸出電壓。只要改變控制電壓的極性,也就改變了PWM變換器輸出平均電壓的極性,因而改變了電動機(jī)的轉(zhuǎn)向.改變控制電壓的大小,則調(diào)節(jié)了輸出脈沖電壓的寬度,從而調(diào)節(jié)電動機(jī)的轉(zhuǎn)速.只要鋸齒波的線性度足夠好,輸出脈沖的寬度是和控制電壓的大小成正比的.2、邏輯延時(shí)環(huán)節(jié):在可逆PWM變換器中,跨接在電源兩端的上下兩個(gè)晶體管經(jīng)常交替工作.由于晶體管的關(guān)斷過程中有一段存儲時(shí)間和電流下降時(shí)間,總稱關(guān)斷時(shí)間,在這段時(shí)間內(nèi)晶體管并未完全關(guān)斷.如果在此期間另一個(gè)晶體管已經(jīng)導(dǎo)通,則將造成上下兩管之通,從而使電源正負(fù)極短路.為避免發(fā)生這種情況,設(shè)置了由RC電路構(gòu)成的延時(shí)環(huán)節(jié).3、電源的設(shè)計(jì) 本設(shè)計(jì)的電源為車載電源。為保證電源工作可靠,單片機(jī)系統(tǒng)與動力伺服系統(tǒng)的電源采用了大功率、大容量的蓄電池;而傳感器的工作電源則采用了小巧輕便的干電池。五 顯示電路設(shè)計(jì)本設(shè)計(jì)中用兩片4位八段數(shù)碼管gem4561ae作顯示器,并具有雙重功能,在小車不行駛時(shí)其中一片顯示年月,另一片顯示時(shí).分. 當(dāng)小車行駛時(shí),分別顯示時(shí)間和行駛距離原理圖如圖1. 本設(shè)計(jì)中采用新型芯片EM78P458作為顯示驅(qū)動器,它的管腳如圖3.5 EM78P458管腳介紹所示,用單片機(jī)的并行口控制,一個(gè)數(shù)碼顯示電路用4個(gè)口線,用專用驅(qū)動芯片控制可以減少對CPU的利用時(shí)間,單片機(jī)將有更多的時(shí)間去完成其他功能.圖3.5 EM78P458的管腳該芯片共有20個(gè)管腳,管腳 LED1LED2LED3LED4分別接10k電阻和三極管后與4位八段數(shù)碼管5461中的a1a2a3a4四個(gè)數(shù)位選擇端相連,這四個(gè)數(shù)位選擇端用來產(chǎn)生LED選通信號。管腳abcdefgdp分別接680歐電阻后與四位八段數(shù)碼管5461中的abcdefgdp相連,分別控制各段碼和小數(shù)點(diǎn)。管腳d0d1d2d3接單片機(jī)并行口,通過對單片機(jī)對芯片進(jìn)行控制。管腳vss串上10k電阻后與vcc管腳相接后再接+5v電源,管腳gnd接地。該芯片所驅(qū)動的顯示電路如圖3.6 EM78P458集成顯示電路所示顯示驅(qū)動器支持動態(tài)顯示,其顯示功能如表4.2真值表所示,0000-1001顯示從0-9數(shù)字,1010是未進(jìn)位時(shí)是小數(shù)點(diǎn)清位,1011是進(jìn)位后加小數(shù)點(diǎn),1100-1111是八段共陰數(shù)碼管的位選。圖3.6 EM78P458集成顯示電路表4.2真值表D3D2D1D0顯示000000001100102001130100401015011060111710008100191010清小數(shù)點(diǎn)1011加小數(shù)點(diǎn)1100a1選通1101a2選通1110a3選通1111a4選通第四章 軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)說明在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作就是如何根據(jù)每個(gè)生產(chǎn)對象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。對于本系統(tǒng),軟件更為重要。在單片機(jī)控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個(gè)基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機(jī)按一定的方法進(jìn)行計(jì)算,然后再輸出,以便控制生產(chǎn)。為了完成上述任務(wù),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)質(zhì)上就是所完成一定功能,相對獨(dú)立的程序段,這種程序設(shè)計(jì)方法叫模塊程序設(shè)計(jì)法。模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:1、 單個(gè)模塊比起一個(gè)完整的程序易編寫及調(diào)試;2、 模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;3、 模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序定時(shí)子程序、避障子程序中斷子程序顯示子程序調(diào)速子程序算法子程序構(gòu)成。一 主程序設(shè)計(jì) 主程序清單如下:limiw equ 30h ;厘米位 miao equ 31h ;秒位 fenmi equ 32h ;分米位 fmiao equ 33h ;分秒位 meter equ 34h ;米位 fenzh equ 35h ;分位 point equ 36h ;小數(shù)點(diǎn)位 shimi equ 37h ;十米位 shifn equ 38h ;十分位 sudu equ 39h ;速度控制 jishk equ 3ah ;記時(shí)開始 zhond equ 3bh zhodu equ 3ch zhon equ 3eh maicho equ 3fh jinweb equ 40h bhcs equ 41h dpan equ 42h fenchu equ 43h fencun equ 44h pand equ 45h fenmc equ 51h org 0000h ajmp main org 000bh ajmp st0 org 001bh ajmp st1 org 0100h main: mov limiw,#00h mov miao,#00h mov fenmi,#00h mov fmiao,#00h mov meter,#00h mov fenzh,#00h mov point,#0bh mov shimi,#00h mov shifn,#00h mov jishk,#00h mov zhond,#00h mov zhodu,#00h mov zhon,#00h mov maicho,#00h mov jinweb,#03h mov bhcs,#00h mov sp,#6fh mov tmod,#21h mov th0,#3ch mov tl0,#0b0h mov th1,#9ch mov tl1,#9ch setb ea setb et0 setb et1 mov p1,#0aah acall xianshi軟件流程 如圖4.1流程圖所示:圖4.1 流程圖二 顯示子程序設(shè)計(jì)程序清單如下:xianshi: mov p1,#0aah mov p1,#0cch mov a,limiw swap a add a,miao mov p1,a nop nop mov p1,#0ddh mov a,fenmi swap a add a,fmiao mov p1,a nop nop mov p1,#0eeh mov a,#0b0h add a,point mov p1,a nop nop mov p1,#0eeh mov a,meter swap a add a,fenzh mov p1,a nop nop mov p1,#0ffh mov a,shimi swap a add a,shifn mov p1,a ret三 避障子程序設(shè)計(jì)程序清單如下: zhangai: jb 25h,stop jnb 22h,youzhuan jnb 23h,youzhuan jnb 24h,zuozhuan jnb 26h,zuozhuan ajmp jiancezuozhuan: clr p0.5 clr p0.4 mov sudu,#05h acall delaa setb p0.4 setb p0.5 mov sudu,#07h ajmp jianceyouzhuan: clr p0.6 clr p0.7 mov sudu,#05h acall delaa setb p0.7 setb p0.6 mov sudu,#07h ajmp jiance stop: acall delay jnb 25h,zhangai clr tr0 mov a,fenmi mov fenmc,a mov a,#02h add a,fenmc mov fenmc,a here: cjne a,fenmi,here clr tr1 setb p2.6 acall delaa setb p2.7 ajmp $四 軟件抗干擾技術(shù)提高玩具車智能控制的可靠性,僅靠硬件抗干擾是不夠的,需要進(jìn)一步借助于軟件抗干擾技術(shù)來克服某些干擾6。在單片機(jī)控制系統(tǒng)中,如能正確的采用軟件抗干擾技術(shù),與硬件干擾措施構(gòu)成雙道抗干擾防線,無疑為了將大大提高控制系統(tǒng)的可靠性。經(jīng)常采用的軟件抗干擾技術(shù)是數(shù)字濾波技術(shù)、開關(guān)量的軟件抗干擾技術(shù)、指令冗余技術(shù)、軟件陷阱技術(shù)等。1、數(shù)字濾波技術(shù):一般單片機(jī)應(yīng)用系統(tǒng)的模擬輸入信號中,均含有種種噪音和干擾,它們來自被測量本身、傳感器、外界干擾等。為了進(jìn)行準(zhǔn)確測量和控制,必須消除被測信號中的噪音和干擾。對于這類信號,采用積分時(shí)間等于20ms的整數(shù)倍的雙積分A/D轉(zhuǎn)換器,可有效的消除其影響。后者為隨機(jī)信號,它不是周期信號。對于隨機(jī)干擾,我們可以用數(shù)字濾波方法予以削弱或?yàn)V除。所謂數(shù)字濾波,就是通過一定的計(jì)算或判斷程序減少干擾在有用信號中的比重。故實(shí)質(zhì)上它是一種程序?yàn)V波。數(shù)字濾波克服了模擬濾波器的不足,它與模擬濾波器相比 ,有以下幾個(gè)優(yōu)點(diǎn):數(shù)字濾波是用程序?qū)崿F(xiàn)的,不需要增加硬設(shè)備,所以可靠性高,穩(wěn)定性好。數(shù)字濾波可以根據(jù)信號的不同,采用不同的濾波方法或?yàn)V波參數(shù),具有靈活、方便,功能強(qiáng)的特點(diǎn)。數(shù)字濾波可以對頻率很低的信號實(shí)現(xiàn)濾波,克服了模擬濾波器的缺陷。數(shù)字濾波器具有以上優(yōu)點(diǎn),所以數(shù)字濾波在微機(jī)應(yīng)用系統(tǒng)中得到了廣泛應(yīng)用。2、開關(guān)量的軟件抗干擾技術(shù):干擾信號多呈毛刺狀,作用時(shí)間短,利用這一點(diǎn),我們在采集某一開關(guān)量信號時(shí),可多次重復(fù)采集,直到連續(xù)兩次或兩次以上結(jié)果完全一致方為有效。若多次采樣后,信號總是變化不定,可停止采集,給出報(bào)警信號,由于開關(guān)量信號主要是來自各類開關(guān)型狀態(tài)傳感器,如限位開關(guān)、操作按鈕、電氣觸點(diǎn)等,對這些信號的采集不能用多次平均的方法,必須絕對一致才行。如果開關(guān)量信號超過8個(gè),可按8個(gè)一組進(jìn)行分組處理,也可定義多字節(jié)信息暫存區(qū),按類似方法處理。在滿足實(shí)時(shí)性要求的前提下,如果在各次采集數(shù)字信號之間接入一段延時(shí),效果會好一些,就能對抗較寬的干擾。輸出設(shè)備是電位控制型還是同步鎖存型,對干擾的敏感性相對較大。前者有良好的抗毛刺干擾能力,后者不耐干擾,當(dāng)鎖存線上出現(xiàn)干擾時(shí),它就會盲目鎖存當(dāng)前的數(shù)據(jù),也不管此時(shí)數(shù)據(jù)是否有效。輸出設(shè)備和慣性(響應(yīng)速度)與干擾的耐受能力也有很大關(guān)系。慣性大的輸出設(shè)備(如各類電磁執(zhí)行機(jī)構(gòu))對毛刺干擾有一定的耐受能力。慣性小的輸出設(shè)備(如通行口、顯示設(shè)備)耐受能力就小一些。在軟件上,最為有效的方法就是重復(fù)輸出同一個(gè)數(shù)據(jù)。只要有可能,其重復(fù)周期盡可能短些。外設(shè)設(shè)備接受到一個(gè)被干擾的錯(cuò)誤信息后,還來不及作出有效的反應(yīng),一個(gè)正確的信息又來了,就可及時(shí)防止錯(cuò)誤動作的產(chǎn)生。另外,各類數(shù)據(jù)鎖存器盡可能和CPU安裝在同一電路板上,使傳輸線上傳送的都是鎖存好的電位控制信號,對于重要的輸出設(shè)備,最好建立檢測通道,CPU可以檢測通道來確定輸出結(jié)果的正確性。3、指令冗余技術(shù):當(dāng)CPU受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序混亂。當(dāng)程序彈飛到某一字節(jié)指令上時(shí),便自動納入正軌。當(dāng)彈飛到某一雙字節(jié)指令上時(shí),有可能落到其操作數(shù)上,從而繼續(xù)出錯(cuò)。當(dāng)程序彈飛到三字節(jié)指令上時(shí),因它有兩個(gè)操作數(shù),繼續(xù)出錯(cuò)的機(jī)會就更大。因此,我們應(yīng)多采用單字節(jié)指令(NOP)或?qū)巫止?jié)指令重復(fù)書寫,這便是指令冗余。指令冗余無疑會降低系統(tǒng)的效率,但在絕大多數(shù)情況下,CPU還不至于忙到不能多執(zhí)行幾條指令的程度,故這
收藏