at89s52單片機控制的智能型金屬探測器-畢業(yè)設(shè)計_第1頁
at89s52單片機控制的智能型金屬探測器-畢業(yè)設(shè)計_第2頁
at89s52單片機控制的智能型金屬探測器-畢業(yè)設(shè)計_第3頁
at89s52單片機控制的智能型金屬探測器-畢業(yè)設(shè)計_第4頁
at89s52單片機控制的智能型金屬探測器-畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

平頂山工學(xué)院畢業(yè)設(shè)計(論文)PAGE45目錄摘要 1ABSTRACT 2第一章緒論 31.1選題的意義 31.2國內(nèi)外研究現(xiàn)狀及存在問題 31.3設(shè)計的基本思路 4第二章分析探測金屬的理論依據(jù) 52.1線圈介質(zhì)條件的變化 52.2渦流效應(yīng) 6第三章硬件電路設(shè)計 73.1系統(tǒng)組成 73.2硬件電路功能描述 83.3整機工作原理描述 28第四章系統(tǒng)軟件設(shè)計 294.1軟件設(shè)計思想 294.2數(shù)字濾波及算法說明 304.3主程序流程圖 314.4主要子程序模塊設(shè)計 32第五章主要技術(shù)指標(biāo)分析 42總結(jié) 43致謝 44參考文獻(xiàn) 45附錄 46摘要木文著重介紹了一種基于AT89S52單片機控制的智能型金屬探測器的硬件組成、軟件設(shè)計、工作原理及主要功能。該金屬探測器以AT89S52單片機為核心,采用線性霍爾元件UGN3503作為傳感器,來感應(yīng)金屬渦流效應(yīng)引起的通電線圈磁場的變化,并將磁場變化轉(zhuǎn)化為電壓的變化,并與設(shè)定的電壓基準(zhǔn)值相比較后,判定是否探測到金屬。系統(tǒng)軟件采用匯編語言編寫。在軟件設(shè)計中,采用了數(shù)字濾波技術(shù)消除干擾,提高了探測器的抗干擾能力,確保了系統(tǒng)的準(zhǔn)確性。此外,文中還對影響金屬探測器的靈敏度與穩(wěn)定性的因素進(jìn)行了探討,儀器的工作頻率、檢測線圈的尺寸及匝數(shù)等是影響靈敏度的主要因素;而應(yīng)用現(xiàn)場的環(huán)境溫度、濕度及線圈的制作工藝和供電電源的穩(wěn)定程度是儀器穩(wěn)定性的影響因素。關(guān)鍵詞:單片機;金屬探測器;線性霍爾元件ABSTRACTThispaperdescribesthecompositionofhardwareandsoftware,workingprinciplesandthefunctionsofanintelligentmetaldetectorwhichmainlyconsistsofAT89S52singleChipMicyocoandlinearHall-EffectSensor.TheequipmentadoptsUGN3503Ulinearhall-effectsensorasprobetodetectthemagneticfieldchangeofthecentreofasearchcoilresultedfromeddycurrenteffectandturnthismagneticfieldchangeintovoltagechange.TheSCMmeasuresthepeakvalueofvoltageandcomparesitwithreferencevoltage.Thedeterminewhetherdetectmetalornot.Incaseofdetectionofmetallicmass,theMetalDetectorprovidesanacousticalandopticalalarm.Thesystemssoftwareadoptstheassemblerlanguagetobewritten.Insidethesoftware,thedigitalfiltertechnologyisutilizedtoeliminatethejamming.Sothestabilityofsystemandthemeasuringveracityareimproved.TheeffectofallfactorsonsensitivityandstabilityofMetalDetectorarediscussedinthispaper.Itisconcludedthattheoperatingfrequency,thesizeofthesearchcoilandturnsarethemainfactorseffectedonthesensitivityoftheinstrument,theenvironmenttemperatureandhumidityinsite,thewindingtechnologyofcoilsandthestabilityofpowersupplyarethefactorseffectedonstabilityofinstrument.KEYWORDS:SCM(SingleChipMicyoco);metaldetector;linearhall-effectsensor第一章緒論1.1選題的意義金屬檢測系統(tǒng)作為一種最重要的安全檢查設(shè)備,己被廣泛地應(yīng)用于社會生活和工業(yè)生產(chǎn)的諸多領(lǐng)域。在食品生產(chǎn)過程中對金屬混入物的檢測或交通部門對旅客的安全檢查主要靠金屬探測儀。目前,就連考試也開始啟用金屬探測器來防止考生利用手機等通訊工具進(jìn)行作弊。 食品在生產(chǎn)加工過程中,常因設(shè)備的磨損、零件的脫落等造成金屬粉末、金屬粒子或針狀不定形的金屬異物混入食品中,給食品安全性帶來極大危害,對食品生產(chǎn)企業(yè)的信譽造成極大損失。因此,常采用金屬探測器對產(chǎn)品進(jìn)行檢測,杜絕金屬異物在產(chǎn)品中的存在。為了人們能夠吃到安全的食品,設(shè)計一種智能金屬檢測系統(tǒng)來檢測對人們身體健康構(gòu)成危害的金屬異物勢在必行。1.2國內(nèi)外研究現(xiàn)狀及存在問題1.2.1國內(nèi)外研究現(xiàn)狀隨著科學(xué)技術(shù)的發(fā)展,金屬探測器經(jīng)歷了幾代探測技術(shù)的變革,從最初的信號模擬技術(shù)到連續(xù)波技術(shù)直到今天所使用的數(shù)字脈沖技術(shù),金屬探測器簡單的磁場切割原理被引入多種科學(xué)技術(shù)成果。無論是靈敏度、分辨率、探測精確度還是工作性能上都有了質(zhì)的飛躍。應(yīng)用領(lǐng)域也隨著產(chǎn)品質(zhì)量的提高延伸到了多個行業(yè)。金屬探測器的一個重大技術(shù)進(jìn)步就是分段限時技術(shù)的出現(xiàn),世界幾大著名的金屬探測器生產(chǎn)廠商,如EIPaso、CeiaUSA、Ranger&Metorex等,均投入了相當(dāng)?shù)馁Y金從事這項研究、開發(fā)工作。它利用探測器的側(cè)面或另一儀表盤上的燈光來指示或顯示出人體中金屬物品的近似位置,可以用在諸如法庭以及其他不允許發(fā)出聲音的地方,雖然關(guān)閉了探測器的音量,但它仍能顯示并提醒操作人員何時何處有金屬物品存在。金屬探測器對工業(yè)生產(chǎn)及人身安全起著重要的作用。而為了能夠準(zhǔn)確判定金屬物品藏匿的位置,就需要金屬探測器具有較高的檢測精度。目前,國外雖然已有較為完善的系列產(chǎn)品(如EIPaso、CeiaUSA、Ranger&Metoerx等廠商的產(chǎn)品),但價格極其昂貴;國內(nèi)傳統(tǒng)的金屬探測器則是利用模擬電路進(jìn)行檢測和控制的,其電路復(fù)雜,探測靈敏度低,且整個系統(tǒng)易受外界環(huán)境如溫度、濕度、電焊等諸因素的干擾。1.2.2存在問題傳統(tǒng)的方法是傳感器探頭由LC正弦波振蕩電路組成,當(dāng)金屬物經(jīng)過探頭或?qū)⑻筋^在金屬物附近移動時,由于磁場變化在金屬體內(nèi)產(chǎn)生渦流,導(dǎo)致LC振蕩電路失諧,從而使振蕩輸出電壓發(fā)生改變,據(jù)此信號系統(tǒng)可探測到附近金屬物的存在。這種電路一般采用模擬電路設(shè)計,抗干擾能力差,影響整個系統(tǒng)的穩(wěn)定性,導(dǎo)致波形失真甚至停止振蕩。由于模擬電路比較復(fù)雜,所用的器件太多,導(dǎo)致在金屬接近磁敏探頭時,探測的靈敏度低,環(huán)境變化或元件老化造成電路工作點漂移。1.3設(shè)計的基本思路本文介紹的基于單片機控制的智能型金屬探測器,采用靈敏度極高的線性霍爾元件作為傳感器,檢測由于金屬出現(xiàn)引起的探測線圈周圍磁場的變化,提高了檢測精度;處理部件則采用AT89S52單片機作為檢測和控制核心,對檢測結(jié)果進(jìn)行分析判斷,有效地保證了檢測原理的實施;此外,利用軟件濾波的方法代替了傳統(tǒng)探測器復(fù)雜的模擬電路器件,大大提高了系統(tǒng)的可靠性、靈敏度和抗干擾性。適用于固體食品生產(chǎn)過程中對金屬混入物的檢測,也可用于探測隱藏于墻內(nèi)、護墻板內(nèi)側(cè)、空洞和土壤中的上述物品和其他金屬物。第二章分析探測金屬的理論依據(jù)金屬探測器是采用線圈的電磁感應(yīng)原理來探測金屬的。根據(jù)電磁感應(yīng)原理,當(dāng)有金屬物靠近通電線圈平面附近時,將出現(xiàn)渦流效應(yīng)。2.1線圈介質(zhì)條件的變化當(dāng)金屬物接近通電線圈時,將使通電線圈周圍的磁場發(fā)生變化,如圖2-1,對于半徑為R的單匝與圓形電感線圈,當(dāng)其中通過交變電流時,線圈周圍空間產(chǎn)生交變磁場,根據(jù)畢奧一薩伐爾定律可計算出線圈中心軸線上一點的磁感應(yīng)強度B為:=(2-1)式中;——介質(zhì)的磁導(dǎo)率;——相對磁導(dǎo)率;——真空磁導(dǎo)率。對于緊密纏繞N匝的線圈,線圈中心軸線上一點的磁感應(yīng)強度則為:(2-2)由公式(2-2)可知,當(dāng)在線圈有效探測范圍內(nèi)沒有金屬物存在時,(非金屬的相對磁導(dǎo)率),線圈中心磁感應(yīng)強度B保持不變,當(dāng)線圈有效探測范圍內(nèi)出現(xiàn)鐵磁性金屬物時,會變大,B隨也會變大。圖2-1圓形電感線圈軸線上磁場的計算2.2渦流效應(yīng)根據(jù)電磁理論,我們知道,當(dāng)金屬物體被置于變化的磁場中時,金屬導(dǎo)體內(nèi)就會產(chǎn)生自行閉合的感應(yīng)電流,這就是金屬的渦流效應(yīng)。渦流要產(chǎn)生附加的磁場,與外磁場方向相反,削弱外磁場的變化。據(jù)此,將一交流正弦信號接入繞在骨架上的空心線圈,流過線圈的電流會在周圍產(chǎn)生交變磁場,當(dāng)將金屬靠近線圈時,金屬產(chǎn)生的渦流磁場的去磁作用會削弱線圈磁場的變化。金屬的電導(dǎo)率越大,交變電流的頻率越大,則渦電流強度越大,對原磁場的抑制作用越強。通過以上分析可知,當(dāng)有金屬物靠近通電線圈平面附近時,無論是介質(zhì)磁導(dǎo)率的變化,還是金屬的渦流效應(yīng)均能引起磁感應(yīng)強度B的變化。對于非鐵磁性的金屬,包括抗磁體(如:金、銀、銅、鉛、鋅等)和順磁體(如錳、鉻、欽等),,較大,可以認(rèn)為是導(dǎo)電不導(dǎo)磁的物質(zhì),主要產(chǎn)生渦流效應(yīng),磁效應(yīng)可忽略不計;對于鐵磁性金屬(如:鐵、鉆、鎳)很大,也較大,可認(rèn)為是既導(dǎo)電又導(dǎo)磁物質(zhì),主要產(chǎn)生磁效應(yīng),同時又有渦流效應(yīng)。本設(shè)計正是基于這樣的理論,尋找一種適合的傳感器檢測感應(yīng)線圈磁場的變化,并把磁場信號的變化轉(zhuǎn)變成電信號的變化,從而實現(xiàn)單片機的控制。正是本著這樣一個設(shè)計思路來構(gòu)建系統(tǒng)的硬件電路。第三章硬件電路設(shè)計3.1系統(tǒng)組成如圖3-1所示,整個探測系統(tǒng)以8位單片機AT89S52作為控制核心,其硬件電路分為兩個部分,一部分為線圈振蕩電路,包括:多諧振蕩電路、放大電路和探測線圈;另一部分為控制電路,包括:UGN3503型線性霍爾元件、前置放大電路、峰值檢波電路、ADC0809模數(shù)轉(zhuǎn)換器、AT89S52單片機、LED顯示電路、聲音報警電路及電源電路等。圖3-1系統(tǒng)結(jié)構(gòu)框圖具體電路連接見附錄所示電路原理圖。3.2硬件電路功能描述3.2.1線圈振蕩電路圖3-2線圈振蕩電路原理圖工作過程中,由555定時器構(gòu)成一個多諧振蕩器,產(chǎn)生一頻率為24KHz、占空比為的脈沖信號。振蕩器的頻率計算公式為:(3-1)圖示參數(shù)對應(yīng)的頻率為24KHz。從多諧振蕩器輸出的正脈沖信號經(jīng)過電容輸入到的基極(為的9013H),使其導(dǎo)通,經(jīng)放大之后,就形成了頻率穩(wěn)定度高、功率較大的脈沖信號輸入到探測線圈中,在線圈內(nèi)產(chǎn)生瞬間較強的電流,從而使線圈周圍產(chǎn)生恒定的交變磁場。由于在脈沖信號作用下,處于開關(guān)工作狀態(tài),而導(dǎo)通時間又非常短,所以非常省電,可以利用+9V電池供電。3.2.2數(shù)據(jù)采集電路圖3-3數(shù)據(jù)采集電路原理圖(1)線性霍爾傳感器(linearHall-EffectSensors)在電路設(shè)計中,選用了美國ALELGRO公司生產(chǎn)的UGN3503U線性霍爾傳感器,來檢測圖3-2中通電線圈周圍的磁場變化。UGN3503U線性霍爾傳感器的主要功能是可將感應(yīng)到的磁場強度信號線性地轉(zhuǎn)變?yōu)殡妷盒盘?。它的功能框圖示于圖3-4。圖3-4UGN3503U的功能框圖霍爾元件是依據(jù)霍爾效應(yīng)制成的器件。其結(jié)構(gòu)原理如圖3-4所示。圖3-5霍爾效應(yīng)結(jié)構(gòu)原理在一塊半導(dǎo)體薄片上兩端通以電流I并加上與電流I方向垂直的磁場B,在與電流I和磁場B都垂直的方向上出現(xiàn)一個電壓,如圖3-5的,這種現(xiàn)象就是霍爾效應(yīng)。這種現(xiàn)象的產(chǎn)生,是因為通電半導(dǎo)體片中的載流子在磁場產(chǎn)生的洛侖茲力的作用下,分別向半導(dǎo)體片M、N兩側(cè)偏轉(zhuǎn)和積聚,因而形成一個電場,稱作霍爾電場?;魻栯妶霎a(chǎn)生的電場力和洛侖茲力方向相反,它阻礙載流子繼續(xù)堆積,直到霍爾電場力和洛侖茲力大小相等。這時,半導(dǎo)體片M、N兩側(cè)建立起一個穩(wěn)定的電壓,這就是霍爾電壓?;魻栯妷嚎捎孟率奖硎荆?3-2)式中—霍爾常數(shù)();I—電流(A);B—磁感應(yīng)強度(T);d—霍爾元件的厚度(m)。令,則得到(V)(3-3)由上式可知,霍爾電壓的大小正比于控制電流I和磁感應(yīng)強度B。稱為霍爾元件的靈敏度,它與元件材料的性質(zhì)與幾何尺寸有關(guān)。因此當(dāng)外加電壓源電壓一定時,通過的電流I為一恒值,此時輸出電壓只與加在霍爾元件上的磁場B的大小成正比,即:(V)(3-4)此時為常數(shù)。因此,任何引起磁場強度變化的物理量都將引起霍爾輸出電壓的變化。據(jù)此,將霍爾元件做成各種形式的探頭,固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測工作磁場,再根據(jù)霍爾輸出電壓的變化提取被檢信息,這就是線性霍爾元件的基本物理依據(jù)和作用。本設(shè)計中采用的線性霍爾傳感器UGN3503U就是將霍爾元件、高增益線性差分放大器和射極跟隨器集成在同一半導(dǎo)體基片上,為用戶提供了一個由外電壓源驅(qū)動、使用方便的磁敏傳感器。該器件的磁電轉(zhuǎn)換特性曲線:其輸出電壓和加在霍爾元件上的磁感強度B成比例。它的靈敏度典型值為13.5mV/mT,靜態(tài)輸出電壓為2.5V,輸出電阻為0.05,mini-SIP封裝。具有靈敏度高,線性度好;結(jié)構(gòu)牢固,體積小,重量輕,耐震動,功耗小,壽命長,率高(可達(dá));輸出噪聲低等特點。用它作探頭可測量,的交變和恒定磁場。在測量磁場時,將元件的第一腳(面對標(biāo)志面從左到右數(shù))接電源(工作電壓為5V),第二腳接地,第三腳接高輸入阻抗()電壓表,通電后,將電路放入被測磁場中,因霍爾器件只對垂直于霍爾片表面的磁感應(yīng)強度敏感,因而必須讓磁力線垂直于電路表面,當(dāng)沒有磁場()時,靜態(tài)輸出電壓是電源電壓的一半(即),當(dāng)外加磁場的南極靠近器件標(biāo)志面時,會使輸出電壓高于靜態(tài)輸出電壓;當(dāng)外加磁場的北極靠近器件標(biāo)志面時,會使輸出電壓低于靜態(tài)輸出電壓,但仍然是正值。利用線性霍爾傳感器UGN3503U的上述特性,將其接在數(shù)據(jù)采集電路的前端,并固定在探測線圈的中心,即可感應(yīng)線圈的磁場變化,并將磁場的變化信號轉(zhuǎn)化為電壓信號的變化而被后級電路拾取和放大。(2)放大和峰值檢波電路由于UGN3503U線性霍爾元件采集到的電壓信號是一個毫伏級的信號,信號十分微弱,所以,在對其進(jìn)行處理前,首先要進(jìn)行放大。在設(shè)計中,信號放大電路采用輸入阻抗高、漂移較小、共模抑制比高的集成運算放大器LM324。LM324是四運放集成電路,它采用14腳雙列直插塑料封裝,外形和引腳排列如圖3-6所示。含四組形式完全相同的運算放大器,除電源共用,四組運放相互獨立。圖3-6UGN3503外形和引腳排列UGN3503線性霍爾元件輸出的微弱信號經(jīng)電容耦合到前級運算放大器U2A的同相輸入端,運算放大器U2A把霍爾元件感應(yīng)到的電壓轉(zhuǎn)換為對地電壓。在電路設(shè)計中,運放LM324采用+5V單電源供電,對于不同強度的信號均可通過調(diào)節(jié)前級放大電路的反饋電位器來改變其放大倍數(shù)。經(jīng)前級運算放大器放大的信號經(jīng)耦合電容輸入到后級峰值檢測電路中。采用阻容耦合的方法可以使前后級電路的靜態(tài)工作點保持獨立,隔離各級靜態(tài)之間的相互影響,使得電路總溫漂不會太大。峰值檢測電路由兩級運算放大器組成,第一級運放U2B入信號的峰值傳遞到電容上,并保持下來。第二級運放U2C緩沖放大器,將輸出與電容隔離開來。在設(shè)計中,為了獲得優(yōu)良的保持性能和傳輸性能,同樣采用了輸入阻抗高、響應(yīng)速度較快、跟隨精度較好的運算放大器LM324,這樣可有效地利用LM324的資源,減少使用元器件的數(shù)量,降低了成本。當(dāng)輸入電壓上升時,跟隨上升,使二極管、導(dǎo)通,截止,運放U2B工作在深度負(fù)反饋狀態(tài),給電容充電,上升。當(dāng)輸入電壓下降時,跟隨下降,導(dǎo)通,U2B也工作在深度負(fù)反饋狀態(tài),深負(fù)反饋保證了二極管、可靠截止,值得以保持。當(dāng)再次上升使上升并使、導(dǎo)通,截止,再次對電容充電(高于前次充電時電壓),下降時,、又截止,導(dǎo)通,將峰值再次保持。輸出反映的大小,通過峰值檢波和后級緩沖放大電路,將采集到的微弱電壓信號放大至0V~5V的直流電平,以滿足A/D轉(zhuǎn)換器ADC0809所要求的輸入電壓變換范圍,然后通過A/D轉(zhuǎn)換電路將檢測到的峰值轉(zhuǎn)化成數(shù)字量。(3)A/D轉(zhuǎn)換電路由于采集到的信號是連續(xù)變化的模擬量,不能被單片機直接處理,所以,必須把這些模擬量轉(zhuǎn)換成數(shù)字量后才能夠輸入到單片機中進(jìn)行處理,這里選用了經(jīng)濟實用的ADC0809型A/D轉(zhuǎn)換器來完成模數(shù)轉(zhuǎn)換。ADC0809芯片內(nèi)部結(jié)構(gòu)和工作時序示于圖3-7和圖3-8。圖3-7ADC0809芯片的內(nèi)部結(jié)構(gòu)圖3-8ADC0809的工作時序ADC0809是8位逐次逼近型啊A/D轉(zhuǎn)換器,片內(nèi)有八路模擬開關(guān),可對八路模擬電壓量實現(xiàn)分時轉(zhuǎn)換,轉(zhuǎn)換速度為(即10千次∕1秒)。址鎖存允許信號ALE=1時,3位地址信號A、B、C送入地址鎖存器,選擇8路模擬量中的一路實現(xiàn)A/D變換。本設(shè)計中只使用通道IN0,地址譯碼器ABC直接接地為000,采用線選法尋址。ADC0809片內(nèi)有三態(tài)輸出緩沖器,可直接與單片機的數(shù)據(jù)總線相連接,這里將它的數(shù)據(jù)輸出口直接與單片機的數(shù)據(jù)總線P0連接,AT89S52的P0口作為數(shù)據(jù)總線,又作為低8位地址總線。ADC0809的片內(nèi)沒有時鐘,時鐘信號必須由外部提供,這里利用AT89S52提供的地址鎖存允許信號ALE經(jīng)計數(shù)器74LS163構(gòu)成的4分頻器分頻獲得。ALE引腳的頻率是單片機時鐘頻率的1/6,單片機時鐘頻率為12MHz,則ALE引腳頻率約為2MHz,再經(jīng)4分頻后為500kHz,所以ADC0809能可靠工作。ADC0809的模擬輸入范圍:單極性0~5V,設(shè)計中采用+5V單電源供電。如圖3-9所示放大后的電壓信號送入ADC0809的模擬輸入通道IN0進(jìn)行A/D轉(zhuǎn)換。將P2.7(地址總線的A15)作為片選信號,由AT89S52的寫信號和P2.7控制ADC0809的地址鎖存ALE和轉(zhuǎn)換啟動START,當(dāng)ADC0809的START啟動信號輸入端為高電平時,A/D開始轉(zhuǎn)換,在時鐘的控制下,一位一位地逼近,比較器一次次進(jìn)行比較,轉(zhuǎn)換結(jié)束時,送出轉(zhuǎn)換結(jié)束信號EOC(低到高),并將8位數(shù)字量D7~D0存到輸出緩存器。AT89S52的讀信號端發(fā)出一個輸出允許命令輸入到ADC0809的ENABEL(即OE)端,ENABEL(OE)端呈高電位,用以打開三態(tài)輸出鎖存器,AT89S52從ADC0809讀取相應(yīng)電壓數(shù)字量,然后存入數(shù)據(jù)緩沖器中。圖3-9A/D轉(zhuǎn)換電路3.2.3系統(tǒng)控制單元采用AT89S52單片機。AT89S52是一個低功耗,高性能CMOS8位單片機,片內(nèi)含8KbytesIsp(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng)及AT89S52引腳結(jié)構(gòu)(引腳圖如圖3-10所示),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元。圖3-10AT89S52引腳圖AT89S52片內(nèi)結(jié)構(gòu)如圖3-11所示,它具有如下特點:40個引腳,8KbytesFlash片內(nèi)程序存儲器,256bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,看門狗定時(WDT)電路,2個數(shù)據(jù)指針,3個16位可編程定時計數(shù)器,5個中斷優(yōu)先級2層中斷嵌套中斷,2個全雙工串行通信口,片內(nèi)時鐘振蕩器。此外,AT89S52設(shè)計和配置了振蕩頻率可為12MHz,并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM、定時計數(shù)器、串行口及外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。其工作電壓為+5V,晶振頻率采用12MHz。圖3-11AT89S52內(nèi)部結(jié)構(gòu)3.2.4時間顯示模塊1.日歷芯片(1)DS1302的結(jié)構(gòu)及工作原理DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、時、分、秒進(jìn)行計時,且具有閏年補償功能,工作電壓寬達(dá)2.5~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù),可用來保存重要數(shù)據(jù)。該芯片采用串行I/O接口方式。另外,在讀寫時鐘或RAM數(shù)據(jù)時,可采用單字節(jié)或多字節(jié)(串模式)方式傳送數(shù)據(jù)。它可在低功率情況下工作,在小于1,時也可保持?jǐn)?shù)據(jù)和時鐘信息。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。(2)DS1302內(nèi)部結(jié)構(gòu)和引腳說明DS1302內(nèi)部主要包括實時時鐘(REAL,TIMECLOCK),輸入移位寄存器(INPUTSLRFI,REGIS-TERS),31字節(jié)靜態(tài)RAM、電源控制部分(POWERCONTROL)、命令控制邏輯(COMMANDANDCON-TROLLOGIC)、振蕩器和分頻器(OSCILLATORANDDIVIDER)等部分。DS1302具有8腳DIP和SOIC封裝形式,其引腳排列如圖3-12所示。5526373748DS1302VCC1VCC2DS1302X1X2GNDSLCKI/ORST圖3-12DS1302內(nèi)部結(jié)構(gòu)和管腳圖其中1腳VCC1和5腳VCC2為電源電壓引腳,單電源供電時接VCC1腳,雙電源供電時,主工作電源接VCC2腳,備份電源接VCC1腳,備份電源可采用福一鎳充電電池,也可用1uf以上的大容量電容代替。芯片具有可編程選擇的對備份電池進(jìn)行微電流充電的功能,有效延長了備份電池的使用壽命。若啟用芯片內(nèi)部的微電流充電器,則在主工作電源正常工作時,由主工作電源向充電電池充電。備份電池電壓應(yīng)略低于主工作電源電壓,在系統(tǒng)掉電的情況下,則由備份電池向系統(tǒng)供電,以保證時鐘正常運行,并保持時鐘/日歷信息和31個字節(jié)靜態(tài)RAM中的重要數(shù)據(jù)信息不丟失;2腳X1和3腳X2為32.768KHz晶振引腳;8腳RST為復(fù)位端,若其被置為低電平,則中止所有數(shù)據(jù)傳送,I/O腳變?yōu)楦咦钁B(tài),系統(tǒng)復(fù)位;7腳I/O為數(shù)據(jù)輸人/輸出端;6腳SCLK為串行時鐘輸入端,所有地址l命令字節(jié)和數(shù)據(jù)字節(jié)都是在時鐘SCLK的同步控制下從I/O腳串行輸入輸出的。DS1302通過SCLK、I/O、RST三根線與外部進(jìn)行同步串行通信。VCC1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2兩者中的較大者供電。當(dāng)VCC2大于VCC1+0.2V時,VCC2給DS1302供電。當(dāng)VCC2小于VCC1時,DS1302由VCC1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK始終是輸入端。(3)DS1302的寄存器的說明DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。DS1302內(nèi)部寄存器CH:時鐘停止位寄存器2的第7位:12/24小時標(biāo)志CH=0振蕩器工作允許bit7=1,12小時模式CH=1振蕩器停止bit7=0,24小時模式WP:寫保護位寄存器2的第5位:AM/PM定義WP=0寄存器數(shù)據(jù)能夠?qū)懭階P=1下午模式WP=1寄存器數(shù)據(jù)不能寫入AP=0上午模式TCS:涓流充電選擇DS:二極管選擇位TCS=1010使能涓流充電DS=01選擇一個二極管TCS=其它禁止涓流充電DS=10選擇兩個二極管DS=00或11,即使TCS=1010,充電功能也被禁止A時鐘原理圖如圖3-13所示圖3-13A時鐘圖(4)地址/命令字節(jié)和寄存器格式定義在數(shù)據(jù)傳送時,首先向DS1302寫人地址/命令字節(jié),該字節(jié)提供地址和命信息,然后輸人或輸出數(shù)據(jù)。B7為數(shù)據(jù)傳送標(biāo)志位,要完成數(shù)據(jù)傳送,B7必須為邏輯“1”,否則不能向DS1302進(jìn)行寫操作。B6為RAM和時鐘寄存器選擇位,若為邏輯“0”,表明系統(tǒng)要對時鐘寄存器進(jìn)行讀寫操作;B6為邏輯“1”,表明系統(tǒng)要對RAM進(jìn)行讀寫操作。B1~B5確定要進(jìn)行讀寫操作的寄存器地址,當(dāng)B1~B5均為“1”時,選中多字節(jié)串模式傳送方式,則時鐘/日歷數(shù)據(jù)或者RAM數(shù)據(jù)以多字節(jié)串模式進(jìn)行傳送。B0為讀寫操作選擇位,若為邏輯“0”時,表明將進(jìn)行寫操作,即向DS1302輸入數(shù)據(jù);B0為邏輯“1”時,則表明將進(jìn)行讀操作,即從DS1302輸出數(shù)據(jù)。DS1302片內(nèi)有7個時鐘/日歷時標(biāo)寄存器,以壓縮BCD碼格式存放時鐘舊歷數(shù)據(jù)。秒寄存器的最高位B7是時鐘停止標(biāo)志,當(dāng)該位為“1”時,時鐘晶振停止運行;當(dāng)該位為“0”時,時鐘開始運行。小時寄存器的最高位B7是12/24小時方式選擇位,當(dāng)為“0”時,選擇24小時方式;當(dāng)為“1”時,選擇12小時方式,該寄存器的B5是上/下午標(biāo)志位,B5為“0”表示上午,B5為“1”,表示下午。DS1302片內(nèi)還有控制寄存器,微電流充電寄存器,串模式控制寄存器。控制寄存器的最高位B7是寫保護位,在向時鐘寄存器或RAM中寫入數(shù)據(jù)之前,B7必須為“0”,如為“1”,則禁止對DS1302進(jìn)行任何寫操作,該寄存器中B0~B6始終被置為“0”。微電流寄存器控制DS1302的微電流充電功能,其中微電流充電選擇位B4~B7控制微電流充電器的選擇,為防止誤操作,只有1010格式才能夠使充電器工作。DS1302在上電時,微電流充電器不被使能,只有在軟件程序中對其進(jìn)行選擇。二極管選擇位B2~B3和電阻選擇位B0~B1分別選擇連在VCC1和VCC2之間充電通道上的二極管和電阻的數(shù)目。(5)讀寫操作時序在數(shù)據(jù)傳送時,首先傳送地址/命令字節(jié),確定下一步將要執(zhí)行讀操作還是寫操作;將要訪問的是時鐘寄存器還是RAM存儲器及其地址;采用單字節(jié)傳送方式還是多字節(jié)(串模式)傳送方式。在向DS1302寫入地址/命令字節(jié)之后傳送讀寫操作數(shù)據(jù)。單字節(jié)傳送方式讀寫操作時序如圖3-14所示。圖3-14單字節(jié)傳送方式讀寫操作時序圖在數(shù)據(jù)傳送時,先將復(fù)位端RST置為高電平,此時SCLK必須為低電平。然后,在第一組8個SCLK串行時鐘周期的上升沿,依次將地址/命令字節(jié)的8比特串人移位寄存器。若系統(tǒng)要對DS1302進(jìn)行寫操作,則把地址/命令字節(jié)寫人移位寄存器之后,數(shù)據(jù)字節(jié)在下一組8個SCLK串行時鐘周期的上升沿輸人DS1302;若系統(tǒng)要對DS1302進(jìn)行讀操作,則把地址/命令字節(jié)寫入移位寄存器之后,數(shù)據(jù)字節(jié)在下一組8個SCLK串行時鐘周期的下降沿從DS1302輸出。任何字節(jié)均從低位B0開始依次輸人或輸出。(6)DS1302與微控制器的接口軟件及功能應(yīng)用舉例電路設(shè)計中采用了DS1302時鐘舊歷芯片,提供時間和日歷用于顯示記錄,并為定時、持續(xù)打印功能提供時鐘。該系統(tǒng)采用ATMEL公司的AT89S52單片機作為核心控制器件,DS1302在該系統(tǒng)中的應(yīng)用電路如圖3-15所示。DS1302工作在雙電源供電方式下,VCC2腳提供主工作電源,VCC1腳接3.6V鎘~鎳充電電池。通過編程選擇微電流充電功能,由VCC2在內(nèi)部向VCC1腳提供充電電流,對充電電池充電。在系統(tǒng)掉電時,由備份電源供電維持時鐘運行和保持RAM中的重要數(shù)據(jù)不丟失。DS1302的SCLK,I/O,RST端分別與單片機AT89C52P1口的P2.2,P2.3,P2.4相連,進(jìn)行雙向串行通信。由于采用真時鐘,可以不占用單片機的定時器資源,減輕軟件設(shè)計量。下面給出用MCS-52匯編語言編寫的單字節(jié)傳送方式讀、寫操作子程序清單。在DS1302寫子程序W-1302中,累加器A中存放地址/命令字節(jié),其首先被寫人DS1302,發(fā)出寫操作命令;然后把寄存器R1中存放的數(shù)據(jù)字節(jié)寫入DS1302,地址/命令和數(shù)據(jù)字節(jié)均是在SCLK的上升沿輸人給DS1302的。在讀操作子程序READ1302中,首先將累加器A中存放的地址/命令字節(jié)寫入DS1302,發(fā)出讀操作命令;然后RAM中的數(shù)據(jù)或時鐘數(shù)據(jù)在SCLK的下降沿從DS1302中輸出,并將其存放在累加器A中。圖3-15DS1302與單片機的連接圖最后,經(jīng)過比較其電路圖如3-16圖3-16DS1302的外接電路2.時間顯示模塊單片機的并行口不能直接驅(qū)動LED顯示器,必須采用專用的驅(qū)動電路的芯片。使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力不足,即負(fù)載能力不夠時顯示器就不夠亮,而且驅(qū)動電路長期在低電流下工作容易損壞。因此在實際使用中必須接入LED驅(qū)動LED驅(qū)動分為兩種:靜態(tài)顯示,動態(tài)顯示。靜態(tài)顯示:LED驅(qū)動的選擇較為簡單,驅(qū)動能力與顯示器電流相匹配即可,用+5V共陽,接地共陰即可。動態(tài)顯示:同樣考慮段位的和位位的的驅(qū)動能力,而且段的驅(qū)動能力決定能力決定位的驅(qū)動能力。在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用LED的顯示的位數(shù)不同。選擇6位一體的時鐘型LED顯示器用“:”號分開。分別表示“年,月,日”和“時,分,秒”。此次設(shè)計選擇動態(tài)顯示。(1)LED顯示器的選擇對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部接在一起,所以必須使用動態(tài)掃描方式。(2)LED的段驅(qū)動芯片的選擇。LED的段驅(qū)動電路有很多種,在本設(shè)計中,可以選擇BCD-7段鎖存/譯碼/驅(qū)動器做為段驅(qū)動電路。這類芯片的型號有74LS47、74LS244、74LS247、74LS248等,這類芯片具有鎖存、譯碼驅(qū)動的功能。即在輸入端輸入要顯示字型的BCD碼,在輸出端就可以得到具有一定驅(qū)動能力的7段顯示字型碼。(3)LED的位驅(qū)動芯片的選擇LED位驅(qū)動較常用的芯片有ULN2003A和ULN2803。前者是具有7個達(dá)林頓電路的集成芯片,后者是具有8個達(dá)林頓電路的集成芯片。此種芯片集電極可以收集最大達(dá)500mA的電流,耐壓為30V,能驅(qū)動常規(guī)的LED顯示器。在本設(shè)計中選用74LS244作為位驅(qū)動電路,將該芯片的輸入端引腳IN0、IN1、IN2、IN3與單片機的P1口或者P3口連接,該芯片的輸出端引腳OUT0、OUT2、OUT3與LED顯示器的4個位碼引腳D1~D4相連接。(4)LED驅(qū)動電路與單片機的連接可以采用單片機的P1口作為與LED的輸出接口,即P1口的低四位作為LED的段碼輸出信號,P1口的高四位作為LED位碼的輸出控制信號。該電路的工作原理是:當(dāng)P1口的低四位輸出斷碼信號的BCD碼后,通過74LS273芯片的鎖存、74LS244的譯碼和驅(qū)動作用,在其輸出端輸出具有一定驅(qū)動能力的七段字型碼,由于4-LED的段碼輸入引腳是并聯(lián)在一起的,所以每一位LED的段碼輸入引腳都能獲得這個段碼信號。若要控制在每一時刻只有一位LED被點亮,必須靠位碼信號控制。因此P1口的位碼信號在每一時刻只有一位是“1”,其它位全為“0”,然后按時間順序改變輸出“1”的位置,控制在每一時刻只有一位LED被點亮,達(dá)到動態(tài)顯示的目的。(5)按鍵電路設(shè)計與器件選擇金屬檢測系統(tǒng)工作時,應(yīng)對當(dāng)前時間進(jìn)行調(diào)整。要實現(xiàn)這項功能,可以接入鍵盤輸入電路。在單片機組成的測控系統(tǒng)及智能化儀器中,用的最多的是非編碼鍵盤。鍵盤結(jié)構(gòu)可以分為獨立式鍵盤和行列式鍵盤(矩陣式)兩類。本設(shè)計采用的是獨立鍵盤。由于要顯示年、月、日、時、分、秒,所需LED太多,所以在正常情況下,只顯示時、分、秒,當(dāng)需要顯示年、月、日的時候,按下S4(給單片機PSEN一個信號)即可顯示,時間切換鍵電路如圖3-17所示。圖3-17時間顯示切換鍵3.報警電路一旦發(fā)現(xiàn)金屬出現(xiàn),,則被測物理量超限由單片機I/O口的P3.4控制發(fā)光二極管進(jìn)行光報警的同時,P3.5還觸發(fā)無源蜂鳴器用聲報警提醒檢測人員注意,進(jìn)行必要的定位搜身檢查。4.查詢電路由于AT89S52的內(nèi)存比51系列單片機和52系列的一些單片機的內(nèi)存大好多(它的內(nèi)存是8K),而且食品中的金屬相對較少,所以將每次檢測到金屬的相關(guān)數(shù)據(jù)存到AT89S52單片機的內(nèi)存里。為了以后能查到檢測到金屬的相關(guān)數(shù)據(jù),設(shè)計3個查詢獨立按鍵。當(dāng)按下S1時,可以調(diào)出最新檢測到的金屬的相關(guān)數(shù)據(jù);按S2可以向上翻,按S3可以向下翻。查詢按鍵電路如圖3-18所示。圖3-18查詢按鍵電路5.電源電路電路如圖3-19所示,電源供電由9V電池和板內(nèi)穩(wěn)壓電源組成。電路板內(nèi)采用三端穩(wěn)壓集成電路塊LM7805為板內(nèi)元器件供電。LM7805三端正穩(wěn)壓器具有內(nèi)部過流、熱過載和輸出晶體管安全區(qū)保護功能,可將+9VDC的輸入電壓轉(zhuǎn)換為+5V電壓,最大輸出電流0.5A,保證板內(nèi)555定時器、UGN3503U、AT89S52、ADC0809等芯片和元件可靠地工作。圖3-19電源電路3.3整機工作原理描述在工作過程中,由555定時器構(gòu)成的多諧振蕩器產(chǎn)生一個頻率為24KHz的信號,此脈沖信號經(jīng)過緩沖和放大之后,形成頻率穩(wěn)定度高、功率較大的脈沖信號輸入到探測線圈中,通電的線圈周圍就會產(chǎn)生磁場,此時,固定在線圈L;中心的霍爾元件UGN3503U就會感應(yīng)到線圈周圍的磁場,并將磁場強度信號線性地轉(zhuǎn)變成電壓信號。在無金屬的情況下,假設(shè)霍爾輸出電壓為,該電壓信號很微弱,屬mV級信號,經(jīng)過放大電路放大,再通過峰值檢波電路,得到相應(yīng)的0V~5V的峰值輸出電壓,以滿足ADC0809的量程,經(jīng)A/D轉(zhuǎn)換后,將的數(shù)字量輸入到單片機儲存起來。此后,以該電壓信號作為基準(zhǔn)電壓,與A/D轉(zhuǎn)換器采集到的電壓信號進(jìn)行比較判斷。當(dāng)探測線圈靠近金屬物體時,由于電磁感應(yīng)現(xiàn)象,會使探測電感值發(fā)生變化,從而使其周圍的磁場發(fā)生變化,霍爾元件感應(yīng)到該變化的磁場,并將其線性地轉(zhuǎn)變成電壓信號,該變化的電壓經(jīng)放大電路、峰值檢波電路后,得到相應(yīng)的0V~5V的峰值輸出電壓,然后經(jīng)A/D轉(zhuǎn)換后。轉(zhuǎn)換后,輸入到CPU,由CPU完成與基準(zhǔn)電壓的比較,二者比較︱-︱得到一個差值,此差值與預(yù)設(shè)的靈敏度再作比較。當(dāng)然,大小的設(shè)定決定著系統(tǒng)精度的高低。若︱-︱>,就確定為探測到金屬,CPU輸出口P3.4輸出信號驅(qū)動發(fā)光二極管發(fā)光報警,同時P3.5控制蜂鳴器發(fā)出聲響,進(jìn)行聲音報警。第四章系統(tǒng)軟件設(shè)計4.1軟件設(shè)計思想軟件是本系統(tǒng)的靈魂,在設(shè)計軟件中,本文從系統(tǒng)的實用性、可靠性及方便靈活等幾個方面出發(fā),使程序滿足設(shè)計的功能要求。整個系統(tǒng)的軟件包括主程序、一個外部中斷服務(wù)程序、數(shù)字濾波程序、比較判斷子程序及發(fā)光報警等若干個子程序。軟件采用匯編語言編寫,并采用模塊化設(shè)計,使程序結(jié)構(gòu)清晰,便于今后進(jìn)一步擴展系統(tǒng)的功能。主程序初始化以后置位AT89S52的中斷控制位EA,使CPU開放中斷。然后通過檢測ARM中21H中數(shù)值的值來判斷是否采集基準(zhǔn)電壓,如果未采集過,則啟動ADC0809對通道的模擬輸入量進(jìn)行A/D轉(zhuǎn)換。在電路設(shè)計中,ADC0809與AT89S52是采用中斷方式連接的,所以系統(tǒng)的數(shù)據(jù)采集處理功能是在中斷服務(wù)程序中完成的,從附錄系統(tǒng)電路原理圖看出,ADC0809的EOC端通過反相器接AT89S52的端,作為中斷申請。采用中斷方式,可大大節(jié)省CPU時間。軟件編程允許AT89S52響應(yīng)外部中斷1,且設(shè)置其響應(yīng)方式為邊沿觸發(fā)。當(dāng)A/D轉(zhuǎn)換完畢后,ADC0809的EOC端向AT89S52的送入一個中斷申請信號,AT89S52接此信號后響應(yīng)中斷請求,調(diào)用中斷服務(wù)子程序取,中斷服務(wù)程序進(jìn)行壓棧,保護現(xiàn)場,讀取來自0809數(shù)據(jù)輸出口的8位數(shù)字量,并將數(shù)字量儲存到單片機RAM中,然后啟動ADC0809的下一次轉(zhuǎn)換。經(jīng)過數(shù)據(jù)軟件濾波之后將其存放在單片機RAM21H中,作為基準(zhǔn)電壓。經(jīng)反復(fù)實驗測得的靈敏度的值被存放在單片機RAM地址為20H的存儲器中。在檢測過程中,將A/D轉(zhuǎn)換器采集到的電壓信號經(jīng)數(shù)據(jù)軟件濾波后存入內(nèi)部RAM以30H為首址的數(shù)據(jù)存儲器中,然后將此數(shù)據(jù)和基準(zhǔn)電壓進(jìn)行比較,二者差值U存放在單片機ARM地址為22H的存儲器中。而后再通過判據(jù)算法將此差值U與靈敏度進(jìn)行比較,以確定是否報警。4.2數(shù)字濾波及算法說明金屬探測器的噪聲抑制能力是金屬探測器的主要設(shè)計指標(biāo)。由于在采集電壓量時經(jīng)常會碰到各種瞬時干擾,而采用硬件濾波存在硬件電路復(fù)雜等諸多弊端,因此本設(shè)計中采用算術(shù)平均濾波法,即在一次電壓量的采集中,在很短的時間內(nèi)對它進(jìn)行6次采集,將它轉(zhuǎn)換為數(shù)字量后求和,分析出6次輸入中的最大值和最小值,然后減去最大值和最小值,除以4得到平均值的方法,完成一次數(shù)據(jù)采集的軟件濾波。用軟件代替硬件,從而省去了復(fù)雜的硬件,而且能夠取得好而精確的效果。在一個采樣周期內(nèi),對信號X的N次測量值進(jìn)行算術(shù)平均,作為時刻K的輸出x(k),即其中N為采樣次數(shù),為第i次的采樣值。顯然N越大,信號平滑度越高,靈敏度就會降低,但是本設(shè)計中需要較高的靈敏度,所以N取值不易過大,這里我選擇了N=6,選擇取6個數(shù)進(jìn)行計算的原因,就是因為在匯編中做計算是非常麻煩的,取6個數(shù),減去最大值和最小值后,取平均值是除4,計算機的內(nèi)部計算都是二進(jìn)制,而二進(jìn)制每除一個2,實際上是向右移一次。所以為了計算方便,我選擇取6個數(shù),最后在算除法的時候,只需要用單片機自帶的右移位命令移2次就行了。4.3主程序流程圖圖4-1主程序流程圖圖4-1主程序流程圖4.4主要子程序模塊設(shè)計4.4.1初始化子程序ADPORTEQU7FF8H;ADC0809通道0地址EQU20H;靈敏度存放在20HEQU21H;基準(zhǔn)電壓存放在21HUEQU22H;差值存放在22HORG0000H;主程序起始地址LJMPMAIN;轉(zhuǎn)主程序ORG0013H;中斷服務(wù)程序入口LJMP;轉(zhuǎn)NITI中斷服務(wù)程序ORG0020HMANI:MOVSP,#60;設(shè)置堆棧指針MOV20H,#N;放入靈敏度值(設(shè)靈敏度值為N)Mov,#FFH;R7=11111111,初始化讀數(shù)標(biāo)志MOV2IH,00H;2IH單元清零MOV22H,00H;22H單元清零Mov,#3OH;為緩沖區(qū)數(shù)據(jù)地址指針,送數(shù)據(jù)緩沖區(qū)首址RET4.4.2中斷服務(wù)程序AD:SETB;當(dāng)ADC0809的EOC輸出電平上跳沿觸發(fā)中斷1SETBEA;打開總中斷開關(guān)(片內(nèi)中斷允許寄存器IE7=EA)SETB;允許外中斷1中斷MOVDPTR,#ADPORT;數(shù)據(jù)指針指向通道頂0通道MOVA,#00H;MOV,A;MOVX@DPTR,A;啟動A/D轉(zhuǎn)換CJNER7,#00H;LOOP:NOPAJMPLOOP;ORG2100H;中斷服務(wù)程序入口NITI:PUSHPSWPUSHAPUSHDPL;PUSHDPH;MOVDPTR,#7FF8H;數(shù)據(jù)指針指向通道MOVXA,@DPTR;把該通道的A/D轉(zhuǎn)換結(jié)果讀到累加器A中MOVR,A;將A/D結(jié)果存入LCALLFILTER;調(diào)用數(shù)字濾波程序MOVA,#00H:MOVX@DPTR,A;再次啟動A/D轉(zhuǎn)換MOVR7,#00H;置讀數(shù)標(biāo)志POPDPH;POPDPL;POPA;POPPSW;RETI;中斷返回4.4.3數(shù)字濾波程序設(shè)計設(shè)一個采樣周期,對通道0連續(xù)采樣6次,然后去掉最大和最小值,把剩余的累加和求算術(shù)平均值作為本周期采樣值。存入內(nèi)部RAM以30H為首址的數(shù)據(jù)存儲器中。其中,寄存器存放最大值,寄存器存放最小值,寄存器存放累加和,存放連續(xù)采樣次數(shù)。程序框圖圖4-2數(shù)字濾波程序流程圖(2)程序清單FILTER:CLRA;、清0MOV,A;MOV,A;MOV,#3FH;置最小值初態(tài)MOV,#30H;置數(shù)據(jù)區(qū)首地址MOV,#06H;置連續(xù)采樣次數(shù)N=6DAV1:ADDA,;累加輸入值MOV,A;累加和輸入CLRC清進(jìn)位標(biāo)志MOVA,;取最大值SBBBA,;最大值一輸入值JNCDAV2;輸入值>()?MOVA,;MOV,A;更新最大值DAV2:CLRCMOVA,;?。?D結(jié)果SBBBA,;與最小值比較JNCDAV3;判斷輸入值<()?(若C=0,輸入值)>(),則轉(zhuǎn)到DAV3)MOVA,;MOV,A;更新最小值DAV3:DJNZ,DAV1;判斷N-1=0?(若輸入值介于最大、最小值間,且-1≠0時轉(zhuǎn)至DAV1)CLRCMOVA,R4;SBBBA,;N個數(shù)減去最大最小CLRCCLRARRCAMOVX@,A;將算術(shù)平均值存入以30H為首址的RAM緩沖單元中INCR;修改數(shù)據(jù)區(qū)指針RET4.4.4發(fā)光與報警模塊DISPLAY:SETBP1.0LCALLDELAYCLRP1.0AJAMPDISPLAYALARM:SETBP1.6LCALLDELAYDELAY:MOV,#FFHD1:MOV,#FFHD2:DJNZ,D2DJNZ,DIRENEND4.4.5LED顯示程序1.多字節(jié)傳送方式當(dāng)命令字節(jié)為BE或BF時,DS1302工作在多字節(jié)傳送模式,8個時鐘/日歷寄存器從寄存器0地址開始連續(xù)讀寫,從0位開始的數(shù)據(jù)。當(dāng)命令字節(jié)為FE或FF時,DS1302工作在多字節(jié)RAM傳送模式,31個RAM寄存器從。地址開始連續(xù)讀寫從。位開始的數(shù)據(jù)。例如:寫入00年、6月21口、星期三、13時、59分、59秒,程序設(shè)置如下:WriteMultiplebyte:MOVCommand,#OBEh;命令字節(jié)為BEhMOVByteCnt,#8;多字節(jié)寫入模式(此模塊為8個)MOVR0,#XmtDat;數(shù)據(jù)地址覆給R0MOVXmtDat,#59h;秒單元內(nèi)容為59hMOVXmtDat+1,#59h;分單元內(nèi)容為59hMOVXmtDat+2,#13h;時單元內(nèi)容為13hMOVXmtDat+3,#21h;日期單元內(nèi)容為21hMOVXmtDat+4,#06h;月單元內(nèi)容為06hMOVXmtDat+5,#03h;星期單元內(nèi)容為03hMOVXmtDat+6,#0;年單元內(nèi)容為00hMOVXmtDat+7,#0;寫保護單元內(nèi)容為00hACALLSend,Byte;調(diào)用寫入數(shù)據(jù)子程序RET;返回調(diào)用本子程序處讀出寄存器0~7的內(nèi)容,程序設(shè)置如下:Read_Multiplebyte:MOVCommand,#08Fh;命令字節(jié)為8FhMOVByteCnt,#8;多字節(jié)讀出模式(此模塊為8個)MOVR1,#RcvDat;數(shù)據(jù)地址覆給R1ACALI.ReceiveByte;調(diào)用讀出數(shù)據(jù)子程序RET;返回調(diào)用本子程序處以上程序調(diào)用了基本數(shù)據(jù)接收(ReceiveByte)模塊及一些內(nèi)存中元定義,下面的程序亦使用了這個模塊。為了使LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率。當(dāng)掃描頻率在70Hz左右時,能夠產(chǎn)生足夠的圖形和較好的顯示效果。一般采用間隔為10ms對LED進(jìn)行掃描一次,每一位LED的顯示時間為1ms。2.T0定時器中斷服務(wù)程序功能及實現(xiàn)(1)從顯示緩沖區(qū)分別區(qū)六位LED顯示器顯示數(shù)據(jù)的位碼及段碼,送到P1P2口,依次顯示每一位,每一位的顯示時間為1ms,顯示6位需要6ms的時間。(2)在設(shè)置當(dāng)前時間時,當(dāng)前調(diào)整位應(yīng)具有閃耀功能,用來提示當(dāng)前調(diào)整的是哪一位。應(yīng)此,在每一位顯示之前到要判斷,該位是否是閃耀位,然后決定進(jìn)行正常顯示還是閃耀顯示。(3)LED顯示器每一位的顯示時間是1ms,延時1ms的子程序是典型的軟件定時程序。3.T0定時器的初值計算時鐘頻率為6MHz,1個機器周期為2us。T0定時器產(chǎn)生10ms的定時,可以計算處值是:計數(shù)值=定時時間/機器周期時間=10ms/2us=5000計數(shù)初值=65537-5000=15536=EC78H初值寄存器的初值為:TH0=0ECH;TL0=78H工作方式寄存器TMOD=XXXX0001B=X1H,定時器,工作方式1,定時。4.LED動態(tài)顯示程序TO_SEV:PUSHAPUSHPSWSETBRS1SETBRS0CLRTR0MOVR2,#06HMOVR0,#40HMOVR1,#50HGO-ON:MOVA,@R1CJNEA,31H,NO_FLASHDJNZ30H,FLASHNO_FLASH:MOVA,@R1MOVA,@R2MOVP1,AMOVP2,BLCALLDELAY1FLASH:INCR0INCR1計數(shù)值=定時時間/機器周期時間=10ms/2us=5000計數(shù)初值=65537-5000=15536=EC78H初值寄存器的初值為:TH0=0ECH;TL0=78H工作方式寄存器TMOD=XXXX0001B=X1H,TO定時器,工作方式1,定時。年月日中斷服務(wù)程序流程如圖4-3所示T1SEV:PUSHAPUSHPSWSETBRS1SETBRS0CLRTR0MOVR2,#04HMOVR0,#40HMOVR1,#44HGO-ON:MOVA,@R1圖4-3時間顯示流程圖CJNEA,31H,NOFLASHDJNZ30H,F(xiàn)LASHNO-FLASH:MOVA,@R1MOVB@R0MOVP3,AMOVP2,BLCALLDELAY1FLASH:INCR0INCR1DJNZR2,GO-ONMOVTH0,#0ECHMOVTL0,#78HPOPASETBET0SETBTR0SETBEARETIDELAY1:MOVR3,#02HAGAIN:MOVR4,#0F8HDELAY:DJNZR4,DELAYDJNZR3,AGAINRET第五章主要技術(shù)指標(biāo)分析金屬探測器的工作頻率、靈敏度和穩(wěn)定性是儀器的主要技術(shù)指標(biāo)。1.工作頻率選擇24KHz。2.靈敏度分析由公式(2-2)即可知:(1)檢測線圈的尺寸對儀器的靈敏度有影響探測器的靈敏度與探測線圈的尺寸大小有關(guān),尺寸大即探測面積大,則線圈中心磁場強度低,在靠近線圈繞組附近磁場強度較高,霍爾元件固定在線圈中心,為了確保通過其磁通量,探測線圈的尺寸就不宜太大,具體尺寸通過實驗確定。(2)檢測線圈的匝數(shù)對儀器的靈敏度有影響當(dāng)檢測線圈尺寸一定時,則匝數(shù)越少其靈敏度越高。但為了確保通過霍爾元件的磁通量.匝數(shù)的減少也是有限的,需通過實驗來確定最佳匝數(shù)。3.穩(wěn)定性分析(1)線圈的雜散電容與人體感應(yīng)電容均可引起頻率變化而產(chǎn)生偽信號。(2)環(huán)境溫度的變化,儀器元件參數(shù)也會改變,影響儀器工作的穩(wěn)定。(3)應(yīng)盡量減少線圈與電路之間引線的長度,以減少分布電容,采用屏蔽線減少外界對其干擾。總結(jié)在整個設(shè)計過程中,從設(shè)計課題硬件電路的設(shè)計、元器件的選擇、元器件參數(shù)的測試、硬件電路圖的最終確定,乃至利用PROTEL99繪制原理圖,我投入了相當(dāng)多的精力,從圖書館和網(wǎng)上查閱了大量的資料,了解了硬件電路設(shè)計中涉及到的每個元器件的參數(shù),了解了單片機資源的配置,掌握了單片機的各種指令的應(yīng)用;熟悉了PROTEL99、AutoCAD,并快速重溫了《模擬電子技術(shù)》、《數(shù)字電子技術(shù)》、《單片機原理及應(yīng)用》、《檢測技術(shù)》等多年前學(xué)過的知識。總體來說,在摸索該如何設(shè)計電路使之實現(xiàn)所需功能的過程中,使我學(xué)到了好多知識,受益匪淺。致謝四年的大學(xué)學(xué)習(xí)生活即將結(jié)束,在論文完成之際,我衷心地感謝在這四年的學(xué)習(xí)和生活中培養(yǎng)過我、幫助過我以及在論文寫作期間給予指導(dǎo)和支持的所有老師和同學(xué)。衷心感謝我的導(dǎo)師王羲老師??梢哉f,這次設(shè)計我取得的每一點進(jìn)步都和王老師的辛勤教指導(dǎo)密不可分。最后,非常感謝所有答辯的領(lǐng)導(dǎo)和老師在百忙之中抽出時間參加我們的答辯,你們辛苦了。 參考文獻(xiàn)[1]《檢測技術(shù)與儀表》王俊杰主編武漢理工大學(xué)出版社[2]《檢測技術(shù)與儀器》徐潔主編清華大學(xué)出版社[3]《傳感器》強錫富主編機械工業(yè)出版社[4]《單片機原理與接口技術(shù)》楊天怡主編重慶大學(xué)出版社[5]《檢測技術(shù)與智能儀表》陳潤泰主編中南工業(yè)大學(xué)出版社[6]《傳感器應(yīng)用技術(shù)》張巖主編福建科學(xué)技術(shù)出版社[7]《電子設(shè)計》蔡明生主編高等教育出版社[8]《單片機外圍電路設(shè)計》沙占友,王彥朋,孟志永等編著電子工業(yè)出版社86一92[9]《8051單片機實踐與應(yīng)用》吳金戌,沈慶陽,郭庭吉編著清華大學(xué)出版社153一158[10]《新編MCS一51單片機應(yīng)用設(shè)計》張毅剛,彭喜元,姜守達(dá)等編著哈爾濱工業(yè)大學(xué)出版社215一218[11]《單片機實用系統(tǒng)設(shè)計技術(shù)》房小翠,王金鳳編著國防工業(yè)出版社142一159基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學(xué)生單片機應(yīng)用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計基于單片機的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論