潘亞菲單片機控制的光纖測距系統(tǒng)的軟件設(shè)計_第1頁
潘亞菲單片機控制的光纖測距系統(tǒng)的軟件設(shè)計_第2頁
潘亞菲單片機控制的光纖測距系統(tǒng)的軟件設(shè)計_第3頁
潘亞菲單片機控制的光纖測距系統(tǒng)的軟件設(shè)計_第4頁
潘亞菲單片機控制的光纖測距系統(tǒng)的軟件設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河南理工大學(xué)成人教育學(xué)院畢業(yè)設(shè)計(論文)任務(wù)書河南理工大學(xué)平職學(xué)院函授站08級電氣自動化1班班級專業(yè)學(xué)生一、設(shè)計(論文)題目:二、設(shè)計(論文)任務(wù)要求及主要原始資料:三、設(shè)計(論文)時間:年月日至年月日指導(dǎo)教師(簽名)成教院院長(簽名)河南理工大學(xué)成人教育學(xué)院畢業(yè)設(shè)計(論文)總評定書專業(yè)08年級學(xué)生于2010年5月日完成了畢業(yè)設(shè)計(論文),設(shè)計(論文)包括說明書頁,附圖張。審閱意見及總評語:指導(dǎo)教師(簽名)

成教院院長(簽名)年月日河南理工大學(xué)成人教育學(xué)院畢業(yè)設(shè)計(論文)答辯委員會記錄河南理工大學(xué)平職學(xué)院函授站08級電氣自動化1班專業(yè)學(xué)生的畢業(yè)設(shè)計(論文)于2010年5月日進行答辯。設(shè)計(論文)題目:出席人員:主任委員副主任委員委員答辯學(xué)生提交畢業(yè)設(shè)計(論文)答辯委員會(小組)下列資料:TOC\o"1-5"\h\z一、設(shè)計(論文)說明書共頁二、設(shè)計(論文)圖紙共頁三、指導(dǎo)教師評閱意見共頁畢業(yè)設(shè)計(論文)答辯委員會(小組)根據(jù)畢業(yè)設(shè)計(論文)提出的材料,指導(dǎo)教師的意見和學(xué)生回答問題的情況,畢業(yè)設(shè)計(論文)答辯委員會決定:一、學(xué)生完成答辯并畢業(yè)設(shè)計(論文)以后,確定成績?yōu)椤啊?、對畢業(yè)設(shè)計(論文)的總評語:畢業(yè)設(shè)計(論文)答辯委員會主任(組長)或副主任(副組長:)畢業(yè)設(shè)計(論文)答辯委員會委員(組員:)刖言在現(xiàn)代工業(yè)生產(chǎn)加工中,越來越高的技術(shù)指標(biāo)和加工精度要求有新型、快速、柔性好、能直接在生產(chǎn)環(huán)境中進行非破壞性產(chǎn)品質(zhì)量檢測的傳感器。距離是工業(yè)產(chǎn)品的重要參數(shù),以往典型的測距離的方法是靠機械接觸,十幾年前,光纖技術(shù)已應(yīng)用于工業(yè)領(lǐng)域,光纖用于傳感是光電子技術(shù)的新結(jié)品,它具有常規(guī)檢測技術(shù)不可比擬的諸多優(yōu)點,而且能實現(xiàn)“傳”和“感”的合二為一,由于其體積小、抗電磁干擾能力強、易柔性彎曲、可在某些特殊場合下工作,所以,用光纖傳感器進行非接觸的尺寸測量,是當(dāng)今測量領(lǐng)域中傳感技術(shù)發(fā)展的主導(dǎo)方向之一。光纖傳感技術(shù)是利用光纖作為媒介,對待測量的物理量,如:溫度、壓力、運動等,進行檢測的一種檢測技術(shù),其中光纖既可是光信息的載體,也可以是一種光調(diào)制器或者換能器,由此,光纖傳感技術(shù)對于光纖的要求一般不同于通信光纖對傳感器用光纖(稱為功能光纖,或者特殊應(yīng)用光纖)的研究對光纖傳感器的應(yīng)用是非常重要的,這一類光纖的研制與生產(chǎn),成為光纖技術(shù)中又一新的方向。實用的光纖傳感器需要使測量光纖對待測的量敏感對非測量或者稱為環(huán)境要非常不敏感,這對于應(yīng)用光纖來說是相當(dāng)困難的。例如:目前已得到深入研究和相當(dāng)應(yīng)用的干涉型光纖陀螺系統(tǒng),其中光纖的應(yīng)用就相當(dāng)能說明光纖的類型對設(shè)計傳感器系統(tǒng)的影響,初期的光纖陀螺普遍采用通信上廣泛采用的單模光纖,由于單模光纖中存在兩個正交的偏振模式,其相互耦合是系統(tǒng)的性能受到一定的影響;而近而發(fā)展起來的保偏光纖為提高干涉型光纖陀螺系統(tǒng)提供了可能,而針對傳感器應(yīng)用的保偏光纖,在材料、結(jié)構(gòu)上都有很強的針對性,作為真正意義上的特殊應(yīng)用光纖,使得光纖陀螺的性能大大提高了,這充分說明了ASOF(特殊應(yīng)用光纖)的應(yīng)用重要性。第一章方案論證1.1選題背景隨著單片機技術(shù)和ANIC技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)也得到迅速的應(yīng)用。在各種生產(chǎn)過程中,應(yīng)用這一系統(tǒng)可以對生產(chǎn)中各種現(xiàn)場參數(shù)進行采集,監(jiān)視和記錄,為人們了解系統(tǒng)的工作狀態(tài),以及控制各種環(huán)境參數(shù)等提供了詳盡的信息。在科學(xué)研究中,應(yīng)用數(shù)據(jù)采集系統(tǒng)可以獲得大量的動態(tài)信息,是研究瞬間物理過程的有力工具,也是揭開各種科學(xué)奧妙的重要手段之一。總之,不論在哪個應(yīng)用領(lǐng)域,數(shù)據(jù)采集和處理越及時,工作效率就越高,取得的經(jīng)濟效益就越大3]。數(shù)據(jù)采集系統(tǒng)的任務(wù),就是采集傳感器輸出的模擬信號,并轉(zhuǎn)換成主處理器可以識別的數(shù)字信號,然后再顯示或者打印出來,這樣可以實現(xiàn)對某些物理量的監(jiān)測,其中的信號還可以通過處理機去控制某些物理量。對于瞬態(tài)數(shù)據(jù)采集系統(tǒng)的好壞,在保證精度的要求的前提下,應(yīng)該盡量提高采樣速率,以滿足是實時采集,實時處理,實時控制對速度的要求。1.2概述時代在進步,光纖在各個領(lǐng)域都有廣泛的應(yīng)用,尤其光纖傳感器發(fā)展前景更大,我們這里設(shè)計的光纖測距系統(tǒng)除了有很高的精度外,使用也比一般的方法簡單,快捷,值得我們來研究和開發(fā)。此次設(shè)計的系統(tǒng)的要求就是從光纖傳感器采集來的模擬信號經(jīng)單片機設(shè)計的系統(tǒng)轉(zhuǎn)換成數(shù)字信號進行顯示。此次設(shè)計的光纖測距系統(tǒng)主要是由兩大部分組成洸纖傳感器和基于MCS-51單片機(我們選用應(yīng)用比較普遍的51單片機)所設(shè)計的系統(tǒng)。而其中比較重要的是基于單片機的一些信號采集、AD轉(zhuǎn)換、輸入輸出、鍵盤顯示等的設(shè)計,也包括所用的程序的編寫,這里我使用的語言是匯編語言。我們先來認識一下光纖,光纖是以光脈沖的形式來傳輸信號,以玻璃或有機玻璃等為網(wǎng)絡(luò)傳輸介質(zhì)。它由纖維芯、包層和保護套組成。光纖可分為單模SingleMode)光纖和多模(MultipleMode)光纖。1.3系統(tǒng)功能模塊

