版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、三相電源斷相與相序保護器設計摘 要三相電源在我們的生活中扮演著一個極其重要的角色,并且運用的地方多于大功率儀器設備上,在原來的傳統(tǒng)工業(yè)控制中,是由外部電源相序接線的準確性來控制,這樣對操作者有較高的要求。為了降低操作者的要求,因此一個缺相與相序保護繼電器對于三相電源來說作用是相當大的,三相電源保護繼電器的核心是通過單片機編程對三相電檢測是否有缺相、錯相問題來對電機進行及時的保護。首先要對三相電源的斷相、錯相問題故障進行分析,并結合PIC12F675單片機編程的功能,找出可靠性高、實施性強的保護方案,同時通過發(fā)光二級管來反饋給使用者所需要的信息。有了保護繼電器就可以避免三相電源一些不必要的損失,
2、不僅降低了操作者的要求,同時也減少了很多的物力人力,具有十分重要的意義!關鍵詞:三相電源,斷相檢測,錯相檢測,繼電器目 錄摘 要I第1章 緒 論11.1 三相電源簡介11.2 本課題的主要內(nèi)容21.3 工作原理圖2第2章 硬件電路設計與實現(xiàn)32.1 方案的設計32.2 電源模塊設計62.3電壓采樣及其電路設計72.4 PIC12F675單片機的介紹8第3章 軟件設計103.1 主程序設計103.2 斷相檢測部分113.3 相序檢測部分12第4章 系統(tǒng)制作與調試134.1 元器件清單134.2 硬件與軟件調試14第5章 總結與體會15致 謝16參考文獻17附 錄18附錄A 原理圖18附錄B 程
3、序18附錄C PCB圖33附錄D 實物圖34第1章 緒論1.1 三相電源簡介三相交流電是電能的一種輸送形式,簡稱為三相電。三相交流電源,是由三個頻率相同、振幅相等、相位依次互差120°的交流電勢組成的電源。三相交流電的用途很多,工業(yè)中大部分的交流用電設備,例如電動機,都采用三相交流電,也就是經(jīng)常提到的三相四線制。而在日常生活中,多使用單相電源,也稱為照明電。當采用照明電供電時,使用三相電其中的一相對用電設備供電,例如家用電器,而另外一根線是三相四線之中的第四根線,也就是其中的零線,該零線從三相電的中性點引出?!叭嚯姟钡母拍钍牵壕€圈在磁場中旋轉時,導線切割磁場線會產(chǎn)生感應電動勢,它的
4、變化規(guī)律可用正弦曲線表示。如果我們?nèi)∪齻€線圈,將它們在空間位置上相差點120度角,三個線圈仍舊在磁場中以相同速度旋轉,一定會感應出三個頻率相同的感應電動勢。由于三個線圈在空間位置相差點120度角,故產(chǎn)生的電流亦是三相正弦變化,稱為三相正弦交流電。工業(yè)用電采用三相電,如三相交流電動機等。任兩相之間的電壓都是380VAC,任一相的對地電壓都是220VAC。分為A相,B相,C相,線路上用L1,L2,L3來表示。能產(chǎn)生幅值相等、頻率相等、相位互差120°電勢的發(fā)電機稱為三相發(fā)電機;以三相發(fā)電機作為電源,稱為三相電源;以三相電源供電的電路,稱為三相電路。U、V、W稱為三相,相與相之間的電壓是線
5、電壓,電壓為380V。相與中線之間稱為相電壓,電壓是220V。三相電的相位關系圖如圖1-1所示:圖1-1 三相電的相位關系圖1.2 本課題的主要內(nèi)容本課題的主要任務是設計一個三相電保護繼電器,該保護繼電器能夠起到對缺相、錯相等主要電氣故障進行保護的功能,具有故障檢測、故障識別、故障指示等,當檢測發(fā)現(xiàn)缺相故障、相序錯誤時,繼電器工作。由于采用了多種軟件、硬件的抗干擾措施,該新型的保護繼電器工作非??煽俊?.3 工作原理圖雖然三相電源斷相與相序保護器就有好多不同的設計方案,如何選擇就是根據(jù)不同的工作電路圖來確定不同的設計方案,而本課題選擇的是當電路中出現(xiàn)缺相或錯相時,保護繼電器能識別和指示。其工作
6、原理圖如圖1-2所示:圖1-2 三相電保護繼電器工作原理圖第2章 硬件電路設計與實現(xiàn)2.1 方案的設計 設計的三相電保護繼電器整個系統(tǒng)是由硬件和軟件組成,硬件是整個系統(tǒng)的載體,而軟件是系統(tǒng)的控制中心。根據(jù)工作原理圖可以設計出不同的方案,如方案一:來自三相交流電源的三相交流信號經(jīng)過采樣電路降壓處理后,變?yōu)橹绷麟妷核徒o斷相與相序鑒別電路。方案二:來自三相交流電源的三相交流信號經(jīng)過采樣電路降壓處理,輸出三相電分別經(jīng)過三組比較器后送給斷相與相序鑒別電路。方案三:來自三相交流電源的三相交流信號經(jīng)過采樣電路降壓處理后,電壓電流同時送給斷相與相序鑒別電路,這是最保險的但也是不好操作的方案。而我用的方案系統(tǒng)的
7、基本組成如圖2-1所示:圖2-1 系統(tǒng)的基本組成圖從系統(tǒng)的基本組成圖就可看出電壓/電流采樣是整個系統(tǒng)的關鍵,只有采樣出的數(shù)據(jù)才能讓單片機PIC12F675芯片識別處理。不然就無法進行下去,不能判斷出是斷相還是錯相引起的問題。怎么知道電路中是否出現(xiàn)了斷相和相序的問題?這個問題牽扯著一個方案的設計,選擇不同的方案就有不同的解決辦法,而我所用的方案是當電壓/電流采樣過后,根據(jù)所給的一組數(shù)據(jù)(由0和1組成)比較,如果得到的數(shù)據(jù)與設定的數(shù)據(jù)一樣,說明相序正確;如果得到的數(shù)據(jù)與設定的數(shù)據(jù)不同,就判斷是斷相引起的還是缺相引起的問題。如何準確無誤的判斷出是斷相還是錯相呢?當三相交流電源A、B、C 經(jīng)降壓模塊處
8、理后輸出三相交流電a、b、c,分別經(jīng)過三組比較器后,在輸出端a、b、c三點可以得到對應于交流電源的三組方波,各點波形如圖2-2所示:圖2-2 波形圖同一時刻讀取a 、b、c 三點的狀態(tài),就可獲得一組數(shù)據(jù);同樣,把三組交流電源A、B、C 作各種不同狀態(tài)組合,同時讀取各點的狀態(tài),也能得到一組組編碼,把這些編碼列成表,如表1所示:表1 各組編碼列表ABCACBBCABACCABCBA10111001101111010111010110111001101101101111010110111010111001101111010111010110111001101101101111010110111010
9、1110011011110101110101101110011011011011110101101110101110011011110101110101101110011011011011110101101110101110011011110101 正確編碼:110011101 錯誤編碼:110101011通過上述的分析過程,對各種狀態(tài)下的編碼進行組合、比較,可以發(fā)現(xiàn)它們之間的規(guī)律:相序正常(為ABC)時,編碼110011101 重復出現(xiàn);錯相時, 編碼為110101011;若斷相時,既不能得到110011101的編碼,也不能得到110101011 的編碼,這就為我們正確處理斷相與錯相提供了理
10、論依據(jù)。2.2 電源模塊設計保護系統(tǒng)是否穩(wěn)定、可靠的工作,電源的設計是非常重要的,其實質是為單片機系統(tǒng)提供穩(wěn)定的直流供電電壓,本設計所需芯片PIC12F675的電源為+5V,因此設計了由集成穩(wěn)壓塊7805組成的供電電路。在電路中使用的7805穩(wěn)壓塊有輸入端、輸出端和公共端,在芯片內(nèi)部有過流、過熱保護以及調整管安全保護電路。其所需的外部元件少、不需外接元件調整,使用方便、安全可靠,輸出穩(wěn)定性高而廣泛用于各種電子設備中,可以作為電壓穩(wěn)定器。這個電路給系統(tǒng)提供穩(wěn)定的直流電壓,集成穩(wěn)壓塊的作用是把非穩(wěn)定的直流電壓變換成穩(wěn)定的直流電壓。該電源電路有變壓器,橋式整流器,濾波電容和三端穩(wěn)壓管7805組成,其
11、工作原理是先通過變壓器降壓把原來的380V降為9V,然后通過橋式電路整流再通過濾波電容輸入到三端穩(wěn)壓管7805,然后在通過濾波輸出+5V電壓提供芯片使用。電容主要起到濾波和減少脈動成分的作用。該電路經(jīng)實驗證明,具有結構簡單、經(jīng)濟、實用等特點。該電源電路如圖2-3所示:圖2-3 電源電路圖2.3電壓采樣及其電路設計根據(jù)三相電的特性得知三相電壓的相位差為120度。三相電的順序是UVVWWU的順序,當U相電壓最大,由下圖可知UV導通,最上面的光耦導通,這樣芯片就可以采集到這個時候的信號,同理,當V相電壓U相電壓最高時,芯片采集到相應的信號。電壓采樣電路圖如圖2-4所示:圖2-4 電壓采樣電路圖2.4
12、 PIC12F675單片機的介紹PIC12F675是一款只有8個引腳的CMOS單片機如圖2-5所示:圖2-5 CMOS單片機引腳圖它具有的功能是:CPU的特殊功能單片機內(nèi)部集成了某些處理實時應用所需的特殊電路,使之區(qū)別于其他處理器。PIC12F675系列具有許多這樣的功能部件,它們旨在:最大限度地提高系統(tǒng)可靠性;通過減少外部元器件將成本降到最低;提供節(jié)能運行模式和代碼保護。這些功能部件是:1.振蕩器選擇;2.復位:包括上電復位(POR),上電延時定時器(PWRT),振蕩器起振定時器(OST),欠壓檢測(BOD);3.中斷:看門狗定時器(WDT),引腳電平變化可觸發(fā)中斷;4.可編程代碼保護。PI
13、C12F675配備了一個看門狗定時器,可由配置位來控制。該定時器依靠自帶的RC振蕩器來運行,提高了可靠性。有兩個定時器提供必要的上電延時。一個是振蕩器起振定時器(OST),旨在確保芯片在晶振達到穩(wěn)定之前始終處于復位狀態(tài)。另一個是上電延時定時器(PWRT),僅在上電時提供72ms(標稱值)的固定延時,用來確保器件在供電電壓穩(wěn)定之前處于復位狀態(tài)。還有當器件發(fā)生欠壓時使器件復位的電路,該電路可提供至少72ms 的復位延時。片上具有了這三種功能,使絕大多數(shù)應用無需再外接復位電路。休眠模式的設計是為了提供電流極低的掉電模式。用戶可通過以下方法將器件從休眠模式喚醒:外部復位:1.看門狗定時器喚醒;2.中斷
14、有幾種振蕩模式可供選擇,可使器件適應各種應用。選擇INTOSC可節(jié)約系統(tǒng)成本,而選擇LP晶振可以節(jié)能。本設計中的單片機采用5V電源電壓,一個引腳接地,一個引腳接電源,GP3GP5接三相電的信號輸入,GP0接電位器,GP1接繼電器,GP2接發(fā)光二級管。PIC12F675單片機的各個管腳的功能說明如表2所示:表2 管腳說明(TTL=TTL輸入緩沖器,ST=施密特觸發(fā)器緩沖器)名稱功能輸入類型輸出類型說明GP0/AN0/ CIN+/ICSPDATGP0TTLCMOS雙向I/O,帶可編程上拉和電平變化觸發(fā)中斷功能AN0ANA/D通道0輸入CIN+AN比較器輸入ICSPDATTTLCMOS串行編程I/O
15、GP1/AN1/ CIN-/VREF/ICSPCLKGP1TTLCMOS雙向I/O,帶可編程上拉和電平變化觸發(fā)中斷功能AN1ANA/D通道1輸入CIN-AN比較器輸入VREFAN外部參考電壓ICSPCLKST串行編程時鐘GP2/AN2/ T0CKI/INT/COUTGP2STCMOS雙向I/O,帶可編程上拉和電平變化觸發(fā)中斷功能AN2ANA/D通道2輸入T0CKISTTMR0時鐘輸入INTST外部中斷COUTCMOS比較器輸出GP3/MCLR/VPPGP3TTL輸入端口,帶電平變化觸發(fā)中斷功能MCLRST主清零VPPHV編程電壓GP4/AN3/ T1G/OSC2/CLKOUTGP4TTLCMO
16、S雙向I/O,帶可編程上拉和電平變化觸發(fā)中斷功能AN3ANA/D通道3輸入T1GSTTMR1門電路OSC2XTAL晶振/諧振器CLKOUTCMOSFOSC/4輸出GP5/T1CKI/OSC1/CLKINGP5TTLCMOS雙向I/O,帶可編程上拉和電平變化觸發(fā)中斷功能T1CKISTTMR1時鐘OSC1XTAL晶振/諧振器CLKINST外部時鐘輸入/RC振蕩器連接第3章 軟件設計有了硬件運行平臺,必須設計相應的軟件才能發(fā)揮其應有的功效。由于軟件的靈活性,可以根據(jù)系統(tǒng)的要求隨意的更改、增減,所以一個應用系統(tǒng)的智能化程度很大部分取決于軟件的結構是否合理,功能是否全面。本系統(tǒng)中的軟件主要完成了系統(tǒng)的初
17、始化,故障處理,中斷等功能。各功能模塊主要完成對供電線路電流信號進行采樣、計算輸出控制信號等功能主程序的設計。3.1 主程序設計主程序主要完成程序初始化、參數(shù)設置、響應中斷等功能。主程序示意圖如圖所示,啟動主程序,先進行初始化,包括定義各個引腳的輸入輸出方向,設置各計數(shù)器的初始值,讀上次運行期間的故障整定值等。主程序流程圖如圖3-1所示:圖3-1 主程序示意圖3.2 斷相檢測部分缺相保護是通過檢測缺相保護電路輸出信號的頻率來實現(xiàn)的。而在實際的處理上,當進入到工作狀態(tài)后,軟件會對采集到的信號進行分析,計算得出三相電是否存在缺相的情況,然后對缺相故障進行分析,作出相對應的分析處理。斷相檢測流程圖如
18、圖3-2所示:圖3-2 斷相檢測流程圖3.3 相序檢測部分相序檢測可通過對采集來的信號與預期值作比較,如果相符則相序正確,執(zhí)行后續(xù)程序;如果不相符則設置數(shù)據(jù)無效標志,不執(zhí)行后續(xù)程序。相序檢測流程圖如圖3-3所示:圖3-3 相序檢測流程圖第4章 系統(tǒng)制作與調試因為是在學校做的畢業(yè)設計,所以工具和材料都比較好找,但在焊接前不僅要考慮用到的元器件,還要考慮到元器件與元器件焊在一起所發(fā)生的變化,同時還考慮布局的美觀。在焊接時把元器件按照事先畫好的原理圖一一焊接在電路板上,因為在此之前已經(jīng)焊過很多次電路板,這次焊接對我來講比較容易的,但也要注意是否有虛焊、漏焊及短路等問題。4.1 元器件清單 在焊接電路
19、板時不僅要考慮元器件的功能,還要考慮到元器件的價格,本著節(jié)約和實用的原則,我使用到的元器件清單如表3所示:表3 元器件清單編號元器件規(guī)格元器件名稱數(shù)量1R1-31/4W 100K普通電阻32R4-61/4W 100普通電阻33R7-91/4W 10K普通電阻34R101/4W 330普通電阻15R111/4W 2K普通電阻16R121/4W 5K普通電阻17V1-3,V8-121N4007二極管88V4-6TIL817光耦39D18PIC插座110C4,C6-7,C9-11104獨石電容611C12-14103獨石電容312V79013三極管113RP1502微調電位器114C810V-100
20、uF電解電容115C516V-470uF電解電容116C1-31KV-333CBB電容317N17805三端穩(wěn)壓器118HL15綠發(fā)光管119KA13FF-9V-ZS繼電器120TC1DB2.5 380/9V 變壓器121JS14/JS8外殼時間繼電器122PIC12F675集成電路123輔料導線若干24輔料印制板14.2 硬件與軟件調試整個系統(tǒng)調試的主要思想是:先一個模塊進行調試,然后整個系統(tǒng)一起調試。先軟硬件分開調試,然后一起調試。遵循先部分后整體的原則。系統(tǒng)在調試過程中要注意以下幾點:(1)硬件電路焊完之后,在上電之前一定要先用萬用表檢測電源和地之間是否短路。(2)上電之后要用示波器觀察
21、信號在電路中變化的情況,與設計當初的情況相比較,找出差別,并進行分析。(3)軟件調試過程中可以使用斷點、單步執(zhí)行等常用的方法。(4)軟硬件聯(lián)調時,要注意軟件部分要一個功能一個功能地調試。第5章 總結與體會當我的研究課題三相電源斷相與相序保護器設計定下來的時候,首先與指導老師進行了溝通,告訴我課題的基本要求、重難點及相關的資料。然后著手于資料的收集工作,當面對浩瀚的書海時真是有些茫然,不知如何下手。不過,在指導老師的多次介紹下,終于使我對自己研究的課題有了思路在搜集資料的過程中,我也同時工作了,因為做論文的時間更加少了。搜集資料的過程中還是比較艱辛的,還在網(wǎng)上查找各類相關資料,將這些寶貴的資料全
22、部記在筆記本上,盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫。然后我將收集到的資料仔細整理分類,及時拿給導師進行溝通,再結合之前學過的一些單片機的相關知識,我相信能夠很好的完成這篇論文。在研究設計論文中,不僅使我增長了很多課堂上所學不到的知識,而且還讓我對單片機的各類芯片、三相電源的控制方式有了更深入的了解。畢業(yè)設計收獲很多,比如學會了查找相關資料相關標準,分析數(shù)據(jù),提高了自己的繪圖能力,懂得了許多經(jīng)驗公式的獲得是前人不懈努力的結果,更讓我體會到做什么事情都應該仔細認真,碰到問題的時候應該及時找資料或者找老師把問題弄清楚,這對我以后的人生閱歷也是一個無比的財富!但是畢業(yè)設計也暴露出自己
23、專業(yè)基礎的很多不足之處。比如缺乏綜合應用專業(yè)知識的能力,對各種控制器件的不了解等等。這次設計是對自己大學三年所學的一次大檢閱,使我明白自己知識還很淺薄,雖然馬上要畢業(yè)了,但是自己的求學之路還很長,以后更應該在工作中學習,努力使自己成為一個對社會有所貢獻的人。 通過實際應用顯示,該繼電器的可靠性和抗干擾都有所提高,對于電網(wǎng)質量較差、電源干擾嚴重的場合使用效果尤為明顯,同時也簡化了電路,降低了繼電器的體積和成本。通過驗證和測試,本設計是成功的。本次畢業(yè)設計完成了三相電保護繼電器的硬件設計研發(fā),系統(tǒng)達到了預期性能的要求,并對軟件編程有了一定的了解,同時學到了很多新的知識,邊學習邊實踐,使接受新知識的
24、速度更快了,更容易接受了。更重要的是,讓我體會到了無數(shù)次的失敗,無數(shù)次的步入誤區(qū),但在指導老師和同學們的幫助下又一次次的重樹信心,一次次的走出誤區(qū),讓我成長不少。這些為我將來的工作都提供了寶貴的經(jīng)驗。致 謝大學三年的學習生活時光已經(jīng)接近尾聲,在此我想對我的母校、老師和同學們表達我由衷的謝意,感謝母校浙江機電職業(yè)技術學院給了我在大學三年深造的機會,讓我有機會繼續(xù)學習和提高;感謝電子1034班的老師和同學們?nèi)陙淼年P心和鼓勵。老師們不僅在課堂上講的激情洋溢,而且在課堂下也會教我們許多待人接物與為人處世的道理;同學們在學習中的認真熱情和生活上的熱心主動,所有的這些都讓我充滿了感動。大學三年的求學生涯
25、在老師同學、親朋好友的大力支持下,走得艱辛卻也收獲頗多。在論文即將完成之際,我思緒萬千,心情久久不能平靜。從開始選擇課題到論文的順利完成,一直都離不開老師、同學、朋友對我的幫助,在這里請接受我誠摯的謝意!說心里話,作為一個大專生,學習到的知識和技能都是有限的,所以畢業(yè)論文是在我的指導老師-朱荔老師的親切關懷與細心指導下完成的。從課題的選擇到論文的最終完成,朱老師始終都給予了細心的指導,希望借此機會向朱老師表示最衷心的感謝!此外,本文最終得以順利完成,也與其他老師的幫助分不開的,雖然他們沒有直接參與我的論文指導,但是給我提供了不少的意見和一系列可行性的建議,在此向他們表示深深的感謝!最后要感謝的
26、是我的父母,他們?yōu)槲夷軌蝽樌耐瓿蓪W業(yè)和畢業(yè)論文都提供了巨大的支持與幫助。在未來的日子里,我會更加努力的學習和工作,不辜負父母對我的期望!最后再一次感謝所有在畢業(yè)設計中曾經(jīng)幫助過我的良師益友和同學,以及在論文中被我引用或參考論著的作者。歷時將近兩個月的時間終于將這篇論文寫完,在論文的寫作過程中遇到了無數(shù)的困難和障礙,都在老師和同學的幫助下度過了。35參 考 文 獻1李海濤.PIC單片機應用開發(fā)典型模塊M.人民郵電出版社.2007年11月.2夏敏磊.電子電路分析制作與調試M.北京:電子工業(yè)出版社.2010年10月.3鮑小南.單片微型計算機原理及應用M.浙江大學出版社.2007年8月.4張皆喜.P
27、IC系列單片機C語言編程與應用實例M.電子工業(yè)出版社.2008年6月.5康華光.電子技術基礎M.高等教育出版社.2000年.6何立民.單片機應用系統(tǒng)設計M.北京航空航天大學出版社.1990年7月.7江思敏 姚鵬翼 胡榮.Protel電路設計教程M.清華大學出版社.2002年5月.8歐偉明 瞿遂春.三相交流電源相序指示與控制器J.高壓電器,2006,(1):75-76.9陳代全.多功能電機保護電路M.成都:科大出版社,2006:50.10歐陽三泰 歐陽希 周琴.三相異步電動機電源缺相錯相保護電路J.電器應用,2005,(3):52-54.附 錄附錄A 原理圖附錄B 程 序#definePIC12
28、f675#include <PIC.H>#include "D:PicmateMYLIBMYPIC.H"#include "D:PicmateMYLIBAD_ANSEL.C"/AD轉換(10位)#include "D:PicmateMYLIBAD10.C"/AD轉換(10位)#include "D:PicmateMYLIBDELAY.C"/AD轉換(10位) _CONFIG (INTIO & CPD & PROTECT & BOREN & MCLRDIS & PW
29、RTEN & WDTDIS);/_CONFIG (XT & PROTECT & PWRTEN & WDTDIS);#defineJC_AGPIO5 /A,B,C三相#defineJC_BGPIO4#defineJC_CGPIO3#define JC_AD GPIO0 /AD檢測端口(10位ad)#define LAMP GPIO1 /燈輸出#define OUTKM GPIO2 /繼電器輸出union unsigned char all; struct unsigned b0: 1; unsigned b1: 1; unsigned b2: 1; unsigne
30、d b3: 1; unsigned b4: 1; unsigned b5: 1; unsigned b6: 1; unsigned b7: 1; onebit;rain,flag,raout;#define flagall flag.all#define flaga flag.onebit.b7 /A相#define flagb flag.onebit.b6 /B相#define flagc flag.onebit.b5 /C相#define flagok flag.onebit.b4 /相序正確#define flagdx flag.onebit.b3 /B相#define flagcx f
31、lag.onebit.b2 /C相#define rainall rain.all#define raoutall raout.all#define in_a rain.onebit.b5 /A相#define in_b rain.onebit.b4 /B相#define in_c rain.onebit.b3 /C相#define out_lamp raout.onebit.b1 /燈輸出#define out_km raout.onebit.b2 /繼電器輸出unsigned int adval,zadval,aver,count; /AD轉換次數(shù)unsigned int adbuf8;u
32、nsigned char COU,bc1,bc2;unsigned char time,flagABC,lampcount; unsigned char dxcount,cxcount,lowcount,highcount; /中斷中使用unsigned int time_a;unsigned char time_b; /刷新顯示 unsigned char time_1ms;unsigned int time_sec; /一秒計時unsigned int time_sec02; /一秒計時unsigned char time_in1; /中斷計時in1時間unsigned char time
33、_in2; /中斷計時in2時間unsigned char time_in3; /中斷計時in3時間unsigned char time_dx;bit secflag; /一秒標志bit flagks; /延時開始標志bit flagks1; /延時開始標志bit sec05s; /0.5秒標志bit sec02s; /0.2秒標志bit zqflag; /周期標志void initial (void);/初始化程序/uint AD(unsigned char ,unsigned char);void t100us(unsigned int);void deal_low (void);void
34、 lamprun (void);void initial (void) GPIO=0;TRISIO=0X39; VRCON=0; CMCON=0X02; ANSEL=0; OPTION=0X80; /0X80 INTCON=0; GIE=1; ADCON0=0;/AD設置 PORTA=0;/A,B,C口初始化輸出低 PORTB=0; PORTC=0; TRISA=0B00111001;/A,B,C口的輸入輸出設置 TRISB=0B11100000; TRISC=0B00000000; ADCON1=0X07; INTCON=0xC0;/中斷使能 PEIE=1; GIE=1;/開中斷void t
35、mr0set (void) OPTION=0b10000001; /TMR0 1:4 分頻 T0IE=1; T0IF=0;void deal_cx (void) unsigned char i,j; out_km=0; if(sec02s=1) sec02s=0; if(out_lamp=0) out_lamp=1; else out_lamp=0; void deal_dx (void) unsigned char i,j; out_km=0; out_lamp=0; t100us(2000);void deal_ok (void) unsigned char i,j; cxcount=0;
36、 deal_low();void deal_abc (void) unsigned char i,j; flagok=1; if(flagcx=1) deal_cx(); else if(flagok=1) deal_ok();void deal_low (void) unsigned char i,j; if(out_km=1) out_km=1; if(aver<614) lowcount+; if(lowcount>=100) lowcount=100; out_km=0; lamprun(); else if(out_km=0) if(aver>=737) highc
37、ount+; if(highcount>=100) highcount=100; out_km=1; out_lamp=1; else if(out_km=1) out_km=1; out_lamp=1; else lamprun(); void cx_flag (void) flagcx=1; flagok=0;void dx_flag (void) flagdx=1; flagok=0; flagcx=0;void ok_flag (void) flagok=1; flagcx=0;void t100us(unsigned int k)unsigned char i;do i=29;
38、t50us_1: -i; if(i>0) goto t50us_1; k-; while(k>0);NOP(); void sort_n(uchar N) unsigned int TMP=0; uchar CYJ,CYI; for(CYJ=N-1;CYJ>0;CYJ-) for(CYI=1;CYI<=CYJ;CYI+) NOP(); if(adbufCYI>adbufCYI-1) TMP=adbufCYI; adbufCYI=adbufCYI-1; adbufCYI-1=TMP; NOP(); void AD_16() /adval=AD(0X80,4); /檢
39、測AD值(RA0) /adval=adval>>6; adval=AD(0X81,0); adbufcount=adval; count+; if(count>=8) count=0; sort_n(8); zadval=adbuf3+adbuf4; aver=zadval>>1;void lamprun (void) if(sec05s=1) sec05s=0; if(out_lamp=1) out_lamp=0; else if(out_lamp=0) out_lamp=1; void main() initial(); tmr0set(); flagdx=0
40、; raoutall=0; for(count=10;count>0;count-) t100us(1000); CLRWDT(); while(1) AD_16(); if(aver>696) highcount+; lowcount=0; else lowcount+; highcount=0; if(flagdx=1) break; if(flagcx=1) deal_cx(); else if(flagok=1) if(highcount>=20) out_km=1; out_lamp=1; GPIO=raoutall; break; else if(lowcount>=20) out_km=0; GPIO=raoutall; break; /lamprun();GPIO=raoutall; t100us(100); while(1) if(flagdx=1) break; if(zqflag=1) zqflag=0; AD_16(); if(flagcx=1) deal_cx(); else if(flagok=1) cxcount=0; deal_low(); GPIO=raoutall; void interrupt isr (void) if(T0IE && T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省龍東地區(qū)2024-2025學年高一上學期階段測試(二)(期中) 語文 含解析
- 2024室內(nèi)智能物流機器人
- 常德2024年05版小學六年級下冊英語第五單元綜合卷
- 鄭州-PEP-2024年小學六年級上冊英語第二單元寒假試卷
- 珠寶生產(chǎn)企業(yè)的賬務處理分錄-記賬實操
- 強化企業(yè)安全生產(chǎn)-責任落實十項
- 概括內(nèi)容要點理解詞句含義-2025年高考語文一輪復習知識清單(解析版)
- 1.1 反比例函數(shù) 同步練習
- 2024年初級經(jīng)濟師之初級金融專業(yè)模擬考試試卷B卷(含答案)
- 平面圖形的鑲嵌評課稿(10篇)
- 同底數(shù)冪的乘法練習
- 醫(yī)院檢驗科實驗室生物安全程序文件SOP
- 崗位競聘課件(完美版)
- 中國新聞事業(yè)發(fā)展史 第十四講 新聞事業(yè)的曲折發(fā)展
- JJG 270-2008血壓計和血壓表
- 中職數(shù)學《平面的基本性質》課件
- 塵肺病的知識講座
- 大學生生涯規(guī)劃與職業(yè)發(fā)展智慧樹知到期末考試答案2024年
- 消毒供應室護理查房
- 年產(chǎn)十二萬噸天然橙汁食品工廠設計樣本
- 消防安全與建筑設計的結合
評論
0/150
提交評論