




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上汽車噴油嘴清洗機的智能化設(shè)計摘要 本文介紹的汽車噴油嘴清洗機主要由單片機AT89S52芯片來控制.該產(chǎn)品的設(shè)計可以大大減小噴油嘴清洗機的體積,還有洗完鳴警設(shè)定,意外報警等功能,這一切都可以實現(xiàn)噴油嘴清洗機的智能化,同時大大減少機器成本。本產(chǎn)品通過程序設(shè)定,以軟件代替硬件??梢酝ㄟ^油面,油溫傳感器等實現(xiàn)溫度,油量的測量與控制;還可以通過對清洗時間,清洗壓力的程序設(shè)定,使該噴油嘴清洗機能適用于任何汽車車型。第一章 引 言 4第二章 汽車噴油嘴清洗機的工作原理與技術(shù)要求 42.1 “電噴汽車噴油嘴清洗機”的工作原理 42.2 “電噴汽車噴油嘴清洗機”的工作過程及
2、技術(shù)要求: 5第三章 系統(tǒng)方案及電路設(shè)計 53.1 系統(tǒng)方案 53.2 PWM波調(diào)速原理 63.3 調(diào)寬脈沖輸出子程序模塊 7第四章 主要器件介紹 84.1 AT89S51單片機的功能點 84.2 光電耦合器 9第五章 硬件設(shè)計 9第六章 程序設(shè)計 106.1 主程序設(shè)計 106.2 變量定義及初始化模塊 116.3 完整代碼 12第七章 調(diào)試應(yīng)用 127.1 安全注意事項 127.2 功能調(diào)試 13謝辭 13參考文獻(xiàn) 14附頁 15第一章 引
3、160; 言改革開放以來,隨著中國經(jīng)濟實力的增強及百姓收入的增多,小汽車越來越多地進入了家庭,隨之而來的是維修保養(yǎng)問題。 噴油嘴是電噴發(fā)動機關(guān)鍵部件之一,它工作狀況的好壞將直接影響發(fā)動機的性能。然而不少車主根本不重視發(fā)動機噴油嘴的清洗,或者認(rèn)為發(fā)動機噴油嘴要隔很長時間才需進行清洗,殊不知噴油嘴堵塞會嚴(yán)重影響汽車性能! 噴油嘴堵塞的原因是發(fā)動機內(nèi)積碳沉積在噴油嘴上或者燃油中的雜質(zhì)等堵住了噴油嘴通路。汽車行駛一段時間后,燃油系統(tǒng)就會形成一定的沉積物。燃油系統(tǒng)沉積物有很大危害,如沉積物會堵塞噴油嘴的針閥、閥孔,影響電子噴射系統(tǒng)精密部件的工作性能, 導(dǎo)致動力性能下降;沉積物會在進氣閥形成積碳,致使其關(guān)
4、閉不嚴(yán),導(dǎo)致發(fā)動機怠速不穩(wěn)、油耗增大并伴隨尾氣排放惡化;沉積物會在活塞頂和氣缸蓋等部位形成堅硬的積碳,由于積碳的熱容量高而導(dǎo)熱性差,容易引起發(fā)動機爆震等故障,此外還會縮短三元催化器的壽命。因此噴油嘴工作的好壞,對每臺發(fā)動機的功率發(fā)揮起著根本性作用。過去這類保養(yǎng)通常要交汽修廠進行,費用昂貴?,F(xiàn)市場上出現(xiàn)的已經(jīng)出現(xiàn)“電噴汽車噴油嘴清洗機” ,但這些電噴汽車噴油嘴清洗機都有如下缺陷:a.該機型大都是體積過大,運輸,使用等都不方便,從而加大成本。b.機子開關(guān)機不能實現(xiàn)自動化,清洗時間,清洗溫度也只能人工模糊控制,易使清洗機與電動機受損,且不易適合流水線工作。c .并不具有如油面,油溫過高過低等的報警警
5、示功能。d.一種電噴汽車噴油嘴清洗機只能適用一種機型e.現(xiàn)機型造價過高,不易進行家用推廣。本文介紹的汽車噴油嘴清洗機主要由單片機AT89S51芯片來控制,從而實現(xiàn)其智能化.該產(chǎn)品的設(shè)計可以大大減小噴油嘴清洗機的體積,以軟件代替硬件;可以通過油面,油溫傳感器等實現(xiàn)溫度,油量的測量與控制;還可以設(shè)定清洗時間,洗完鳴警設(shè)定等等。這一切都可以實現(xiàn)噴油嘴清洗機的智能化,同時大大減少機器成本。本產(chǎn)品也可通過程序設(shè)定,使該噴油嘴清洗機能適用于任何汽車車型。第二章 汽車噴油嘴清洗機的工作原理與技術(shù)要求2.1“電噴汽車噴油嘴清洗機”的工作原理:結(jié)合專用的燃油系統(tǒng)清洗劑,不需拆裝發(fā)動機,只需用接頭與發(fā)動機供油管及
6、回油管連接,在發(fā)動機正常運轉(zhuǎn)狀況下,讓清洗混合液進入燃油供給系統(tǒng),在30 分鐘內(nèi)即可溶解發(fā)動機供油管、噴油嘴針閥和燃燒室各組件的積碳、油泥、膠質(zhì)及漆類污染物,經(jīng)由循環(huán)燃燒分解過程,從汽車排放系統(tǒng)排出,恢復(fù)該車的性能,使其啟動順暢,怠速平穩(wěn),加油輕快,增加動力,達(dá)到省油及降低空氣污染的效果。 2.2“電噴汽車噴油嘴清洗機”的工作過程及技術(shù)要求:a. 按啟動/停止鍵,兩位數(shù)碼管顯示器顯示“00”。b. 按時間+、時間-鍵選擇工作時間,每次累加(減)1分鐘,時間的選擇范圍為0060分鐘。c. 選好時間,延時5秒后繼電器吸合工作,汽油泵運行在額定電壓12V狀態(tài),數(shù)碼管同時顯示剩余的工作時間。汽油泵的額
7、定功率為70W,額定電壓為12V。d. 按壓力+、壓力-鍵通過改變直流電機上的電壓(即改變汽油泵轉(zhuǎn)速)調(diào)整清洗壓力,電壓調(diào)整范圍為712V。e. 當(dāng)剩余工作時間小于4分鐘時,蜂鳴器開始鳴叫。直到定時結(jié)束,繼電器釋放,汽油泵停止工作,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。f. 5分鐘內(nèi)無任何操作則自動斷電,數(shù)碼管無顯示。g.保護措施:油面過低保護: 為防止無油損壞汽油泵,油面過低時,傳感器開關(guān)閉合,汽油泵自動斷電,數(shù)碼管g段顯示“-” 并閃爍。油溫過高保護: 為防止油溫過高起火,溫度過高時,溫度繼電器開關(guān)閉合,汽油泵自動斷電,數(shù)碼管g段顯示“-”但不閃爍。第三章 系統(tǒng)方案及電路設(shè)計3.1系統(tǒng)方案圖
8、3-1為“電噴汽車噴油嘴清洗機”的系統(tǒng)構(gòu)成方框圖,由單片機控制器、按鍵輸入、數(shù)碼管顯示、電機PWM驅(qū)動電路、輸出控制等電路組成。圖3-1系統(tǒng)構(gòu)成方框圖單片機AT89S51是整個系統(tǒng)的核心,負(fù)責(zé)控制檢測輸入,輸出顯示,電機調(diào)速。這里使用了Atmel公司新型的AT89S51單片機。按鍵輸入電路負(fù)責(zé)對清洗過程一系列工作參數(shù)進行設(shè)定輸入。數(shù)碼管顯示器在工作過程中顯示剩余的工作時間。電機調(diào)速利用了單片機內(nèi)部的定時器,配合軟件產(chǎn)生出脈寬調(diào)制波(PWM),再通過功率場效應(yīng)管去驅(qū)動低壓直流電機,具有效率高、能耗低、轉(zhuǎn)速連續(xù)可調(diào)等特點。 輸出控制電路在油溫過高或油面過低的情況下,切斷高壓汽油泵電機的供電,防止發(fā)
9、生事故。 “電噴汽車噴油嘴清洗機” 的工作電源取自汽車上的12V蓄電池,經(jīng)降壓穩(wěn)壓后得到5V的穩(wěn)定工作電壓。3.2 PWM波調(diào)速原理 大家可能做過這樣的小實驗,一臺額定電壓為12V的直流小電機,使用一臺可調(diào)穩(wěn)壓電源供電。當(dāng)電壓為12V時,電機轉(zhuǎn)得很快;降低到9V時轉(zhuǎn)速慢了很多;當(dāng)降到6V時轉(zhuǎn)速更慢了。因為電壓降低后,電機獲得的輸入功率小了,當(dāng)然轉(zhuǎn)速就慢了。但單片機輸出的是數(shù)字脈沖信號,如何控制電機調(diào)速?這里,我們就設(shè)法控制單片機輸出脈沖的寬度(即控制脈沖的占空比),使電機得到的平均輸入功率發(fā)生變化,就能控制電機調(diào)速了。圖3-2中,輸出的為50%的脈沖波,其電壓平均值(如圖
10、中虛線所示為6V,這樣電機的速度就降低了。而圖3-3中,輸出的為接近100%的脈沖波,其電壓平均值約為12V,這時電機的轉(zhuǎn)速就接近額定轉(zhuǎn)速。圖3-2 輸出的為50%的脈沖波圖3-3 輸出的為100%的脈沖波3.3 PWM脈沖驅(qū)動電機的實現(xiàn)過程 圖3-4為PWM脈沖驅(qū)動電機的實現(xiàn)電路。AT89S51單片機的P3.6腳輸出占空比為60100%的調(diào)寬脈沖,經(jīng)光電隔離后驅(qū)動功率場效應(yīng)管,這樣,電機上獲得的調(diào)寬脈沖波的占空比也為60100%,幅度接近12V。由于電機具有機械慣性的特點,因此運行時不會產(chǎn)生抖動。圖3-5為輸出60%脈沖時電機得到的直流電壓平均值。
11、圖3-6為輸出100%脈沖時電機得到的直流電壓平均值。圖3-5輸出60%脈沖時電機得到的直流電壓平均值圖3-4為PWM脈沖驅(qū)動電機的實現(xiàn)電路圖3-6輸出100%脈沖時電機得到的直流電壓平均值3.4 調(diào)寬脈沖輸出子程序模塊 為控制大批量生產(chǎn)的成本,使用了低價位的AT89S51單片機,但AT89S51內(nèi)部沒有集成PWM部件。這里我們利用了內(nèi)部定時器,與軟件配合產(chǎn)生出調(diào)寬脈沖波。void pwm_out(void)if(out_flag) /如果輸出標(biāo)志有效if(pwm_val<=(push_val+30) out=ON;/ 輸出有效else out=OFF; /輸出關(guān)閉if(pwm_val&
12、gt;=50) pwm_val=0;else out=OFF;第四章 主要器件介紹4.1 AT89S51單片機的功能特點是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 A
13、T89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的
14、需求。 主要功能特性: · 兼容MCS-51指令系統(tǒng)· 32個雙向I/O口· 2個16位可編程定時/計數(shù)器· 全雙工UART串行中斷口線· 2個外部中斷源· 中斷喚醒省電模式· 看門狗(WDT)電路· 靈活的ISP字節(jié)和分頁編程· 4k可反復(fù)擦寫(>1000次)ISP Flash ROM· 4.5-5.5V工作電壓· 時鐘頻率0-33MHz· 雙數(shù)據(jù)寄存器指針· 低功耗空閑和省電模式· 3級加密位· 軟件設(shè)置空閑和省電
15、功能· 128x8bit內(nèi)部RAM2. AT89S51引腳外形圖4-1AT89S51引腳排列4.2 光電耦合器構(gòu)造及其工作原理光電耦合器是把發(fā)光器件與光敏接收器件集成在一起(或用一根光導(dǎo)纖維把兩部分連接起來)以實現(xiàn)信號傳輸作用的器件.通常發(fā)光器件采用發(fā)光管(LED),光敏接收器件則采用光敏管等.當(dāng)信號加在光電耦合器的輸入端時,發(fā)光管發(fā)光,光敏管受光線照射而導(dǎo)通,輸出相應(yīng)的信號,實現(xiàn)了光電的傳輸和轉(zhuǎn)換.其主要特點是以光為媒介實現(xiàn)信號的傳輸,使輸入與輸出間在電氣上完全隔離.如圖4-2所示。 如圖4-2光電耦合器第五章 硬件電路設(shè)計 “電噴汽車噴油嘴清洗機”電路原理見
16、圖5-1。共設(shè)有5個輸入按鍵、一個油面?zhèn)鞲衅骱鸵粋€油溫傳感器。兩位數(shù)碼管顯示器用于顯示輸入時間、指示剩余工作時間及報警狀態(tài)顯示。蜂鳴器作報警提醒, 繼電器用于控制汽油泵電機的通斷。圖5-1 電噴汽車噴油嘴清洗機電路圖 按啟動/停止鍵,兩位數(shù)碼管顯示器顯示“00” ,“電噴汽車噴油嘴清洗機”處于待機狀態(tài)。此時按時間+、時間-鍵就能選擇工作時間,時間的選擇范圍為0060分鐘。選好時間,再延時5秒P3.6輸出低電平,繼電器吸合工作,汽油泵運行在額定電壓12V狀態(tài),數(shù)碼管同時顯示剩余的工作時間。按壓力+、壓力-鍵即使P3.6輸出的脈沖占空比發(fā)生變化,即改變汽油泵轉(zhuǎn)速來調(diào)整清洗壓力
17、。當(dāng)剩余工作時間小于4分鐘時,蜂鳴器開始鳴叫。定時結(jié)束時,繼電器釋放,汽油泵停止工作,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。若5分鐘內(nèi)無任何操作則數(shù)碼管熄滅,自動關(guān)機。在作業(yè)過程中,若油面過低時,油面?zhèn)鞲衅鏖_關(guān)(Soil)閉合(實驗時由開關(guān)代替),此信號經(jīng)P1.5送入CPU,經(jīng)運算處理,P3.7輸出高電平,汽油泵自動斷電,數(shù)碼管g段顯示“-” 并閃爍;若油溫過高時,溫度繼電器開關(guān)(Stem)閉合(實驗時由開關(guān)代替),經(jīng)P1.6送入CPU,P3.7輸出高電平,汽油泵也自動斷電,數(shù)碼管g段顯示“-”但不閃爍。PCB板如5-2所示 圖5-2 電噴汽車噴油嘴清洗機PCB板圖第六章
18、程序設(shè)計6.1 主程序設(shè)計 主程序的工作過程為:先進行初始化工作,然后判斷是否啟動?若啟動則讀取鍵值信號或傳感器輸入信號,進行對應(yīng)處理。否則進入工作狀態(tài)。流程圖如6-1初始化啟動否有按鍵輸入否根據(jù)鍵值散轉(zhuǎn)油溫高時間+時間-壓力+壓力-油面低處理關(guān)機處理正常工作延時5S已延時5S否圖6-1 主程序狀態(tài)流程6.2 變量定義及初始化模塊程序設(shè)計時需設(shè)立一系列的變量、標(biāo)志,具體如下:uint deda; /1ms計時單元uchar sec; /計時秒char set_min;/設(shè)定分uchar min_5m;/5分鐘計數(shù)器uchar val;/
19、中間變量uchar pwm_val; /調(diào)寬脈沖變量值char push_val;/壓力變化值sfr WDT=0xa6;/定義看門狗定時器sbit pushdec_key=P14; /壓力-鍵sbit pushinc_key=P13; /壓力+鍵sbit timedec_key=P12; /時間-鍵sbit timeinc_key=P11; /時間+鍵sbit buzz=P35; /驅(qū)動蜂鳴器端sbit out=P36;/調(diào)寬脈沖輸出端sbit relay=P37; /驅(qū)動繼電器端uchar dis_sel;/顯示內(nèi)容散轉(zhuǎn)標(biāo)志bit over_5m;/5分鐘溢出標(biāo)志bit flag_5m;/5
20、分鐘標(biāo)志bit flag_5s;/5秒鐘標(biāo)志bit start;/啟動標(biāo)志bit dis_flag; /顯示標(biāo)志bit key_flag;/按下鍵標(biāo)志bit buzz_sound;/蜂鳴器聲響標(biāo)志bit y;/中間變量bit out_flag;/pwm輸出標(biāo)志/*初始化*/void init()/push_val=20;IT0=1;IE=0x8b;/set_min=0;buzz=OFF;/relay=OFF;key_flag=0;/out=OFF;out_flag=0;reset() /*定時器T0初始化*/void init_timer0()TMOD=0x11;TH0=-(1150/256)
21、; /1ms初值TL0=-(1150%256);TR0=0;ET0=1;EA=1;/*定時器T1初始化*/*定時器T1初始化*/void init_timer1()TH1=-(5000/256); /5ms初值TL1=-(5000%256);TR1=1;ET1=1;EA=1;6.3 完整代碼見附頁第七章 調(diào)試應(yīng)用7.1 安全注意事項7.11 實際應(yīng)用時安全注意事項 本試驗是在試驗室完成,暫時沒有應(yīng)用到實際. 7.12 實驗室調(diào)試注意事項1.電源檢測.12V電壓經(jīng)穩(wěn)壓變成5V,插芯片前必先檢測電源
22、.2.單片機先不接,先檢測光電耦合使用是否正常.3.單片機,光電耦合等芯片不可接反,進入整機調(diào)試.7.2 功能調(diào)試通電前應(yīng)檢查焊接質(zhì)量,確認(rèn)無短路、假焊等故障并將程序?qū)懭雴纹瑱CAT89S51中。 設(shè)備的功能統(tǒng)調(diào): a. 按啟動/停止鍵,兩位數(shù)碼管顯示器顯示“00”。b. 按時間+、時間-鍵選擇工作時間,每次累加(減)1分鐘,時間的選擇范圍為0060分鐘。c. 選好時間,延時5秒后繼電器吸合工作,數(shù)碼管同時顯示剩余的工作時間。d. 按壓力+、壓力-鍵通過改變直流電機上的電壓(即改變汽油泵轉(zhuǎn)速)調(diào)整清洗壓力,數(shù)碼管有顯示.e. 當(dāng)剩余工作時間小于4分鐘時,蜂鳴器開始鳴叫。直到
23、定時結(jié)束,繼電器釋放,蜂鳴器停止鳴叫,數(shù)碼管顯示“00”。f. 5分鐘內(nèi)無任何操作則自動斷電,數(shù)碼管無顯示。g.保護措施:油面過低保護: 為防止無油損壞汽油泵,油面過低時,傳感器開關(guān)閉合,數(shù)碼管g段顯示“-” 并閃爍。油溫過高保護: 為防止油溫過高起火,溫度過高時,溫度繼電器開關(guān)閉合,數(shù)碼管g段顯示“-”但不閃爍。完整代碼#include <AT89X51.H>/11.0592MHz,看門狗工作#define uchar unsigned char#define uint unsigned int#define ON 0#define OFF 1;#define reset() W
24、DT=0x1e;WDT=0xe1;/看門狗復(fù)位宏定義uchar code DATA_7SEG10=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;/*09的數(shù)碼管段碼*/uint deda;/=0; /1ms計時單元uchar sec;/=0; /計時秒char set_
25、min;/=0; /設(shè)定分uchar min_5m;/=0; /5分鐘計數(shù)器uchar val;/=0; /中間變量uchar pwm_val; /調(diào)寬脈沖變量值char push_val;/=20; /壓力變化值sfr WDT=0xa6;/定義看門狗定時器sbit pushdec_key=P14; /壓力-鍵sbit pushinc_key=P13; /壓力+鍵sbit timedec_key=P12; /時間-鍵sbit timeinc_key=P11; /時間+鍵sbit buzz=P35; /驅(qū)動蜂鳴器端sbit out=P36;/調(diào)寬脈沖輸出端sbit relay=P37; /驅(qū)動繼
26、電器端uchar dis_sel;/=0; /顯示內(nèi)容散轉(zhuǎn)標(biāo)志bit over_5m;/=0; /5分鐘溢出標(biāo)志bit flag_5m;/=0; /5分鐘標(biāo)志bit flag_5s;/=0; /5秒鐘標(biāo)志bit start;/=0; /啟動標(biāo)志bit dis_flag; /顯示標(biāo)志bit key_flag;/=0; /按下鍵標(biāo)志bit buzz_sound;/=1; /蜂鳴器聲響標(biāo)志bit y;/=0; /中間變量bit out_flag; /pwm輸出標(biāo)志/*函數(shù)聲明列表*/void time_conv(void);/ 時間計算子函數(shù)void pwm_out(void);/ 調(diào)寬脈沖輸出子函
27、數(shù)void push_dis(void); /顯示壓力子函數(shù)void oil_dis(void); /顯示缺油子函數(shù)void normal_dis(void) ;/顯示正常工作子函數(shù)void other_dis(void); /顯示(缺油、超溫)子函數(shù)void temp_dis(void); /顯示超溫子函數(shù)void oil_low(void); /缺油處理子函數(shù)void temp_over(void); /超溫處理子函數(shù)void other(void); /(缺油、超溫)處理子函數(shù)void buzz_control(void); /控制蜂鳴器子函數(shù)void delay(uint k); /延
28、時子函數(shù)void init(void); /初始化子函數(shù)void init_timer0(void);/定時器0初始化子函數(shù)void init_timer1(void);/定時器1初始化子函數(shù)void key(void) ; /按鍵/感應(yīng)開關(guān)處理子函數(shù)void close(void); /關(guān)機子函數(shù)void time_inc(void); /時間+子函數(shù)void time_dec(void); /時間-子函數(shù)void push_inc(void); /壓力+子函數(shù)void push_dec(void); /壓力-子函數(shù)void normal_work(void); /正常工作子函數(shù)/*/*初始
29、化*/void init()/push_val=20;IT0=1;IE=0x8b;reset() /*定時器T0初始化*/void init_timer0()TMOD=0x11;TH0=-(1150/256);TL0=-(1150%256);TR0=0;ET0=1;EA=1;/*定時器T1初始化*/*定時器T1初始化*/void init_timer1()TH1=-(5000/256);TL1=-(5000%256);TR1=1;ET1=1;EA=1;/*延時子函數(shù)*/void delay(uint k)uint i,j;for(i=0;i<k;i+)for(j=0;j<60;j+
30、) reset()/*外中斷0服務(wù)子函數(shù)*/void int0_serve(void) interrupt 0 using 1delay(20);if(P3_2=0)start=!start;while(P3_2=0)delay(20);if(P3_2=1)break;/*/*1mS定時中斷服務(wù)子函數(shù)*/void timer0(void) interrupt 1 using 2TH0=-(1150/256);TL0=-(1150%256);deda+;pwm_val+;pwm_out();time_conv();/*調(diào)寬脈沖輸出子函數(shù)*/void pwm_out(void
31、)if(out_flag)if(pwm_val<=(push_val+30) out=ON;else out=OFF;if(pwm_val>=50) pwm_val=0;else out=OFF;/*時間計算子函數(shù)*/void time_conv(void)if(deda>=1000)sec+;deda=0;if(deda=500)buzz_sound=!buzz_sound;if(sec>=60)set_min-;sec=0;if(flag_5m)min_5m+;if(min_5m>=5)over_5m=1;min_5m=0;if(set_min<=0)s
32、et_min=0;/*/* T1 5ms定時中斷服務(wù)子函數(shù)(顯示用)*/void timer1(void) interrupt 3 using 3TH1=-(5000/256);TL1=-(5000%256);if(start) switch (dis_sel)case 0:normal_dis();break;case 1:oil_dis();break; case 2:temp_dis();break; case 3:other_dis();break;case 4:push_dis();break; default:break;else P2=0x00;P3=0xf
33、f;reset()/*壓力調(diào)整顯示子函數(shù)*/void push_dis(void)if(dis_flag) P2=DATA_7SEG(push_val)/10;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=DATA_7SEG(push_val)%10;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*正常工作顯示子函數(shù)*/void normal_dis(void) if(dis_flag) P2=DATA_7SEGset_min/10;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;e
34、lse P2=DATA_7SEGset_min%10;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*缺油顯示子函數(shù)*/void oil_dis(void) if(buzz_sound) if(dis_flag)P2=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;else P3_0=1;P3_1=1;P3_3=1;P3_4=1;/*超溫顯示子函數(shù)*/void temp_dis(void) if(dis_flag)P2
35、=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*超溫、缺油同時發(fā)生顯示子函數(shù)*/void other_dis(void) if(deda<250)|(deda>500)&&(deda<750) if(dis_flag)P2=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;
36、else P3_0=1;P3_1=1;P3_3=1;P3_4=1;/*按鍵感應(yīng)開關(guān)處理子函數(shù)*/void key(void) delay(10);while(P1!=0xff)switch (P1)case 0xfd:time_inc(); break;case 0xfb:time_dec(); break;case 0xf7:push_inc(); break;case 0xef:push_dec(); break;case 0xdf:oil_low(); break;case 0xbf:temp_over(); break;case 0x9f:other(); break;default:
37、break;delay(500);if(set_min>=4)key_flag=1;TR0=1;/*主函數(shù)*/void main(void) init();init_timer0(); /定時器T0初始化init_timer1(); /定時器T1初始化while(1) /無限循環(huán) /*-*/if(start)if(P1!=0xff)key();else normal_work();else close(); /*正常工作子函數(shù)*/void normal_work() dis_sel=0;if(key_flag)&&(!flag_5s)relay=OFF;buzz=OFF;delay(6000);flag_5s=1;if(flag_5s) y=0;buzz_control();dis_sel=0;if(set_min)out_flag=0;buzz=OFF;flag_5m=1;flag_5
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私下鑒定協(xié)議書
- 理財收益協(xié)議書
- 家具公司加盟協(xié)議書
- 建筑施工意向協(xié)議書
- 離婚多種協(xié)議書
- 祖產(chǎn)分配協(xié)議書
- 白蟻治理協(xié)議書
- 離職人員協(xié)議書
- 小麥出售合同協(xié)議書
- 市場攤位退租協(xié)議書
- 機場運營效率提升策略與創(chuàng)新模式-洞察闡釋
- 安徽省1號卷A10聯(lián)盟2025屆高三5月最后一卷生物試題及答案
- 網(wǎng)絡(luò)安全等級保護備案表(2025版)
- 共情研究的歷史發(fā)展及其當(dāng)前狀況分析
- 《擁抱健康拒絕煙草》課件
- 《綠色建筑評價》課件 - 邁向可持續(xù)建筑的未來
- 2025年湖南九年級物理(BEST湘西州聯(lián)考)(含答案)
- 鼻咽癌口腔炎護理查房
- 以患者為中心的醫(yī)教融合模式在提升醫(yī)療服務(wù)質(zhì)量中的應(yīng)用研究
- 制氫技術(shù)與工藝課件:液氫
- (2025)全國小學(xué)生“學(xué)憲法、講憲法”活動知識競賽題庫及答案
評論
0/150
提交評論