采集信號二>|采樣電路'一'〉Vi|鍵盤時鐘電路單片機時鐘電路LED顯示圖1-1系統(tǒng)功能模塊根據(jù)要求我們這里選用的是光纖傳感器,將數(shù)據(jù)采集后通過AD轉(zhuǎn)換,傳入單片機端口進行處理,單片機ROM中固化的程序?qū)⑦@些數(shù)據(jù)分析,最后^ED數(shù)碼管進行顯示。1.4軟件部分梗概軟件是微機系統(tǒng)的神經(jīng)中樞,整個系統(tǒng)的動作都是在軟件的指揮下協(xié)調(diào)完成的。這次設(shè)計需要用到的程序有A/D轉(zhuǎn)換程序、數(shù)據(jù)采樣程序、數(shù)據(jù)濾波程序、鍵盤處理程序、顯示程序、過程控制程序等。按使用語言的類別來分,軟件分為機器語言,匯編語言和高級語言種。這里我使用的是匯編語言,因為匯編語言編制的程序效率高,占用存儲空間小,運行速度快。匯編語言能編寫出最優(yōu)化的程序,且能反映出計算機的實際運行情況,能直接與存儲器、接口電路打交道,也能申請中斷,因此匯編語言能直接管理和控制硬件設(shè)備]。功能模塊:(1)數(shù)據(jù)采集。與光纖傳感器連接,進行數(shù)據(jù)采集。(2)鍵盤顯示。鍵盤輸入,啟動系統(tǒng)工作,顯示設(shè)置距離及當(dāng)前距離。(3)距離檢測及距離值變換。完必/D轉(zhuǎn)換及數(shù)字濾波(4)測距控制。檢測到的距離處理后,輸出控制信號1.5硬件部分梗概可供應(yīng)選擇的MCU有如下幾系列:MotorolaMC系列:MC6805、MC6808、MC6811、MC6812IntelMCS-48、MCS-51、MCS-96系列。TI的MSP系列。快速響應(yīng)沒有大的運算量的場合對于CPU的速度并未要求太多,低速的MCU已經(jīng)能夠滿足,并且無須快速的輸入輸出接口、無須擴展,且出于對長期的可靠性原因,靜態(tài)毫電量不能很高,而且程序比較簡單,太大的內(nèi)存空間。8位核心MCU可以考慮。目前CISC內(nèi)核8位MCS-51價格低廉,開發(fā)資源豐富,也有方便的擴展能力,這里就選擇MCS-51作為核心部件。AD轉(zhuǎn)換器是單向的,可以根據(jù)感應(yīng)場合選擇常用的AD0809或者精度較好,抗干擾能力強的MC14433。對于特殊的需要復(fù)雜的模型分析,MCS-51就不能夠很好的來響應(yīng),就需要更換16位甚至32位RISC的CPU需要更多的內(nèi)存和ROM來完成,對于特殊的情況下,比如生命安全領(lǐng)域的應(yīng)用,還有圖像,聲音處理,可能要使用嵌入式操作系統(tǒng),而且采取多種冗余措施,來保證系統(tǒng)的可靠⑵。單片機系統(tǒng)中一般常用的顯示器有LED(發(fā)光二極管)、七段數(shù)碼管、點陣顯示屏等。點陣顯示器件是將一個個顯示單元排列起來構(gòu)成點陣,按照其行列位置對每一點進行行編址,按照行列控制器顯示各點的明暗,組成相應(yīng)的字符和漢字。顯示可采用靜態(tài)顯示和動態(tài)顯示兩種方式(分序號)靜態(tài)顯示的優(yōu)點是穩(wěn)定,在驅(qū)動電流一定的情況下顯示的亮度高,CPU占有時間少,能提高CPU的工作效率,缺點是使用元器件較多,連接較多。而動態(tài)顯示的優(yōu)點是使用的元器件少,電路簡單,缺點是在同等情況下沒有靜態(tài)顯示亮度高,而且占甸。時間長⑷。鍵盤部分可選用獨立式或行列式鍵盤。(分序號)獨立式鍵盤中每一個鍵占用一根I/O口線,每個按鍵電路相對獨立,就是各按鍵之間沒有制約關(guān)系,可以獨立工作。在實際應(yīng)用中,可以每個按鍵動作表示一個意義,也可以用幾個甚至全部按鍵的組合表示不同的意義。而行列式鍵盤按照二維矩陣用導(dǎo)線將按鍵組織排列起來而形成按鍵矩陣。采用行列電路結(jié)合行列交點處通過按鍵相連,列線作為掃描輸出,行線作為按鍵檢測輸入,按鍵數(shù)多。在實際應(yīng)用中,使用編碼器要選用優(yōu)先編碼器,并按照編碼器的優(yōu)先原則進行按鍵蹬優(yōu)先安排。兩種方案可以根據(jù)實際需要進行選擇⑸。1.6程序方框圖圖1-2光纖測距系統(tǒng)程序流程圖開始])單片機初始化8255初始化顯示緩沖區(qū)左移鍵值

