汽車(chē)噴油嘴清洗機(jī)畢業(yè)設(shè)計(jì)_第1頁(yè)
汽車(chē)噴油嘴清洗機(jī)畢業(yè)設(shè)計(jì)_第2頁(yè)
汽車(chē)噴油嘴清洗機(jī)畢業(yè)設(shè)計(jì)_第3頁(yè)
汽車(chē)噴油嘴清洗機(jī)畢業(yè)設(shè)計(jì)_第4頁(yè)
汽車(chē)噴油嘴清洗機(jī)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

汽車(chē)噴油嘴清洗機(jī)的設(shè)計(jì)沈陽(yáng)航空航天大學(xué)2010年6月摘要噴油嘴是發(fā)動(dòng)機(jī)的關(guān)鍵部件之一,它的工作狀況的好壞直接影響發(fā)動(dòng)機(jī)的性能。本文介紹的汽車(chē)噴油嘴清洗機(jī),是以AT89S52單片機(jī)為控制核心,由鍵盤(pán)設(shè)定清洗時(shí)間,調(diào)整清洗壓力,利用PWM調(diào)速方案實(shí)現(xiàn)電動(dòng)機(jī)轉(zhuǎn)速控制,并由油溫、油面高度傳感器實(shí)現(xiàn)清洗條件檢測(cè)的控制系統(tǒng)。該系統(tǒng)適用于多種汽車(chē)車(chē)型,具有體積小,便捷,操作簡(jiǎn)單,成本低廉的優(yōu)點(diǎn),相信一定會(huì)成為現(xiàn)行噴油嘴清洗機(jī)的替代產(chǎn)品并有較為理想的市場(chǎng)。關(guān)鍵詞噴油嘴;清洗機(jī);PWM調(diào)速ABSTRACTNOZZLEISAKEYCOMPONENTOFTHEENGINE,ITSWORKINGCONDITIONSHAVEADIRECTIMPACTENGINEPERFORMANCETHISARTICLEDESCRIBESTHEAUTOFUELINJECTORCLEANINGMACHINE,ISTOCONTROLTHEAT89S52MICROCONTROLLERCORE,SETTHECLEANINGTIMEFROMTHEKEYBOARD,ADJUSTTHECLEANINGPRESSUREANDSPEEDCONTROLSCHEMEUSINGPWMMOTORSPEEDCONTROLACHIEVEDBYTHEOILTEMPERATURE,OILFACEWASHCONDITIONSTOACHIEVEAHIGHDEGREEOFSENSORDETECTIONOFTHECONTROLSYSTEMTHESYSTEMISSUITABLEFORAVARIETYOFCARMODELS,ISSMALL,CONVENIENT,SIMPLE,LOWCOSTADVANTAGE,BELIEVETHEREWILLBETHEEXISTINGFUELINJECTORCLEANINGMACHINEANDAMOREDESIRABLEALTERNATIVETOTHEMARKETKEYWORDSNOZZLE;WASHINGMACHINEPWMSPEEDCONTROL目錄1緒論111課題研究背景112國(guó)外發(fā)展動(dòng)態(tài)12系統(tǒng)設(shè)計(jì)方案分析221電噴汽車(chē)噴油嘴清洗機(jī)的工作原理222電噴汽車(chē)噴油嘴清洗機(jī)的設(shè)計(jì)方案分析23系統(tǒng)總體設(shè)計(jì)431系統(tǒng)方案設(shè)計(jì)432PWM調(diào)速設(shè)計(jì)5321PWM波調(diào)速原理5322PWM調(diào)速與其他調(diào)速的比較64硬件電路設(shè)計(jì)841顯示電路設(shè)計(jì)8411數(shù)碼管顯示原理8412數(shù)碼管顯示電路1042PWM脈沖驅(qū)動(dòng)電機(jī)電路設(shè)計(jì)1143汽車(chē)噴油嘴清洗機(jī)器件分析12431AT89S52單片機(jī)的功能特點(diǎn)12432光電耦合器14433電容/電阻選擇1544系統(tǒng)原理圖155程序設(shè)計(jì)1851軟件的選擇1852主程序設(shè)計(jì)19521主程序流程圖19522初始化程序2053定時(shí)器的初始化21531定時(shí)/計(jì)數(shù)器工作原理21532定時(shí)器初始化2354部分程序分析24541讀鍵子程序分析24542用程序產(chǎn)生PMW脈沖調(diào)速子程序分析2655完整代碼276調(diào)試應(yīng)用2861軟件調(diào)試2862硬件調(diào)試2963實(shí)驗(yàn)室調(diào)試注意事項(xiàng)2964功能調(diào)試297結(jié)論308結(jié)束語(yǔ)31致謝32參考文獻(xiàn)33附錄PROTEL接線(xiàn)圖34附錄完整代碼35附錄器件清單481緒論11課題研究背景改革開(kāi)放以來(lái),隨著中國(guó)經(jīng)濟(jì)實(shí)力的增強(qiáng)及百姓收入的增多,小汽車(chē)越來(lái)越多地進(jìn)入了家庭,隨之而來(lái)的是維修保養(yǎng)問(wèn)題。噴油嘴是電噴發(fā)動(dòng)機(jī)關(guān)鍵部件之一,它工作狀況的好壞將直接影響發(fā)動(dòng)機(jī)的性能。然而不少車(chē)主根本不重視發(fā)動(dòng)機(jī)噴油嘴的清洗,或者認(rèn)為發(fā)動(dòng)機(jī)噴油嘴要隔很長(zhǎng)時(shí)間才需進(jìn)行清洗,殊不知噴油嘴堵塞會(huì)嚴(yán)重影響汽車(chē)性能?chē)娪妥於氯脑蚴前l(fā)動(dòng)機(jī)內(nèi)積碳沉積在噴油嘴上或者燃油中的雜質(zhì)等堵住了噴油嘴通路。汽車(chē)行駛一段時(shí)間后,燃油系統(tǒng)就會(huì)形成一定的沉積物。燃油系統(tǒng)沉積物有很大危害,如沉積物會(huì)堵塞噴油嘴的針閥、閥孔,影響電子噴射系統(tǒng)精密部件的工作性能,導(dǎo)致動(dòng)力性能下降;沉積物會(huì)在進(jìn)氣閥形成積碳,致使其關(guān)閉不嚴(yán),導(dǎo)致發(fā)動(dòng)機(jī)怠速不穩(wěn)、油耗增大并伴隨尾氣排放惡化;沉積物會(huì)在活塞頂和氣缸蓋等部位形成堅(jiān)硬的積碳,由于積碳的熱容量高而導(dǎo)熱性差,容易引起發(fā)動(dòng)機(jī)爆震等故障,此外還會(huì)縮短三元催化器的壽命。因此噴油嘴工作的好壞,對(duì)每臺(tái)發(fā)動(dòng)機(jī)的功率發(fā)揮起著根本性作用。12國(guó)外發(fā)展動(dòng)態(tài)當(dāng)今時(shí)代,清洗機(jī)技術(shù)已得到廣泛應(yīng)用,是信息社會(huì)的重要技術(shù)基礎(chǔ)。隨著科學(xué)技術(shù)的發(fā)展,產(chǎn)品應(yīng)用范圍的不斷擴(kuò)大,過(guò)去這類(lèi)保養(yǎng)通常要交汽修廠(chǎng)進(jìn)行,費(fèi)用昂貴。現(xiàn)市場(chǎng)上出現(xiàn)的“電噴汽車(chē)噴油嘴清洗機(jī)”,但這些電噴汽車(chē)噴油嘴清洗機(jī)都有如下缺陷(1)該機(jī)型大都是體積過(guò)大,運(yùn)輸,使用等都不方便,從而加大成本。(2)該機(jī)型不能實(shí)現(xiàn)自動(dòng)化,清洗時(shí)間,清洗溫度也只能人工模糊控制,易使清洗機(jī)與電動(dòng)機(jī)受損,且不易適合流水線(xiàn)工作。(3)并不具有如油面,油溫過(guò)高過(guò)低等的報(bào)警警示功能。(4)一種電噴汽車(chē)噴油嘴清洗機(jī)只能適用一種機(jī)型2系統(tǒng)設(shè)計(jì)方案分析21電噴汽車(chē)噴油嘴清洗機(jī)的工作原理結(jié)合專(zhuān)用的燃油系統(tǒng)清洗劑,不需拆裝發(fā)動(dòng)機(jī),只需用接頭與發(fā)動(dòng)機(jī)供油管及回油管連接,在發(fā)動(dòng)機(jī)正常運(yùn)轉(zhuǎn)狀況下,讓清洗混合液進(jìn)入燃油供給系統(tǒng),在30分鐘內(nèi)即可溶解發(fā)動(dòng)機(jī)供油管、噴油嘴針閥和燃燒室各組件的積碳、油泥、膠質(zhì)及漆類(lèi)污染物,經(jīng)由循環(huán)燃燒分解過(guò)程,從汽車(chē)排放系統(tǒng)排出,恢復(fù)該車(chē)的性能,使其啟動(dòng)順暢,怠速平穩(wěn),加油輕快,增加動(dòng)力,達(dá)到省油及降低空氣污染的效果。22電噴汽車(chē)噴油嘴清洗機(jī)的設(shè)計(jì)方案分析電噴汽車(chē)噴油嘴清洗機(jī)是通過(guò)控制電機(jī)運(yùn)行時(shí)間和速度,達(dá)到對(duì)不同汽車(chē)作出相應(yīng)調(diào)整,實(shí)現(xiàn)清洗目的設(shè)備。這樣一個(gè)系統(tǒng)我們可以用不同方法來(lái)實(shí)現(xiàn)。我們可以用小型PLC加入一個(gè)文本模塊來(lái)實(shí)現(xiàn),在程序設(shè)計(jì)方面很簡(jiǎn)單并且系統(tǒng)很穩(wěn)定、抗干擾能力強(qiáng),就一般的品牌的PLC,其輸入和輸出點(diǎn)總共50個(gè)點(diǎn)左右,外加一個(gè)對(duì)應(yīng)的文本模塊就要1000元左右。還可以根據(jù)設(shè)計(jì)要求用單片機(jī)來(lái)實(shí)現(xiàn),選擇AT89S52單片機(jī)能實(shí)現(xiàn)控制要求且在8051單片機(jī)中AT89S52已經(jīng)是低端的產(chǎn)品,在市面上比這個(gè)更低端的產(chǎn)品很少;一個(gè)AT89S52只要10元左右相當(dāng)便宜,所以才選擇AT89S52。當(dāng)然用AT89S52也不一定是最好的選擇,畢竟個(gè)人對(duì)單片機(jī)產(chǎn)品的了解及市場(chǎng)價(jià)位了解有限,所以選擇熟悉的產(chǎn)品;因?yàn)樵O(shè)計(jì)要求清洗時(shí)間為30分鐘左右,所以選擇兩位數(shù)碼管來(lái)作為顯示。在同類(lèi)顯示產(chǎn)品LCD也能做此設(shè)計(jì)顯示,但2位數(shù)碼管明顯比一個(gè)LCD便宜;因?yàn)橐獙?duì)不同機(jī)型做清洗,所以不僅在時(shí)間上會(huì)不同,在清洗的力度上也會(huì)不同,這就要求電機(jī)能夠變速。最直接的方法就是買(mǎi)一個(gè)變速電機(jī),但是運(yùn)用PWM脈沖調(diào)制的方法就能改變電機(jī)兩端的輸入電壓,即可以改變電機(jī)的轉(zhuǎn)速。用此方法只要一個(gè)直流電機(jī)就能夠?qū)崿F(xiàn)變速,這樣不僅可以節(jié)省成本,而且在調(diào)速范圍的靈活性也能優(yōu)于用現(xiàn)成的變速電機(jī);因?yàn)橐獙?duì)時(shí)間和壓力進(jìn)行設(shè)置所以必須要用外部輸入一般在單片機(jī)中都是用按鍵輸入。結(jié)合實(shí)際情況本設(shè)計(jì)用到時(shí)間、時(shí)間、壓力、壓力、開(kāi)始,這5個(gè)按鍵。所以不采用矩陣鍵盤(pán)只接入5個(gè)單獨(dú)的按鍵放入電路中;系統(tǒng)實(shí)現(xiàn)自動(dòng)化控制并不是盲目的按照自我想法進(jìn)行控制,而是要對(duì)外界的影響輸出的因素進(jìn)行檢測(cè)并控制的。這本設(shè)計(jì)中油面/油溫的高低是在清洗過(guò)程中對(duì)設(shè)備影響的重要因素,所以要根據(jù)汽車(chē)的油溫范圍和油面的高低情況選擇適當(dāng)?shù)膫鞲衅?。這本設(shè)計(jì)中在各方面的綜合考慮下選擇了(1)汽車(chē)油溫傳感器型號(hào)DA02QY品牌標(biāo)記GXP特點(diǎn)1,螺釘結(jié)構(gòu),傳感器用環(huán)氧樹(shù)脂封裝在螺釘內(nèi)2,溫度范圍30200適用范圍各類(lèi)汽車(chē)。(2)01110003、液面高度檢測(cè)傳感器,一種液面高度檢測(cè)傳感器,包括信號(hào)采集電路、遮光板、浮標(biāo)及遮光罩。紅外發(fā)射二極管發(fā)射的紅外光信號(hào)到液面浮標(biāo)反射面上,其反射信號(hào)由紅外接收二極管接收給信號(hào)采集電路,實(shí)現(xiàn)液面高度的檢測(cè)任務(wù)。該裝置結(jié)構(gòu)簡(jiǎn)單,可靠性高、反應(yīng)速度快,可在各種惡劣環(huán)境下工作,特別適用于汽車(chē)油面高度的檢測(cè)。3系統(tǒng)總體設(shè)計(jì)31系統(tǒng)方案設(shè)計(jì)圖31為電噴汽車(chē)噴油嘴清洗機(jī)的系統(tǒng)構(gòu)成方框圖,由單片機(jī)控制器、按鍵輸入、檢測(cè)輸入、數(shù)碼管顯示、電機(jī)PWM驅(qū)動(dòng)電路、輸出控制等電路組成。檢測(cè)輸入數(shù)碼管顯示器電動(dòng)機(jī)PWM驅(qū)動(dòng)按鍵輸入輸出控制單單片機(jī)控制器圖31系統(tǒng)構(gòu)成方框圖單片機(jī)AT89S52是整個(gè)系統(tǒng)的核心,負(fù)責(zé)控制檢測(cè)輸入,輸出顯示,電機(jī)調(diào)速。這里使用了ATMEL公司新型的AT89S52單片機(jī)。按鍵輸入電路負(fù)責(zé)對(duì)清洗過(guò)程一系列工作參數(shù)進(jìn)行設(shè)定輸入。數(shù)碼管顯示器在工作過(guò)程中顯示剩余的工作時(shí)間。電機(jī)調(diào)速利用了單片機(jī)內(nèi)部的定時(shí)器,配合軟件產(chǎn)生出脈寬調(diào)制波(PWM),再通過(guò)功率場(chǎng)效應(yīng)管去驅(qū)動(dòng)低壓直流電機(jī),具有效率高、能耗低、轉(zhuǎn)速連續(xù)可調(diào)等特點(diǎn)。輸出控制電路在油溫過(guò)高或油面過(guò)低的情況下,切斷高壓汽油泵電機(jī)的供電,防止發(fā)生事故。電噴汽車(chē)噴油嘴清洗機(jī)的工作電源取自汽車(chē)上的12V蓄電池,經(jīng)降壓穩(wěn)壓后得到5V的穩(wěn)定工作電壓。32PWM調(diào)速設(shè)計(jì)321PWM波調(diào)速原理大家可能做過(guò)這樣的小實(shí)驗(yàn),一臺(tái)額定電壓為12V的直流小電機(jī),使用一臺(tái)可調(diào)穩(wěn)壓電源供電。當(dāng)電壓為12V時(shí),電機(jī)轉(zhuǎn)得很快;降低到9V時(shí)轉(zhuǎn)速慢了很多;當(dāng)降到6V時(shí)轉(zhuǎn)速更慢了。因?yàn)殡妷航档秃螅姍C(jī)獲得的輸入功率小了,當(dāng)然轉(zhuǎn)速就慢了。但單片機(jī)輸出的是數(shù)字脈沖信號(hào),如何控制電機(jī)調(diào)速這里,我們就設(shè)法控制單片機(jī)輸出脈沖的寬度(即控制脈沖的占空比),使電機(jī)得到的平均輸入功率發(fā)生變化,就能控制電機(jī)調(diào)速了。圖32中,輸出的為50的脈沖波,其電壓平均值(如圖中虛線(xiàn)所示)為6V,這樣電機(jī)的速度就降低了。而圖33中,輸出的為接近100的脈沖波,其電壓平均值約為12V,這時(shí)電機(jī)的轉(zhuǎn)速就接近額定轉(zhuǎn)速。T/SV61250100150圖32輸出的為50的脈沖波T/SV1250100150圖33輸出的為100的脈沖波322PWM調(diào)速與其他調(diào)速的比較(1)電機(jī)調(diào)速控制方案分析方案一采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)整電動(dòng)機(jī)的分壓,從而達(dá)到調(diào)速的目的。但是電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般電動(dòng)機(jī)的電阻很小,但電流很大;分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。方案二采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)電機(jī)的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。方案三采用由達(dá)林頓管組成的H型PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開(kāi)關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。鑒于方案三調(diào)速特性?xún)?yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,因此本設(shè)計(jì)采用方案三原理設(shè)計(jì)了PWM調(diào)速方案。(2)控制工作方式比較方案一雙極性工作制。雙極性工作制是在一個(gè)脈沖周期內(nèi),單片機(jī)兩控制口各輸出一個(gè)控制信號(hào),兩信號(hào)高低電平相反,兩信號(hào)的高電平時(shí)差決定電動(dòng)機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。方案二單極性工作制。單極性工作制是單片機(jī)控制口一端置低電平,另一端輸出PWM信號(hào),兩口的輸出切換和對(duì)PWM的占空比調(diào)節(jié)決定電動(dòng)機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。本設(shè)計(jì)采用單極性工作制。4硬件電路設(shè)計(jì)41顯示電路設(shè)計(jì)411數(shù)碼管顯示原理LED顯示器由七段發(fā)光二極管組成,排列成8字形狀,因此也成為七段LED顯示器,器排列形狀如下圖所示圖41七段發(fā)光數(shù)碼管為了顯示數(shù)字或符號(hào),要為L(zhǎng)ED顯示器提供代碼,即字形代碼。七段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供的字形代碼的長(zhǎng)度正好是一個(gè)字節(jié)。數(shù)碼管分為共陽(yáng)極和共陰極兩種,如圖42所示左為共陰極右為共陽(yáng)極。圖42共陰/共陽(yáng)極數(shù)碼管結(jié)構(gòu)這兩種不同極性數(shù)碼管的接法不一樣所以他們代碼也就不同,數(shù)字09的共陰極和共陽(yáng)極字形代碼如下表表4109七段數(shù)碼管共陰級(jí)字形代碼顯示字型GFEDCBA段碼001111113FH1000011006H210110115BH310011114FH4110011066H511011016DH611111017DH7000011107H811111117FH911011116FHABCDEFGDPABCDEFGDP5V表4209七段數(shù)碼管共陽(yáng)極字形代碼顯示字型GFEDCBA段碼0100000040H1111100179H2010010024H3011000030H4001100119H5001001012H6000001002H7111100078H8000000000H9001000010H數(shù)碼管選擇方面其中一個(gè)其實(shí)就可以,但是介于市面上共陰極數(shù)碼管比較常見(jiàn),所以選擇共陰極數(shù)碼管。412數(shù)碼管顯示電路43數(shù)碼管顯示實(shí)現(xiàn)電路設(shè)計(jì)以上Q1Q7是接到74LS373鎖存器輸出端上,因?yàn)槭遣捎脛?dòng)態(tài)顯示所以是把兩個(gè)數(shù)碼管段選并接在一起。在兩個(gè)數(shù)碼管的位選端各加入一個(gè)三極管(NPN),在這三極管的作用是起電流放大和開(kāi)關(guān)的雙重作用。在三極管的基極串入電阻(10K),電阻的選擇電阻單片機(jī)輸出電壓三極管放大倍數(shù)數(shù)碼管最大電流,當(dāng)然還有一個(gè)最小電阻標(biāo)準(zhǔn)亮度可以就行。42PWM脈沖驅(qū)動(dòng)電機(jī)電路設(shè)計(jì)圖44為PWM脈沖驅(qū)動(dòng)電機(jī)的實(shí)現(xiàn)電路。AT89S52單片機(jī)的P36腳輸出占空比為60100的調(diào)寬脈沖,經(jīng)光電隔離后驅(qū)動(dòng)功率場(chǎng)效應(yīng)管,這樣,電機(jī)上獲得的調(diào)寬脈沖波的占空比也為60100,幅度也為6V以上,電機(jī)具有機(jī)械慣性的特點(diǎn),因此運(yùn)行時(shí)不會(huì)產(chǎn)生抖動(dòng)。圖45為輸出60脈沖時(shí)電機(jī)得到的直流電壓平均值。圖44為PWM脈沖驅(qū)動(dòng)電機(jī)的實(shí)現(xiàn)電路為控制大批量生產(chǎn)的成本,使用了低價(jià)位的AT89S52單片機(jī),但AT89S52內(nèi)部沒(méi)有集成PWM部件。這里我們利用了內(nèi)部定時(shí)器,與軟件配合產(chǎn)生出調(diào)寬脈沖波。在以上電路中為了使單片機(jī)產(chǎn)生的PWM脈沖能夠不受干擾,采用了直流5V光電耦合器,同時(shí)加入具有電流放大作用的場(chǎng)效應(yīng)管;加入的電阻都是使其電流值在器件的額定范圍內(nèi),而在電機(jī)的兩端并聯(lián)反向二極管這有續(xù)流的作用。在繼電器斷開(kāi)開(kāi)關(guān)時(shí)電機(jī)中還有剩余電流,如果不及時(shí)排除對(duì)電機(jī)的壽命會(huì)產(chǎn)生影響。在電機(jī)兩端串入一個(gè)電阻和電容是為了穩(wěn)定電機(jī)兩端的電壓。T/SV1250100150圖45輸出60脈沖時(shí)電機(jī)得到的直流電壓平均值43汽車(chē)噴油嘴清洗機(jī)器件分析431AT89S52單片機(jī)的功能特點(diǎn)AT89S52是一個(gè)低功耗,高性能CMOS8位單片機(jī)是AT89S系列的增強(qiáng)產(chǎn)品,片內(nèi)含8KBYTESISPINSYSTEMPROGRAMMABLE的FLASH只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFLASH存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。AT89S52具有如下特點(diǎn)40個(gè)引腳,8KBYTESFLASH片內(nèi)程序存儲(chǔ)器,256BYTES的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,6個(gè)中斷矢量2級(jí)優(yōu)先權(quán)的中斷系統(tǒng),3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52設(shè)計(jì)和配置了空閑和掉電兩種低功耗方式運(yùn)行??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性兼容MCS51指令系統(tǒng);32個(gè)雙向I/O口;3個(gè)16位可編程定時(shí)/計(jì)數(shù)器;全雙工UART串行通信口;具有8個(gè)中斷源、6個(gè)中斷矢量、2級(jí)優(yōu)先權(quán)的中斷系統(tǒng);中斷喚醒省電模式;看門(mén)狗(WDT)電路;靈活的ISP字節(jié)和分頁(yè)編程;可在ISP編程锝8KB片內(nèi)FLASH存儲(chǔ)器;4555V工作電壓;時(shí)鐘頻率033MHZ;雙數(shù)據(jù)寄存器指針;低功耗空閑和掉電模式;3級(jí)程序鎖存位;具有斷電標(biāo)志位功能;256X8BIT內(nèi)部RAM;圖46AT89S52引腳排列432光電耦合器光電耦合器是把發(fā)光器件與光敏接收器件集成在一起,或用一根光導(dǎo)纖維把兩部分連接起來(lái)以實(shí)現(xiàn)信號(hào)傳輸作用的器件。通常發(fā)光器件采用發(fā)光管LED,光敏接收器件則采用光敏管等。當(dāng)信號(hào)加在光電耦合器的輸入端時(shí),發(fā)光管發(fā)光,光敏管受光線(xiàn)照射而導(dǎo)通,輸出相應(yīng)的信號(hào),實(shí)現(xiàn)了光電的傳輸和轉(zhuǎn)換。其主要特點(diǎn)是以光為媒介實(shí)現(xiàn)信號(hào)的傳輸,使輸入與輸出間在電氣上完全隔離。如圖47所示。如圖47光電耦合器433電容/電阻選擇1電阻值的選擇在硬件的設(shè)計(jì)中電阻的選擇無(wú)非是改善電流/電壓,使其他的器件在它的額定電壓/電流內(nèi)運(yùn)作。選擇電阻的值就直接根據(jù)RU/I公式。電流的大小是根據(jù)該電路中,額定電流范圍最小的器件來(lái)選擇電阻。根據(jù)公式I最小則電阻的阻值就是最大,這樣所有串入該電路的器件才能得到保護(hù)。在光電耦合器使用的是12V電壓,而光電耦合器允許電壓小于12V,電流值只有幾毫安所以接入1K電阻,當(dāng)然也要考慮光電耦合器最低導(dǎo)通電壓和電流。在數(shù)碼管共陰極加入的放大三極管,基極加入的電阻就是改善電流的作用。根據(jù)流入的電壓、三極管的放大倍數(shù)(169)和共陰極數(shù)碼管額定電流(200MA左右),可以確定電阻的大小。我們選擇了10K。2電容的選擇在硬件設(shè)計(jì)中,電容雖然用得并不多但都有意義。在單片機(jī)的晶振電路中,在晶振的兩端加上兩個(gè)30PF左右的電容,是幫助晶振起振和穩(wěn)定波形的作用。由于在實(shí)際中晶振并不能輸出正弦波形,而是類(lèi)似三角波但這樣的波形是達(dá)不到要求的,根據(jù)電容穩(wěn)定電壓所以加入電容,這樣晶振兩端才有穩(wěn)定的電壓,才能輸出穩(wěn)定的波形(正弦波)。在復(fù)位電路中,運(yùn)用電容的充電和放電時(shí)的波形,選擇適當(dāng)?shù)碾娙菽苁箯?fù)位時(shí)間達(dá)到設(shè)計(jì)的要求。44系統(tǒng)原理圖使用PROTEUS軟件繪制的電噴汽車(chē)噴油嘴清洗機(jī)電路原理圖見(jiàn)圖48,電噴汽車(chē)噴油嘴清洗機(jī)原理圖共設(shè)有5個(gè)輸入按鍵、一個(gè)油面?zhèn)鞲衅骱鸵粋€(gè)油溫傳感器。兩位數(shù)碼管顯示器用于顯示輸入時(shí)間、指示剩余工作時(shí)間及報(bào)警狀態(tài)顯示。蜂鳴器作報(bào)警提醒,繼電器用于控制汽油泵電機(jī)的通斷。XTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P1012P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47T89S51AT89C51PROGRAM吳斌HEXXCRYSTALC330PFC430PFVI1VO3GND2IC27805T1IRF73088R2510C901UR2347KR2447KR2470GNDVCC110UFR1410KR110K210KR310K410KGND65412U1OPTCOUPLERNP65412U2OPTCOUPLERNPR61KR81KGNDGNDLS1PEAKERR10305VC210UFD11N404C1384NPR122KR1347KGND65412U3OPTCOUPLERNPC701UC601UC510UC810UGND5V12V12V65412U4OPTCOUPLERNP5V12VGNDD21N404RL1G2RL1ACFDC12R710KR91KR1470圖48電噴汽車(chē)噴油嘴清洗機(jī)電路圖按啟動(dòng)/停止鍵,兩位數(shù)碼管顯示器顯示“00”,“電噴汽車(chē)噴油嘴清洗機(jī)”處于待機(jī)狀態(tài)。此時(shí)按時(shí)間、時(shí)間鍵就能選擇工作時(shí)間,時(shí)間的選擇范圍為0060分鐘。選好時(shí)間,再延時(shí)5秒P36輸出低電平,繼電器吸合工作,汽油泵運(yùn)行在額定電壓12V狀態(tài),數(shù)碼管同時(shí)顯示剩余的工作時(shí)間。按壓力、壓力鍵即使P36輸出的脈沖占空比發(fā)生變化,即改變汽油泵轉(zhuǎn)速來(lái)調(diào)整清洗壓力。當(dāng)剩余工作時(shí)間小于4分鐘時(shí),蜂鳴器開(kāi)始鳴叫。定時(shí)結(jié)束時(shí),繼電器釋放,汽油泵停止工作,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。若5分鐘內(nèi)無(wú)任何操作則數(shù)碼管熄滅,自動(dòng)關(guān)機(jī)。在作業(yè)過(guò)程中,若油面過(guò)低時(shí),油面?zhèn)鞲衅鏖_(kāi)關(guān)(SOIL)閉合(實(shí)驗(yàn)時(shí)由開(kāi)關(guān)代替),此信號(hào)經(jīng)P15送入CPU,經(jīng)運(yùn)算處理,P37輸出高電平,汽油泵自動(dòng)斷電,數(shù)碼管G段顯示“”;若油溫過(guò)高時(shí),溫度繼電器開(kāi)關(guān)(STEM)閉合(實(shí)驗(yàn)時(shí)由開(kāi)關(guān)代替),經(jīng)P16送入CPU,P37輸出高電平,汽油泵也自動(dòng)斷電,數(shù)碼管G段顯示“”。用PROTEL繪制的系統(tǒng)接線(xiàn)原理圖見(jiàn)附錄。5程序設(shè)計(jì)51軟件的選擇考慮到用匯編編程的復(fù)雜我選擇用C語(yǔ)言來(lái)開(kāi)發(fā)單片機(jī)系統(tǒng)軟件,它最大的好處是編寫(xiě)代碼效率高、軟件調(diào)試直觀(guān)、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等等,因此C語(yǔ)言編程在單片機(jī)系統(tǒng)設(shè)計(jì)中已得到越來(lái)越廣泛的運(yùn)用。但在單片機(jī)上用C語(yǔ)言寫(xiě)程序和在PC機(jī)上寫(xiě)程序絕對(duì)不能簡(jiǎn)單等同?,F(xiàn)在的PC機(jī)資源十分豐富,運(yùn)算能力強(qiáng)大。寫(xiě)單片機(jī)的C程序最關(guān)鍵的一點(diǎn)是單片機(jī)內(nèi)的資源非常有限,控制的實(shí)時(shí)性要求又很高,因此,如果沒(méi)有對(duì)單片機(jī)體系結(jié)構(gòu)和硬件資源作詳盡的了解,是無(wú)法進(jìn)行對(duì)單片機(jī)的編程的。隨著國(guó)內(nèi)單片機(jī)開(kāi)發(fā)工具研制水平的提高,現(xiàn)在的單片機(jī)仿真器普遍支持C語(yǔ)言的調(diào)試,為單片機(jī)編程使用C語(yǔ)言提供了便利的條件。C語(yǔ)言的模塊化程序結(jié)構(gòu)特點(diǎn),可以使程序模塊大家共享,不斷豐富;C語(yǔ)言的可讀性的特點(diǎn),更容易使我們借鑒前人的開(kāi)發(fā)經(jīng)驗(yàn),提高自己的軟件設(shè)計(jì)水平。采用C語(yǔ)言,可針對(duì)單片機(jī)常用的接口芯片編制通用的驅(qū)動(dòng)函數(shù);可針對(duì)常用的功能模塊、算法等編制相應(yīng)的函數(shù)。這些函數(shù)經(jīng)過(guò)歸納整理可形成專(zhuān)家?guī)旌瘮?shù),供廣大的單片機(jī)愛(ài)好者使用和完善。這樣可大大提高國(guó)內(nèi)單片機(jī)軟件設(shè)計(jì)水平。國(guó)內(nèi)嵌入式系統(tǒng)的程序設(shè)計(jì)也采用C語(yǔ)言,可以借鑒其編程經(jīng)驗(yàn)進(jìn)行交流,以達(dá)到和國(guó)際接軌的目的。過(guò)去長(zhǎng)時(shí)間困擾人們的“高級(jí)語(yǔ)言產(chǎn)生代碼太長(zhǎng),運(yùn)行速度太慢,不適合單片機(jī)使用”的致命缺點(diǎn)已被大幅度的克服。目前,8051上C語(yǔ)言的代碼長(zhǎng)度,在未加入人工優(yōu)化的條件下,已經(jīng)做到了最優(yōu)匯編程序水平的1215倍,可以說(shuō),比得上中等程序員的水平。只要有好的仿真器的幫助,用人工優(yōu)化關(guān)鍵代碼就是簡(jiǎn)單的事了。如果談到開(kāi)發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)性和程序固定性等方面,則C語(yǔ)言的完美絕非匯編語(yǔ)言編程所能比擬的。52主程序設(shè)計(jì)521主程序流程圖主程序的工作過(guò)程為先進(jìn)行初始化工作,然后判斷是否啟動(dòng)若啟動(dòng)則讀取鍵值信號(hào)或傳感器輸入信號(hào),進(jìn)行對(duì)應(yīng)處理。否則進(jìn)入工作狀態(tài)。流程圖如51啟動(dòng)根據(jù)鍵值散轉(zhuǎn)油溫高時(shí)間時(shí)間壓力壓力油面低處理關(guān)機(jī)處理正常工作延時(shí)5S初始化開(kāi)始有鍵按入YNYNYYYN已延時(shí)5S圖51主程序狀態(tài)流程圖522初始化程序程序設(shè)計(jì)時(shí)需設(shè)立一系列的變量、標(biāo)志,具體如下UINTDEDA/1MS計(jì)時(shí)單元UCHARSEC/計(jì)時(shí)秒CHARSET_MIN/設(shè)定分UCHARMIN_5M/5分鐘計(jì)數(shù)器UCHARVAL/中間變量UCHARPWM_VAL/調(diào)寬脈沖變量值CHARPUSH_VAL/壓力變化值SFRWDT0XA6/定義看門(mén)狗定時(shí)器SBITPUSHDEC_KEYP14/壓力鍵SBITPUSHINC_KEYP13/壓力鍵SBITTIMEDEC_KEYP12/時(shí)間鍵SBITTIMEINC_KEYP11/時(shí)間鍵SBITBUZZP35/驅(qū)動(dòng)蜂鳴器端SBITOUTP36/調(diào)寬脈沖輸出端SBITRELAYP37/驅(qū)動(dòng)繼電器端UCHARDIS_SEL/顯示內(nèi)容散轉(zhuǎn)標(biāo)志BITOVER_5M/5分鐘溢出標(biāo)志BITFLAG_5M/5分鐘標(biāo)志BITFLAG_5S/5秒鐘標(biāo)志BITSTART/啟動(dòng)標(biāo)志BITDIS_FLAG/顯示標(biāo)志BITKEY_FLAG/按下鍵標(biāo)志BITBUZZ_SOUND/蜂鳴器聲響標(biāo)志BITY/中間變量BITOUT_FLAG/PWM輸出標(biāo)志/初始化/VOIDINITEX01/外部中斷0響應(yīng)控制位EX11IT01/選擇下降沿觸發(fā)方式IT11初始量變量的定義是用到整個(gè)程序當(dāng)中的,所以并不是一開(kāi)始就能把所有用到的變量都初始化有些變量是在編程的過(guò)程中要用才將其初始化的特別是一些中間的變量。在初始化中時(shí)對(duì)外部中斷0和1開(kāi)中斷并選擇下降沿觸發(fā)的方式,外部中斷0是判斷開(kāi)始按鍵是否有值鍵入(P32)。關(guān)于定時(shí)器的初始化見(jiàn)5353定時(shí)器的初始化531定時(shí)/計(jì)數(shù)器工作原理加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來(lái);一個(gè)是T0或T1引腳輸入的外部脈沖源。每來(lái)一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿(mǎn)??梢?jiàn),由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。設(shè)置為定時(shí)器模式時(shí),加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期TCY就是定時(shí)時(shí)間T。設(shè)置為計(jì)數(shù)器模式時(shí),外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從1到0的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)晶振頻率為12MHZ時(shí),最高計(jì)數(shù)頻率不超過(guò)1/2MHZ,即計(jì)數(shù)脈沖的周期要大于2S。80C51單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動(dòng)和中斷申請(qǐng)。(1)工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下表表51寄存器TMOD控制字位76543210字節(jié)地址89HGAMEM1M0GAMEM1M0TMODGATE門(mén)控位。GATE0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)多了一條件。定時(shí)/計(jì)數(shù)模式選擇位。0為定時(shí)模式;1為計(jì)數(shù)模式。M1M0工作方式設(shè)置位,定時(shí)/計(jì)數(shù)器有四種。表52定時(shí)/計(jì)數(shù)器工作方式設(shè)置表M1M0工作方式說(shuō)明00方式013位定時(shí)/計(jì)數(shù)器01方式116位定時(shí)/計(jì)數(shù)器10方式28位自動(dòng)重裝定時(shí)/計(jì)數(shù)器11方式3T0分成兩個(gè)獨(dú)立的8位定時(shí)/計(jì)數(shù)器T1此方式停止計(jì)數(shù)工作方式,由M1M0進(jìn)行設(shè)置。在本課設(shè)中選擇定時(shí)器0、1都是選擇方式1則TMOD0X11(2)控制寄存器TCONTCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下表53TCON控制字位76543210字節(jié)地址88HTF1TF0TR1TR0TCONTF1(TCON7)T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。T1工作時(shí),CPU可隨時(shí)查詢(xún)TF1的狀態(tài)。所以,TF1可用作查詢(xún)測(cè)試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON6)T1運(yùn)行控制位。TR1置1時(shí),T1開(kāi)始工作;TR1置0時(shí),T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。TF0(TCON5)T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類(lèi)同。TR0(TCON4)T0運(yùn)行控制位,其功能與TR1類(lèi)同。其次進(jìn)行定時(shí)器初值的計(jì)算。對(duì)于工作在方式1下的定時(shí)器計(jì)數(shù)總值是65536,設(shè)計(jì)數(shù)單位值為A,TH065536A/10,TL065536A10。以上程序是用定時(shí)器0做1MS的定時(shí)初值TH0(1000/256)(655361000)/256,TL0的值也是同理。再則是開(kāi)中斷。EA1開(kāi)總中斷,ET01開(kāi)定時(shí)器0允許中斷響應(yīng),TR01開(kāi)定時(shí)器0控制運(yùn)行位。滿(mǎn)足以上的條件時(shí)才能對(duì)定時(shí)器正常使用。在本程序中用到定時(shí)器0和定時(shí)器1兩個(gè)定時(shí)初值時(shí)間設(shè)置,時(shí)間差距很大很可能會(huì)出現(xiàn)初值小的定時(shí)器不能得到響應(yīng)。這主要的原因是初值差距大,可能在初值小的定時(shí)器溢出標(biāo)志位置1時(shí),同時(shí)另一個(gè)定時(shí)器也可能溢出,這時(shí)如果初值大定時(shí)器優(yōu)先級(jí)比另一個(gè)大的話(huà),那就會(huì)出現(xiàn)一個(gè)定時(shí)器不能得到響應(yīng)。所以在有幾個(gè)定時(shí)器的時(shí)候一定要注意初值的設(shè)定。具體的定時(shí)器初始化設(shè)計(jì)見(jiàn)532。532定時(shí)器初始化/定時(shí)器T0初始化/VOIDINIT_TIMER0TMOD0X11TH01000/256/1MS初值TL01000256TR00ET01EA1/定時(shí)器T1初始化/定時(shí)器T1初始化/VOIDINIT_TIMER1TH150000/256/5MS初值TL150000256TR11ET11EA154部分程序分析541讀鍵子程序分析VOIDKEYVOIDDELAY10WHILEP10XFFSWITCHP1CASE0XFDTIME_INCBREAKCASE0XFBTIME_DECBREAKCASE0XF7PUSH_INCBREAKCASE0XEFPUSH_DECBREAKCASE0XDFOIL_LOWBREAKCASE0XBFTEMP_OVERBREAKCASE0X9FOTHERBREAKDEFAULTBREAKDELAY500以上程序通過(guò)應(yīng)用”SWITCHCASE”語(yǔ)句判斷鍵入值,并跳入相應(yīng)的子程序處理。”SWITCHCASE”語(yǔ)句是判斷SWITCH括號(hào)中的數(shù)據(jù)并把該數(shù)據(jù)的各種情況寫(xiě)入CASE判斷條件中,當(dāng)和其中的情況對(duì)應(yīng)上時(shí)就跳出該語(yǔ)句轉(zhuǎn)入對(duì)應(yīng)的情況中;在進(jìn)入程序開(kāi)始有調(diào)用延時(shí)程序這主要是為了消抖,因?yàn)樵趯?shí)際按鍵時(shí)并不是按下鍵就直接變?yōu)楦呋虻?,而是出現(xiàn)不穩(wěn)定的波形如圖62,因而要在確定有鍵按下時(shí)先進(jìn)行延時(shí),跳過(guò)按下抖動(dòng)這段時(shí)間相應(yīng)在釋放時(shí)也加入延時(shí)跳過(guò)釋放抖動(dòng)。按下抖動(dòng)釋放抖動(dòng)實(shí)際波形理想波形穩(wěn)定閉合圖52按鍵輸出波形542用程序產(chǎn)生PMW脈沖調(diào)速子程序分析VOIDPWM_OUTVOIDIFOUT_FLAG/如果輸出標(biāo)志有效IFPWM_VAL50PWM_VAL0ELSEOUTOFF主要通過(guò)對(duì)變量PWM_VAL調(diào)寬脈沖輸出端和一些數(shù)做比較,在PWM_VAL大于此數(shù)的時(shí)候輸出ON,小于的時(shí)候輸出OFF。這樣就產(chǎn)生PWM脈沖波形并且能夠自動(dòng)調(diào)節(jié)脈寬的大小,在此設(shè)計(jì)中就是調(diào)節(jié)電壓的大小。643顯示子程序分析VOIDNORMAL_DISVOIDIFDIS_FLAGP2DATA_7SEGSET_MIN/10P3_00P3_11DIS_FLAG0ELSEP2DATA_7SEGSET_MIN10P3_01P3_10DIS_FLAG1以上為正常顯示子程序,在硬件設(shè)計(jì)中時(shí)把所有的數(shù)碼管段選端并聯(lián)端串在一起所以是采用動(dòng)態(tài)顯示。動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線(xiàn)并聯(lián)在一起,由位選線(xiàn)控制是哪一位數(shù)碼管有效。這樣一來(lái),就沒(méi)有必要每一位數(shù)碼管配一個(gè)鎖存器,從而大大地簡(jiǎn)化了硬件電路。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。要顯示的值放在SET_MIN中SET_MIN/10是對(duì)寄存器的數(shù)求整因?yàn)槭菍?duì)10求整而且是兩位數(shù)的顯示,所以得到的值為就是十位上的數(shù)字,這時(shí)只開(kāi)十位上的位選;同理SET_MIN10是對(duì)寄存器中的數(shù)對(duì)10進(jìn)行求余放在個(gè)位上只開(kāi)個(gè)位上的位選。根據(jù)數(shù)碼管顯示的原理必須有段選和位選兩者同時(shí)選通才能顯示要顯示的數(shù)值。本設(shè)計(jì)中用了動(dòng)態(tài)顯示所以直接可以送數(shù)據(jù),不存在段選的問(wèn)題。直接位選選通要顯示那位。55完整代碼見(jiàn)附錄26調(diào)試應(yīng)用61軟件調(diào)試本次設(shè)計(jì)是用KEIL51UV3軟件調(diào)試,其主要優(yōu)點(diǎn)在于能把編寫(xiě)的程序轉(zhuǎn)換成多種格式文件,還有強(qiáng)大調(diào)試功能。剛接觸時(shí)對(duì)這個(gè)軟件及C語(yǔ)言編程一點(diǎn)都不懂,對(duì)該軟件操作還是學(xué)得比較輕松,最困難的還是用C語(yǔ)言編程。在有關(guān)書(shū)籍的指導(dǎo)下開(kāi)始理解并編寫(xiě)一些小程序例如延時(shí)子程序、二極管亮滅、數(shù)碼管顯示、按鍵顯示等等,這樣開(kāi)始才對(duì)本次設(shè)計(jì)有一些信心。設(shè)計(jì)要求有時(shí)間的加減和電壓的加減,第一步編寫(xiě)了一個(gè)按鍵(時(shí)間)時(shí),完成對(duì)電機(jī)轉(zhuǎn)動(dòng)的時(shí)間的倒計(jì)時(shí),雖然還是有些吃力,但是至少一步步按照邏輯關(guān)系編寫(xiě)出來(lái)了。在這個(gè)程序調(diào)試成功后,另外幾個(gè)按鍵的處理程序就很快編寫(xiě)出來(lái)了。把設(shè)計(jì)中用到的一些關(guān)鍵處理程序編成功后,就可以整體規(guī)劃了。首先把單片機(jī)的輸入輸出口分配好,在編程時(shí)用到那個(gè)點(diǎn)就定義那個(gè)點(diǎn)。在每編寫(xiě)一個(gè)程序時(shí)要有一個(gè)流程圖,要不就會(huì)容易亂。用C語(yǔ)言編程當(dāng)然也有它的好處程序可移植性很強(qiáng),運(yùn)用這個(gè)特點(diǎn)有很多程序都不用自己重頭寫(xiě),只要稍作改動(dòng)。比如用到按鍵輸入,就移植一個(gè)讀鍵子程序,把單片機(jī)上的按鍵輸入點(diǎn)編碼和按鍵對(duì)應(yīng),運(yùn)用C語(yǔ)言語(yǔ)句能找出相應(yīng)的點(diǎn)。有顯示就移植一個(gè)動(dòng)態(tài)顯示子程序,由于用到的只是兩位數(shù)碼管顯示所以只要把移植過(guò)來(lái)的程序改為兩位顯示。注意在編寫(xiě)程序的時(shí)候不要把程序都集中在主線(xiàn)程中,這樣會(huì)給程序的調(diào)試和分析帶來(lái)很多的麻煩(雖然主程序放上幾千行程序沒(méi)有問(wèn)題),可以把它們模塊化成子程序,要調(diào)用的時(shí)候只要找到相應(yīng)的頭文件。程序就是這樣一步步的寫(xiě)出來(lái)的,能把寫(xiě)好的程序能調(diào)試成功這才是關(guān)鍵,也是自我想法實(shí)現(xiàn)的一個(gè)過(guò)程。到調(diào)程序的時(shí)候遇到問(wèn)題的很正常的,所以必須要有一個(gè)好的心態(tài)并保持冷靜和耐心,發(fā)現(xiàn)問(wèn)題并解決問(wèn)題是一個(gè)非常享受的過(guò)程。當(dāng)然在困難的時(shí)候同學(xué)和老師的幫助是很必要的,程序就這樣在調(diào)試中改進(jìn)。雖然最終實(shí)現(xiàn)了其中的部分功能,但還是很高興。因?yàn)檫@個(gè)過(guò)程本來(lái)就是一個(gè)自學(xué)與自我實(shí)現(xiàn)的過(guò)程,在有限的時(shí)間內(nèi)把一個(gè)陌生的事物達(dá)到某個(gè)效果,這不就是在今后的工作中的情形嘛62硬件調(diào)試在仿真實(shí)現(xiàn)后就可以硬件焊接,焊接時(shí)是有先后順序的,這必須和調(diào)試聯(lián)系在一起,先把按鍵、單片機(jī)、數(shù)碼管焊接起來(lái)這樣就可以先調(diào)試了。上電按下開(kāi)始按鈕后就出現(xiàn)問(wèn)題,比如共陰極數(shù)碼管在公共端加入三極管放大,上電后應(yīng)該是兩個(gè)數(shù)碼管全亮的但是卻出現(xiàn)亂碼,這肯定是數(shù)碼管的接線(xiàn)有問(wèn)題。可以先用萬(wàn)用表調(diào)到蜂鳴器的檔,分別檢查數(shù)碼管的各個(gè)引腳焊接和接線(xiàn)是否有問(wèn)題,如果數(shù)碼管的接線(xiàn)都沒(méi)有問(wèn)題,那再把單片機(jī)通上電用萬(wàn)用表測(cè)量單片機(jī)接入7段數(shù)碼管的輸出點(diǎn)是否都輸出高電平。如果輸出高電平那說(shuō)明數(shù)碼管有問(wèn)題,否則說(shuō)明單片機(jī)有問(wèn)題。硬件中的很多問(wèn)題都可以這樣查找只要嚴(yán)謹(jǐn)?shù)膽B(tài)度。63實(shí)驗(yàn)室調(diào)試注意事項(xiàng)1電源檢測(cè)12V電壓經(jīng)穩(wěn)壓變成5V,插芯片前必先檢測(cè)電源2單片機(jī)先不接,先檢測(cè)光電耦合使用是否正常64功能調(diào)試通電前應(yīng)檢查焊接質(zhì)量,確認(rèn)無(wú)故障并將程序?qū)懭雴纹瑱C(jī)AT89S51中。(1)按啟動(dòng)/停止鍵,兩位數(shù)碼管顯示器顯示“00”。(2)按時(shí)間、時(shí)間鍵選擇工作時(shí)間,每次累加(減)1分鐘,時(shí)間的選擇范圍為0060分鐘。(3)選好時(shí)間,延時(shí)5秒后繼電器吸合工作,數(shù)碼管同時(shí)顯示剩余的工作時(shí)間。(4)按壓力、壓力鍵通過(guò)改變直流電機(jī)上的電壓(即改變汽油泵轉(zhuǎn)速)調(diào)整清洗壓力,數(shù)碼管有顯示。(5)當(dāng)剩余工作時(shí)間小于4分鐘時(shí),蜂鳴器開(kāi)始鳴叫。直到定時(shí)結(jié)束,繼電器釋放,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。(6)5分鐘內(nèi)無(wú)任何操作則自動(dòng)斷電,數(shù)碼管無(wú)顯示。油面過(guò)低保護(hù)為防止無(wú)油損壞汽油泵,油面過(guò)低時(shí),傳感器開(kāi)關(guān)閉合,數(shù)碼管G段顯示“”。油溫過(guò)高保護(hù)為防止油溫過(guò)高起火,溫度過(guò)高時(shí),溫度繼電器開(kāi)關(guān)閉合,數(shù)碼管G段顯示“”。7結(jié)論這次畢業(yè)設(shè)計(jì)我做的題目是。按照老師交給的任務(wù)書(shū)逐項(xiàng)來(lái)完成的。設(shè)計(jì)過(guò)程中的數(shù)據(jù)計(jì)算、硬件設(shè)計(jì),軟件處理等諸多方面進(jìn)行論述,以求得較完善的工作性能來(lái)提高產(chǎn)品質(zhì)量。因?yàn)樽龅念}目是綜合單片機(jī),電機(jī)拖動(dòng),及自動(dòng)化相關(guān)知識(shí)結(jié)合才能完成的。所以在學(xué)習(xí)的過(guò)程中不斷學(xué)習(xí)新知識(shí),一邊學(xué)一邊做。不斷學(xué)習(xí)不斷完善。單片機(jī)應(yīng)用技術(shù)是實(shí)現(xiàn)測(cè)試與自動(dòng)控制的重要環(huán)節(jié)。在測(cè)試系統(tǒng)中,被作為一次儀表定位,其主要特征是能準(zhǔn)確傳遞和檢測(cè)出某一形態(tài)的信息,并將其轉(zhuǎn)換成另一形態(tài)的信息。汽車(chē)噴油嘴清洗機(jī)的設(shè)計(jì)能把感受到的信號(hào)轉(zhuǎn)換為電機(jī)變化。首先是設(shè)計(jì)一個(gè)系統(tǒng)的框架圖把整個(gè)系統(tǒng)模塊化,隨后,對(duì)各個(gè)模塊進(jìn)行設(shè)計(jì)這個(gè)過(guò)程也就是選擇的過(guò)程,從單片機(jī)的選擇,電機(jī)調(diào)速方式的選擇,顯示電路方式的選擇等等都要對(duì)它們先有所了解在結(jié)合設(shè)計(jì)的要求選擇。在硬件電路確定后就是編寫(xiě)控制程序,當(dāng)然整個(gè)程序不可能一次性完成。其次,畫(huà)出總程序流程圖,再對(duì)各個(gè)小模塊進(jìn)行編寫(xiě)再和PROTUES聯(lián)調(diào)一步步添加程序最終實(shí)現(xiàn)設(shè)計(jì)要求。當(dāng)然以上的每個(gè)過(guò)程都不是那么容易實(shí)現(xiàn)的,畢竟是從0開(kāi)始,必須要有堅(jiān)持不懈的精神。由于是初次應(yīng)用單片機(jī),無(wú)論是在硬件電路的設(shè)計(jì)還是在編寫(xiě)程序方面都有很多困難,但好在有老師和同學(xué)的幫助,困難一一解決。最后還是做出了一些成果,心里還是非常高興的。總結(jié)本次設(shè)計(jì)還是學(xué)到了很多知識(shí),尤其是單片機(jī)方面的知識(shí),這對(duì)我日后走向工作崗位從容的從事各種單片機(jī)設(shè)計(jì)是極其有利的。8結(jié)束語(yǔ)本次畢業(yè)設(shè)計(jì),在經(jīng)過(guò)4個(gè)月的努力,通過(guò)C51單片機(jī)為核心實(shí)現(xiàn)了單片機(jī)控制直流電機(jī)的功能,能夠?qū)﹄姍C(jī)運(yùn)行時(shí)間進(jìn)行調(diào)整及電壓的調(diào)整。當(dāng)然,在設(shè)計(jì)中遇到了一些問(wèn)題,例如,學(xué)習(xí)用PROTEL99設(shè)計(jì)硬件電路時(shí)遇到的困難比較大,但經(jīng)過(guò)導(dǎo)師的指導(dǎo)和自己的學(xué)習(xí)及同學(xué)的幫助,可以用它來(lái)設(shè)計(jì)一些簡(jiǎn)單的電路圖。起初,在收集課題資料方面有一定難度,在張軍老師的指點(diǎn)在圖書(shū)館找到了與課題相關(guān)的一些資料,通過(guò)看書(shū)、作實(shí)驗(yàn),基本了解了設(shè)備的工作原理,在自己設(shè)計(jì)過(guò)程中,自己購(gòu)買(mǎi)了一些相關(guān)元件并且在學(xué)校實(shí)驗(yàn)室里進(jìn)行了焊接,在參數(shù)設(shè)計(jì)方面請(qǐng)教了多名實(shí)驗(yàn)室老師才一步步把問(wèn)題解決。畢業(yè)設(shè)計(jì)在仿真軟件上實(shí)現(xiàn)畢設(shè)要求,但硬件方面還是沒(méi)得到圓滿(mǎn)的結(jié)局,有不盡人意之處。但是在這段時(shí)間里,感覺(jué)真正學(xué)到了不少東西。并且我堅(jiān)信如果以后有單片機(jī)控制電機(jī)方面的實(shí)例,我完全可以憑借自己的能力實(shí)現(xiàn)其功能。其次要感謝一起作畢業(yè)設(shè)計(jì)的對(duì)我?guī)椭艽蟮耐瑢W(xué),他們?cè)诒敬卧O(shè)計(jì)中勤奮工作,克服了許多困難來(lái)完成此次畢業(yè)設(shè)計(jì),并承擔(dān)了一部分的工作量。如果沒(méi)有他們對(duì)我的幫助,此次設(shè)計(jì)的完成將變得非常困難。然后還要感謝大學(xué)四年來(lái)所有的老師,為我們打下自動(dòng)化專(zhuān)業(yè)知識(shí)的基礎(chǔ);同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì),此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。最后感謝各位領(lǐng)導(dǎo)老師大學(xué)四年來(lái)對(duì)我的大力栽培。致謝本文是在導(dǎo)師張軍老師的悉心指導(dǎo)下完成的。張軍老師敏銳的洞察力,淵博的知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和一絲不茍的工作作風(fēng)給我留下了深刻的印象。在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中創(chuàng)造的良好的科研和學(xué)習(xí)環(huán)境及對(duì)我的嚴(yán)格要求和勉勵(lì),本人也從張軍老師的獨(dú)特的教學(xué)和管理方式上受益匪淺。在此謹(jǐn)向張軍老師表示衷心的感謝和崇高的敬意。衷心感謝邸慶龍學(xué)長(zhǎng)在本課題的設(shè)計(jì)過(guò)程中對(duì)我工作的支持和幫助。感謝所有在學(xué)習(xí)過(guò)程中幫助過(guò)我的朋友們。當(dāng)然,還要感謝航空學(xué)院的圖書(shū)館為我提供參考書(shū)籍,在此深表感謝。作為一名沈航學(xué)子,作者衷心感謝沈航對(duì)自己四年來(lái)的培養(yǎng),將永遠(yuǎn)為她而驕傲。參考文獻(xiàn)1劉建輝翼常鵬等單片機(jī)智能控制技術(shù)M國(guó)防工業(yè)出版社,19992李朝青單片機(jī)外圍數(shù)IC技術(shù)手冊(cè)M北京航空航天大學(xué)出版社,20013關(guān)德新馮文全單片機(jī)外圍器件實(shí)用手冊(cè)電源分冊(cè)M北京北京航空航天大學(xué)出版社4曹冬尹成群何玉鈞基于AT89S51的新型打鈴器J電子世界2005年第4期5劉燦軍編著實(shí)用傳感器國(guó)防工業(yè)出版社,20046張洪潤(rùn)編著傳感器技術(shù)與應(yīng)用教程清華大學(xué)出版社,20067劉宏偉基于單片機(jī)的模糊控制方法及應(yīng)用研究D;碩士;武漢理工大學(xué);200705018譚浩強(qiáng)C程序設(shè)計(jì)M北京清華大學(xué)出版社200469中國(guó)電子學(xué)會(huì)2000/2001傳感器與執(zhí)行器大全年卷Z北京電子工業(yè)出版社,200110凌陽(yáng)大學(xué)計(jì)劃凌陽(yáng)單片機(jī)網(wǎng)HTTP/WWWUNSPCOMCN/1996,7單成祥傳感器的理論與設(shè)計(jì)基礎(chǔ)及其應(yīng)用M北京國(guó)防工業(yè)出版社,199911HACHOLA,DZIUBANJ,BOCHENEKAOPHTHALMICGEOMETERWITHSILICONMICROMACHINEDSTRUCTUREJSENSORSANDACTUATORSAPHYSICAL,1996,5710233312GUANDEXINFENGWENQUANMCUPERIPHERALDEVICESPRACTICALMANUALPOWERVOLUMESMBEIJINGBEIJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICSPRESS,19986158162/110592MHZ,看門(mén)狗工作DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINEON0DEFINEOFF1DEFINERESETWDT0X1EWDT0XE1/看門(mén)狗復(fù)位宏定義UCHARCODEDATA_7SEG100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/09的數(shù)碼管段碼/UINTDEDA/0/1MS計(jì)時(shí)單元UCHARSEC/0/計(jì)時(shí)秒CHARSET_MIN/0/設(shè)定分UCHARMIN_5M/0/5分鐘計(jì)數(shù)器UCHARVAL/0/中間變量UCHARPWM_VAL/調(diào)寬脈沖變量值CHARPUSH_VAL/20/壓力變化值SFRWDT0XA6/定義看門(mén)狗定時(shí)器SBITPUSHDEC_KEYP14/壓力鍵SBITPUSHINC_KEYP13/壓力鍵SBITTIMEDEC_KEYP12/時(shí)間鍵SBITTIMEINC_KEYP11/時(shí)間鍵SBITBUZZP35/驅(qū)動(dòng)蜂鳴器端SBITOUTP36/調(diào)寬脈沖輸出端SBITRELAYP37/驅(qū)動(dòng)繼電器端UCHARDIS_SEL/0/顯示內(nèi)容散轉(zhuǎn)標(biāo)志BITOVER_5M/0/5分鐘溢出標(biāo)志BITFLAG_5M/0/5分鐘標(biāo)志BITFLAG_5S/0/5秒鐘標(biāo)志BITSTART/0/啟動(dòng)標(biāo)志BITDIS_FLAG/顯示標(biāo)志BITKEY_FLAG/0/按下鍵標(biāo)志BITBUZZ_SOUND/1/蜂鳴器聲響標(biāo)志BITY/0/中間變量BITOUT_FLAG/PWM輸出標(biāo)志/函數(shù)聲明列表/VOIDTIME_CONVVOID/時(shí)間計(jì)算子函數(shù)VOIDPWM_OUTVOID/調(diào)寬脈沖輸出子函數(shù)VOIDPUSH_DISVOID/顯示壓力子函數(shù)VOIDOIL_DISVOID/顯示缺油子函數(shù)VOIDNORMAL_DISVOID/顯示正常工作子函數(shù)VOIDOTHER_DISVOID/顯示(缺油、超溫)子函數(shù)VOIDTEMP_DISVOID/顯示超溫子函數(shù)VOIDOIL_LOWVOID/缺油處理子函數(shù)VOIDTEMP_

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論