在最右端顯示圖1-3輸入采樣模塊(開始N有鍵按下否?一lY顯示緩沖區(qū)左移鍵值在最

右端顯示圖1-4鍵盤顯示模塊圖1-50809的采集程序流程第二章傳感器原理的分析2.1光纖傳感器與測量技術(shù)是儀器儀表領(lǐng)域新的發(fā)展方向由于光纖傳感器及技術(shù)具有較其它傳感器無法比擬的特點,所以近幾年來,光纖傳感器與測量技術(shù)發(fā)展成為儀器儀表領(lǐng)域新的發(fā)展方向,而新型光纖傳感器不外乎有以下特點:*光纖傳感器具有優(yōu)良的傳光性能,傳光損耗很小,目前損耗能達到您2dB/km的水平。*光纖傳感器頻帶寬,可進行超高速測量,靈敏度和線性度好。*光纖傳感器體積很小,重量輕,能在惡劣環(huán)境下進行非接觸式、非破壞性以及遠距離測量。還具有靈敏度高、可靠性好、原材料硅資源豐富、抗電磁干擾,抗腐蝕、耐高壓、電絕緣性能好、可繞曲、防爆、頻帶寬、損耗低等特點。同時,它還便于與計算機相連,實現(xiàn)智能化和遠距離監(jiān)控。對傳統(tǒng)的傳感器起到擴展提高的作用,不少情況下能夠完成前者很難完成甚至不能完成的任務(wù)。正是由于光纖傳感器具有許多獨特優(yōu)勢,可以解決許多傳統(tǒng)傳感器無法解決的問題,所以自從它問世以來,就被廣泛應(yīng)用于醫(yī)療、交通、電力、機械、石油化工、民用建筑以及航空航天等各個領(lǐng)域。我們在討論光纖傳感器在石油化工領(lǐng)域的應(yīng)用時,即油庫油罐液位、溫度信號實時監(jiān)測系統(tǒng)中的設(shè)計方案,可以看到它的優(yōu)點。正因該監(jiān)測系統(tǒng)應(yīng)用了光纖液位傳感器、光纖溫度傳感器及光纖液位報警器為此先對有關(guān)的光纖傳感器技術(shù)作一介紹。2.2光纖傳感器的組成與類型光纖傳感器一般是由光源、接口、光導(dǎo)纖維、光調(diào)制機構(gòu)、光電探測器和信號處理系統(tǒng)等部分組成。來自光源的光線,通過接口進入光纖,然后將檢測的參數(shù)調(diào)制成幅度、相位、色彩或偏振信息,最后利用微處理器進行信息處理。概括光纖傳感器一般由三部分組成,除光纖之外,還必須有光源和光探測器兩個重要部件。光纖傳感器一般分為兩大類:一類是傳光型,也稱非功能型光纖傳感器;另一類是傳感型,或稱為功能型光纖傳感器。前者多數(shù)使用多模光纖,以傳輸更多的光量;而傳感型光纖傳感器,是利用被測對象調(diào)制或改變光纖的特性,所以只能用單模光纖。圖2-1傳感器結(jié)構(gòu)圖2.3光纖位移傳感器原理2.3.1簡介光纖位移傳感器中光纖采用型結(jié)構(gòu),即兩束光纖的一端合并為光纖探頭另一端分叉為兩束,分別為光纖入射臂和光纖出射臂光纖只起傳送光信號的作用。當(dāng)光源發(fā)出的光經(jīng)光纖入射臂照射到位移反射體上后被反射的光又經(jīng)光纖出射臂輸出,被光敏器件接收。其出射光強決定于反射體距光纖探頭的距離位移改變則輸出光強作相應(yīng)的變化。通過對輸出光強的檢測而得到位移量。2.3.2基本電路原理在光纖傳感器中電路由兩部分組成即光源驅(qū)動電路和光接收電路。電路設(shè)計中發(fā)光光源和光接收器件的選擇尤為重要。要依據(jù)個原則:在傳感器構(gòu)造設(shè)計方面光源和光接收器件要易于和光纖耦合由于光纖芯徑較細,故光源和光接收器件體積要小。在光纖輸出獲得的信號方面光源要工作穩(wěn)定亮度高。從光在光纖中傳輸損耗上講光源的峰值波長應(yīng)接近光纖的零色散波長光接收器件的峰值響應(yīng)也應(yīng)與之匹配。2.3.3光源驅(qū)動電路以半導(dǎo)體發(fā)光二極管LED作為光源基本工作電路有直流驅(qū)動和脈沖頻率調(diào)制驅(qū)動兩種形式。直流驅(qū)動電路簡單由直流電源、限流電阻和LED串聯(lián)而成LED發(fā)光亮度的穩(wěn)定性依賴于通過它的電流。在直流驅(qū)動中所用直流電源電壓的不穩(wěn)定將導(dǎo)致ED發(fā)光的不穩(wěn)定。因此在光亮度要求穩(wěn)定的光學(xué)測試中不采用直流驅(qū)動它僅適用于作為顯示器件的場合。本文采用脈沖頻率調(diào)制驅(qū)動電路這樣不僅可使LED發(fā)光穩(wěn)定,而且在光接收電路設(shè)計上容易實現(xiàn)以消除周圍光和光學(xué)上的外部干擾。其電路原理圖如圖所示:脈沖產(chǎn)生部分是以^及外圍阻容元件組成的方波發(fā)生器°R和C1組成有延遲的反饋網(wǎng)絡(luò),電容C1上的電壓即為反饋電壓。穩(wěn)壓管Z對輸出電壓起限幅作用同時對后邊開關(guān)三極管的基極電位進行牽制以使集電極電流即流過LED的電流穩(wěn)定。2.3.4光接收電路光接收電路由光電轉(zhuǎn)換、前置放大和濾波三部分組成。圖2-2光源驅(qū)動電路原理圖第三章MCS-51系列單片機系統(tǒng)結(jié)構(gòu)分析3.1概述單片微型計算機(SingleChipComputer簡稱單片機)是微型計算機的一個重要分支,自20世紀70年代問世以來,以極高的性能價格比、方便實用等諸多的優(yōu)點,受到人們的普遍關(guān)注,特別是在自動控制、儀器儀表、數(shù)據(jù)處理、家用電器,以及各種消費類電子產(chǎn)品中,得到廣泛的應(yīng)用。目前的微型計算機按照其電路及設(shè)備的功能可分為四大部分:中央處理器CPU)、存儲器(內(nèi)部和外部存儲器、輸入輸出接口(I/O)、外圍設(shè)備(鍵盤和顯示器等)外圍設(shè)備都是通過接口與CPU相連接,在硬件結(jié)構(gòu)上基本都是總線型,結(jié)構(gòu)如下圖所示。隨著單片機功能集成的發(fā)展,其應(yīng)用也逐漸地由單純的控制擴展為控制處理、數(shù)據(jù)處理以及數(shù)字信號處理(DigitalSignalProcessing,DSD等領(lǐng)域⑹。3.2功能模塊3.2.1微處理器8位單片機具有8位數(shù)據(jù)線和13位地址線。因此,其基本數(shù)據(jù)類型是8位的“字”,而13位地址線A0?A12最多可尋訪8K字的存儲空間,用于存放指令代碼和數(shù)據(jù)。地址線中的高5位P2,低8位A0~A7則來自數(shù)據(jù)與地址分時復(fù)用的P0口。P2中的五位口與P0一起組成13位的地址線來尋址89C51中8KB的地址空間[7]。寄存器組:由通用寄存器、專用寄存器、移位寄存器共8個寄存器組成,這些寄存器都是8位的寄存器。通用寄存器(R1——R4)用一般數(shù)據(jù)處理和數(shù)據(jù)傳送°89C51單片機內(nèi)核中寄存器A為專門的累加器。專門寄存器中,堆棧指針寄存器SP、程序指針(計數(shù))寄存器PC與其他單片機的相應(yīng)寄存器的作用相同,分別指出當(dāng)前堆棧地址和程序地址。3.2.2片內(nèi)存儲器單片機的存儲器有兩種基本結(jié)構(gòu):一種是在通用微型計算機中廣泛采用的將程序和數(shù)據(jù)合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓(Princeton)結(jié)構(gòu);另一種是將存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(Harvard)結(jié)構(gòu)。目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多8]。圖4-1單片機的基本組成結(jié)構(gòu)3.2.3片外存儲器在實際應(yīng)用中,如果片內(nèi)存儲器不夠用,就需要使用片外存儲器。不同的單片機存儲容量不同,對片外存儲器的處理也不同。對于兼容總線方式的單片機,可以使用兼容總線管理片外存儲器;對于非兼容總線方式的單片機,盡量不使用片外存儲器,必要時,需要用并行接口模擬總線的動作。需要注意,在很多情況下,擴展并行接口也要占用存儲器地址,要保證尋址地址的唯一性,就要給接口留有地址空間8]。3.2.4定時器/記數(shù)器在單片機中,定時器/計數(shù)器就是一個固定長度的二進制計數(shù)器,當(dāng)對輸入脈沖信號的數(shù)量進行記數(shù)時,我們稱其為計數(shù)器,當(dāng)對單片機的系統(tǒng)時鐘或其他的標(biāo)準(zhǔn)時鐘進行記數(shù)時,由于這類時鐘信號本身就表示時間,記數(shù)值對應(yīng)著時間值,所以從這個角度上將其稱為定時器。在單片機中,內(nèi)部定時器都是可編程控制的定時器計數(shù)器,至少有兩部分組成:脈沖計數(shù)電路和控制寄存器及譯碼控制電路。在復(fù)雜一些的定時器中,還有預(yù)置數(shù)寄存器、多路開關(guān)等[9]。第四章單片機軟件設(shè)計說明及程序流程圖程序設(shè)計思想按照由上而下(top-down)的編程思想。4.1總體程序思想程序要檢測的外界輸入量是一個0到4mm的距離,系統(tǒng)要把這個距離采集過來并在4個LED上面顯示出來(要求帶一個小數(shù),最大為4.0mm),并且還能從鍵盤輸入32路數(shù)據(jù)的選通碼,完成對輸入的模擬信號進行選擇。而且鍵盤輸入的這個數(shù)也要在個LED上面顯示出來。4.2程序的分塊分塊的思想對于程序員來說是非常重要的。雖然在小型的程序中,我們可以不用分塊。但是在大型的程序中,分塊的思想的優(yōu)點就顯得很明顯了。它對各個塊各個擊破,可以降低整個系統(tǒng)的難度。它被應(yīng)用于團隊的分工合作中。所以我把這個程序分成了4個子模塊:AD轉(zhuǎn)換模塊、數(shù)制轉(zhuǎn)換模塊、動態(tài)顯示模塊,鍵盤掃描模塊。4.3各個關(guān)鍵地址和控制信號說明8255的CS連P2.7地址為7XXXH要求啟動AD676的信號接在P2.6上,故啟動AD的地址為10XX,XXXX,XXXX,XXXXBRD_BUF1和RD_BUF2讀取轉(zhuǎn)換結(jié)果的信號,分時把數(shù)據(jù)從鎖存器中讀取出來送到單片機中。RD_BUF1和RD_BUF2分別接在P1.0P1.1上由單片機直接控制。S/H同步采樣保持信號由單片機直接發(fā)出,操作的端口是P1.24.4各個模塊功能說明及流程圖(源程序見附錄)4.4.1主模塊上電后程序等待鍵盤輸入。鍵盤輸入完成后,即按了確認鍵之后,送出/H信號,對32路數(shù)據(jù)進行同步采樣。完成一園D采集后,數(shù)據(jù)并行在當(dāng)手動選擇通道時,停止數(shù)據(jù)采集,顯示距離的4個LED滅燈。另外兩個LED顯示當(dāng)前輸入的通道值。根據(jù)實際情況,按鍵輸入設(shè)定為三次輸入。第一次按鍵輸入的是個十位的數(shù)值,第二次輸入十分位的數(shù)值,第三次為確認鍵。在輸入的過程中可以隨時按清除鍵,清除當(dāng)前的輸入的數(shù),程序跳到第一次輸入的入口處,要求輸入新的通道號。輸入完畢后按確認鍵,送出多路選通碼,跳出鍵盤掃描程序,開始采集數(shù)據(jù),采集完畢后顯示當(dāng)前距離與當(dāng)前的通道號。(程序檢查距離是否超出范圍,如果超出范圍,則閃動發(fā)光二極管警告。)接下來程序返回到開始,測試有無鍵盤輸入,沒有的話直接從8951的RAM區(qū)讀取上次的通道號,選通外部的測量儀表,進行數(shù)據(jù)采集顯示。在程序中,數(shù)據(jù)轉(zhuǎn)換處理程序會根據(jù)數(shù)據(jù)采集的值是否和上次一樣的判斷來決定是不是可以不要進行此次數(shù)據(jù)轉(zhuǎn)換,而直接利用上次轉(zhuǎn)換的結(jié)果進行顯示。這樣節(jié)省了一些數(shù)據(jù)處理的時間。4.4.2A/D采集模塊P2.7和/WR信號同時為0時CPLD中的AD_ST變高有效,P2.7和/WR經(jīng)過或非門得到AD_ST。只要使用MOVDPTR,#7FFFH和MOVX@DPTR,A就可以啟動CPLD狀態(tài)機控制AD轉(zhuǎn)換。軟件濾波:軟件濾波有很多的方法。在這個程序里,采用算術(shù)平均濾波法,采集6次后取平均,這個處理可以濾除一些異常數(shù)據(jù)9]。4.4.3數(shù)據(jù)轉(zhuǎn)換處理程序(加序號)功能:本模塊將16位二進數(shù)轉(zhuǎn)換成壓縮BCD碼,然后再將壓縮BCD碼的所表示的10進制數(shù)的每位分別取出來轉(zhuǎn)換成可直接顯示的格式,送入顯示緩沖區(qū),60H?65H中。入口:(50H51H):高位在50H中,低位在51H中出口:60H?63H資源:r6,r7,r3,r4,r5下面是16位數(shù)轉(zhuǎn)壓縮BCD碼的程序流程圖:計算公式:16二進制數(shù)二(r5低4位表示的BCD碼)+(r5高4位表示的BCD碼)*10+(r4低4位表示的BCD碼)*100+(r4低4位表示的BCD碼)*1000+(r3低4位表示的BCD碼)*100004.4.4動態(tài)顯示子模塊(加序號)功能:將顯示緩沖區(qū)(60h?65h)的數(shù)據(jù)以動態(tài)方式在6個LED上顯示出來。入口:以LEDBUF為首地址依次存放從百位至十分位待顯示數(shù)據(jù),以及通道號數(shù)據(jù)。出口:顯示6個LED后滅燈返回。

圖4-116位數(shù)轉(zhuǎn)壓縮BCD碼的程序流程圖

到6次么?返回NYR2—#00100000R1—#6次記數(shù)日2位選右移,曰0指向下個LED到6次么?返回NYR2—#00100000R1—#6次記數(shù)日2位選右移,曰0指向下個LEDg寸|,寸|關(guān)所有的1£。關(guān)所有的1£。輸出位選輸出段選圖4-2動態(tài)顯示模塊流程圖(加序號)功能:得到鍵盤掃描碼,并且通過KEYSWITH程序?qū)Φ玫降逆I盤碼進行處理。寫對應(yīng)的顯示緩沖區(qū)和鍵盤緩沖區(qū)。這個程序?qū)︽I盤輸入錯誤做了處理:當(dāng)?shù)谌?/p>

次輸入的鍵盤還是數(shù)字鍵的話,由于輸入的路數(shù)只有)一31總共32路,所以輸入錯誤,當(dāng)?shù)诙屋斎霝榇_認鍵時,輸入也錯誤,對這些出錯,系統(tǒng)都是把鍵盤緩沖區(qū)灑,計數(shù)器r3也清0,在LED顯示器上面顯示“ERROR”,要求重新輸入。鍵盤碼的程序流程:圖4-3鍵盤掃描程序流程圖第五章調(diào)試運行情況調(diào)試步驟:1、按原理圖連接好硬件。2、編程環(huán)境軟件開發(fā)環(huán)境:偉福WAVE6000,該軟件的模擬調(diào)試器支持C語言及匯編語言源代碼調(diào)試,其匯編程序支持宏匯編及模塊化編程,使用方便。首先在模擬調(diào)試器中調(diào)試各子模塊,各子模塊調(diào)試正常后再將各子模塊及主模塊全部匯編連接成目標(biāo)文件,最后將目標(biāo)代碼下載到單片機中并連接PLD及光纖傳感器進行統(tǒng)調(diào)。3、由于硬件的焊接部分沒有完成,相對的也沒辦法對硬件進行調(diào)試。該系統(tǒng)軟件部分測試時既在偉福實驗箱上通過,也用51仿真頭在線仿真。經(jīng)過一個多次的連續(xù)運行觀察,運行可靠穩(wěn)定,完全滿足使用要求。4、調(diào)試的體會匯編程序的調(diào)試比較復(fù)雜和煩瑣,要求編程者對硬件的結(jié)構(gòu)有比較深刻的了解和耐心細致的思維品質(zhì)。調(diào)試中通常跳出很多的意想不到的問題,這些對我們都是一個個考驗。但是最后經(jīng)過不懈的努力,到程序通過的時候,所有的辛苦都得到了最好的回報??偨Y(jié)到此,單片機控制的光纖測距系統(tǒng)的軟件設(shè)計已經(jīng)完成。在ADC進行設(shè)計上,要對電路的干擾和瞬時性提出很高的要求,ADC0809元件對于外界的微小電壓變化,產(chǎn)生的輸出幅度差是很大的,因此在電路設(shè)計上尤其要注意對ADC0809外圍電路的接地以及絕緣措施,防止誤報或者錯報。從實驗臺上測得的數(shù)據(jù)是光纖傳感器的輸出電壓是0.5V,距離在0mm-3mm時測得的電壓近似呈線形,曲線到了最高點后下降,可見此實驗臺并不精確,需要進一步的改進。這次測距系統(tǒng)的設(shè)計是針對小距離長度的測量,測得的數(shù)據(jù)的波動不大,因為所測距離的范圍比較小,所以相對需要較高的精度。對于單片機在監(jiān)控系統(tǒng)下,由于工作條件的限制,對于外界的濕度,溫度等環(huán)境下的可靠度,都要有一定的要求,這對電路的可靠性就提出了新的要求,對此,不僅要在硬件上進行冗余設(shè)計,而且軟件中也要有一定冗余的處理。整個系統(tǒng)的軟件設(shè)計是用匯編語言實現(xiàn)的,用偉福WAVE6000軟件進行了調(diào)試,因為程序比較多調(diào)試起來也是比較麻煩,最后在同學(xué)和老師的幫助下調(diào)試成功了。但是由于設(shè)計者的水平,在測量系統(tǒng)的精度,抗干擾性能,穩(wěn)定性能上存在著問題,有待于進一步改進。通過這次的畢業(yè)設(shè)計,使我們在專業(yè)知識方面有了一個很大的提高,使我們充分認識到我們所掌握的專業(yè)知識和技能還遠遠不夠的。畢業(yè)設(shè)計可以說是將以前的有關(guān)設(shè)計全部集中在一起,要求我們掌握多種專業(yè)技能,了解更多的專業(yè)知識。同時使我知道了,知識是取之不盡,用之不竭的,即便是以后走到工作崗位上,也要不斷的學(xué)習(xí)各種知識,使自己成為一個全面的人才。致謝本課題的設(shè)計及論文是在許京雷老師的悉心指導(dǎo)下才得以順利完成的,在許老師的指導(dǎo)下,我無論從理論上,還是從實踐上都有了很大的進步。他嚴謹求實的治學(xué)態(tài)度,豐富淵博的知識涵養(yǎng),嚴肅認真的工作作風(fēng)和兢兢業(yè)業(yè)的敬業(yè)精神,使我終生受益。在論文的選題、英文的翻譯,系統(tǒng)方案設(shè)計、實驗現(xiàn)象的分析與研究及最后論文的撰寫,他都傾注了大量的心血,來指導(dǎo)我們。在此,謹許京雷老師致以誠摯的謝意,并表示衷心的感謝。同時要感謝實驗室的各位老師,感謝他們提供的實驗設(shè)備和干凈的實驗室環(huán)境,還有他們在實驗室給予的指導(dǎo)。另外還要感謝我同組的一位同學(xué),沒有他們的支持和配合我的工作也不能很順利了完成。最后要感謝那些在這個炎熱的夏天,耐著酷暑給我們評定論文和答辯的老師,感謝他們的辛勤勞動。參考文獻楊恢先等編著單片機原理及應(yīng)用[M].長沙,國防科技大學(xué)出版社,2003.李朝青編著單片機原理及接口技術(shù)M].北京,北京航空航天大學(xué)出版,2004.李朝青編著PC機及單片機數(shù)據(jù)通信技術(shù)M].北京,北京航空航天大學(xué)出版,2002.于鳳明等編著單片機原理及接口技術(shù)M].北京,中國輕工業(yè)出版社,2003.何立民主編單片機中級教程單片機高級教程:M].北京,北京航空航天大學(xué)出版社2003余永權(quán),汪明慧,黃英編著單片機在控制系統(tǒng)中的應(yīng)用M].西安,電子工業(yè)出版社,2003李建忠主編單片機原理及應(yīng)用[M].西安,西安電子科技大學(xué)出版社,2002薛鈞義等編著單片微型計算機及其應(yīng)用[M].西安,西安交通大學(xué)出版社2003.張毅剛編著單片機原理及應(yīng)用[M].哈爾濱,哈爾濱工業(yè)大學(xué)出版社2004EricGriffith.ImprovingtheSingle-C.,2004附錄A源程序ADPORTEQU9000HLENPHEQU50HLENPLEQU51H;數(shù)據(jù)存放在(50)(51)地址單元中BIT_CSEQU8002H;7F01HSEG_CSEQU8004H;7F02HINEQU8001H;7F03HLEDBUFEQU60HORG0000HLJMPSTARTDELAY:MOVR7,#0DL1:DJNZR7,DL1DJNZR6,DL1RETLEDMAP:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FH鍵盤掃描子程序TESTKEY:MOVDPTR,#BIT_CSMOVA,#0FFHMOVX@DPTR,AMOVDPTR,#INMOVXA,@DPTRCPLAANLA,#0FHRETGETKEY:MOVR1,#00001000BMOVR2,#4KLOOP:MOVDPTR,#BIT_CSMOVA,R1MOVX@DPTR,A;逐行輸出為低電平RRAMOVR1,AMOVDPTR,#INMOVXA,@DPTRCPLAANLA,#0FHJNZGOON1;該行有鍵入DJNZR2,KLOOPMOVR2,#0FH;沒有鍵按下,返回0FHSJMPWAITRELEASEGOON1:MOVR1,A;鍵值二行X4+列值MOVA,R2DECA;(第N行-1)X4RLARLAMOVR2,A;R2=(R2-1)*4MOVA,R1;R1中為讀入的列值MOVR1,#4LOOPC:RRCA;移位找出所在列JCWAITRELEASEINCR2;R2=R2+列值DJNZR1,LOOPCWAITRELEASE:MOVDPTR,#BIT_CS;等鍵釋放CLRAMOVX@DPTR,AMOVR6,#10CALLDELAYCALLTESTKEYJNZWAITRELEASEMOVA,R2;獲得的鍵盤碼放A中7KEYSWICH:RLAMOVDPTR,#SKYTABJMP@A+DPTRSKYTAB:AJMPIN0_9;鍵盤碼0,數(shù)字0AJMPIN0_9;鍵盤碼1,數(shù)字1AJMPIN0_9;鍵盤碼2,數(shù)字2AJMPIN0_9;鍵盤碼3,數(shù)字3AJMPIN0_9;鍵盤碼4,數(shù)字4AJMPIN0_9;鍵盤碼5,數(shù)字5AJMPIN0_9;鍵盤碼6,數(shù)字6AJMPIN0_9;鍵盤碼7,數(shù)字7AJMPIN0_9;鍵盤碼8,數(shù)字8AJMPIN0_9;鍵盤碼9,數(shù)字9AJMPADD1;鍵盤碼A,功能鍵巡回+1AJMPDEC1;鍵盤碼B,功能鍵巡回-1AJMPCLEAR;鍵盤碼C,清除鍵AJMPENTER;鍵盤碼D,確認鍵AJMPNUL;鍵盤碼E,沒有定義AJMPNUL;鍵盤碼F,沒有定義IN0_9:INCR3SETB00HCJNER3,#1,SECKEYFIRKEY:MOVA,R2MOVLEDBUF+0,#0MOVLEDBUF+1,#0MOVLEDBUF+2,#0MOVLEDBUF+3,#0MOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVLEDBUF+4,AMOVLEDBUF+5,#0MOVA,R2RLARLARLAADDA,R2ADDA,R2MOV52H,ARETSECKEY:CJNER3,#2,THIRDMOVA,52HADDA,R2MOV52H,AMOVDPTR,#LEDMAPMOVB,#10DIVABMOVCA,@A+DPTRMOVLEDBUF+4,AMOVA,BMOVCA,@A+DPTRMOVLEDBUF+5,AMOVLEDBUF+0,#0MOVLEDBUF+1,#0MOVLEDBUF+2,#0MOVLEDBUF+3,#0RETTHIRD:MOVR3,#0ACALLERRORRETADD1:SETB00HMOVA,52HSUBBA,#30JCGN3JMPNUL;增加到31為止GN3:MOVA,52HINCAMOV52H,AMOVB,#10DIVABMOVDPTR,#LEDMAPMOVCA,@A+DPTR

MOVLEDBUF+4,AMOVA,BMOVCA,@A+DPTRMOVLEDBUF+5,AMOVLEDBUF+0,#0MOVLEDBUF+1,#0MOVLEDBUF+2,#0MOVLEDBUF+3,#0RETDEC1:SETB00HMOVA,52HJZNUL;減少到0為止DECAMOV52H,AMOVB,#10DIVABMOVDPTR,#LEDMAPMOVCA,@A+DPTRMOVLEDBUF+4,AMOVA,BMOVCA,@A+DPTRMOVLEDBUF+5,AMOVLEDBUF+0,#0MOVLEDBUF+1,#0MOVLEDBUF+2,#0MOVLEDBUF+3,#0RETCLEAR:MOVR3,#0CLRAMOV52H,AMOV53H,AMOVLEDBUF+0,#0MOVLEDBUF+1,#0MOVLEDBUF+2,#0MOVLEDBUF+3,#0MOVLEDBUF+4,#0MOVLEDBUF+5,#0RETENTER:CJNER3,#1,NE1CALLERRORRETNE1:CLR00H;LCALLMUXRETERROR:MOVLEDBUF+0,#31HMOVLEDBUF+1,#3FHMOVLEDBUF+2,#31HMOVLEDBUF+3,#0HMOVLEDBUF+4,#79HMOVLEDBUF+5,#31HCLRAMOVR2,AMOV52H,R2SETB00HJMPLP0RETNUL:RET7;動態(tài)顯示子程序7DISPLAYLED:MOVR0,#LEDBUFMOVR1,#6;共6個八段管MOVR2,#00100000B;從左邊開始顯示LOOP:MOVDPTR,#BIT_CSMOVA,#0FFHMOVX@DPTR,A;關(guān)所有八段管MOVA,@R0MOVDPTR,#SEG_CSMOVX@DPTR,AMOVDPTR,#BIT_CSMOVA,R2MOVX@DPTR,A;顯示一位八段管MOVR6,#1CALLDELAYMOVA,R2;顯示下一位RRAMOVR2,AINCR0DJNZR1,LOOPMOVDPTR,#SEG_CSMOVA,#0MOVX@DPTR,ARETREAD_AD:CLRPSW.1MOVDPTR,#9000HMOVX@DPTR,A啟動ADHERE:JBP3.3,HEREMOVXA,@DPTRMOVB,#距離范圍MULAB;采集數(shù)據(jù)X距離范圍MOV33H,#0MOV34H,BMOV35H,ACALLDIV_DWMOV30H,R4MOV31H,R5MOVA,30HCJNZA,50H,DIFFERMOVA,31HCJNZA,51H,DIFFERCALLHULUE;相同就不須進行BCD轉(zhuǎn)換RETHULUE:SETPSW.1;置與上次采集數(shù)據(jù)相同標(biāo)志位RETDIFFER:MOV51H,31HMOV50H,30HRETDIV_DW:DV31:CLRCMOVR3,33HMOVR4,34HMOVR5,35HMOVR7,#255MOVA,R3SUBBA,R7JCDV30SETBOV;商溢出RETDV30:MOVR2,#10H;求R3R4R5/R7—-R4R5DM23:CLRCMOVA,R5RLCAMOVR5,AMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AMOVF0,CCLRCSUBBA,R7ANLC,/F0JCDM24MOVR3,AINCR5DM24:DJNZR2,DM23MOVA,R3;四舍五入ADDA,R3JCDM25SUBBA,R7JCDM26DM25:INCR5MOVA,R5JNZDM26INCR4DM26:CLROVRET;商在R4R5中TOBCD:JBCPSW.1,DISP如果采集數(shù)值和上次一樣,則跳過BCD碼轉(zhuǎn)換MOVR7,51HMOVR6,50HHB2:CLRAMOVR7,51HMOVR6,50HHB2:CLRA;BCD碼初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,#10H;轉(zhuǎn)換雙字節(jié)十六進制整數(shù)HB3:MOVA,R7RLCAMOVR7,AMOVA,R6RLCAMOVR6,AMOVA,R5;BCD碼帶進位自身相加,相當(dāng)于乘2ADDCA,R5DAA;十進制調(diào)整MOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A;雙字節(jié)十六進制數(shù)的萬位數(shù)不超過6,不用調(diào)整DJNZR2,HB3;處理完16BITDISP:MOVDPTR,#LEDMAPMOVA,R3JZD1MOVLEDBUF+0,#06HSJMPD2D1:MOVLEDBUF+0,#0當(dāng)LED最高位為0時,讓它滅掉D2:MOVA,R4MOVB,#16DIVABMOVCA,@A+DPTRMOVLEDBUF+1,AMOVA,BMOVCA,@A+DPTRADDA,#80HMOVLEDBUF+2,AMOVA,R5MOVB,#16DIVABXCHA,BSUBBA,#5JCA5INCBA5:MOVA,BMOVCA,@A+DPTRMOVLEDBUF+3,AMOVA,52HSUBBA,#32JNCEND1MOVA,52HMOVB,#10DIVABMOVCA,@A+DPTRMOVLEDBUF+4,AMOVA,BMOVCA,@A+DPTRMOVLEDBUF+5,AEND1:RET7;主程序開始START:MOVSP,#70HMOVDPTR,#7F00HMOVA,#03HMOVX@DPTR,AMLOOP:SETB00HCALLTESTKEYJZADLP0

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論