基于單片機(jī)的紅外報(bào)警器設(shè)計(jì)_第1頁
基于單片機(jī)的紅外報(bào)警器設(shè)計(jì)_第2頁
基于單片機(jī)的紅外報(bào)警器設(shè)計(jì)_第3頁
基于單片機(jī)的紅外報(bào)警器設(shè)計(jì)_第4頁
基于單片機(jī)的紅外報(bào)警器設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、講師劉卉隨著社會(huì)的不斷進(jìn)步和科學(xué)技術(shù)、經(jīng)濟(jì)的不斷發(fā)展,人們生活水平得到很大的提高,對私有財(cái)產(chǎn)的保護(hù)意識(shí)在不斷的增強(qiáng),因而對防盜措施提出了新的要求。 本設(shè)計(jì)就是為了滿足現(xiàn)代住宅防盜的需要而設(shè)計(jì)的家庭式電子防盜系統(tǒng)。目前市面上裝備主要有壓力觸發(fā)式防盜報(bào)警器、開關(guān)電子防盜報(bào)警器和壓力遮光觸發(fā)式防盜報(bào)警器等各種報(bào)警器,但這幾種比較常見的報(bào)警器都存在一些缺點(diǎn)。本系統(tǒng)采用了熱釋電紅外傳感器,它的制作簡單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定,抗干擾能力強(qiáng)、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn)。同時(shí)它的信號(hào)經(jīng)過單片機(jī)系統(tǒng)處理后方便和機(jī)通信,便于多用戶統(tǒng)一管理。本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)

2、兩個(gè)部分。硬件部分包括單片機(jī)控制電路、紅外探頭電路、驅(qū)動(dòng)執(zhí)行報(bào)警電路、LED控制電路等部分組成。處理器采用51系列單片機(jī)AT89S51。整個(gè)系統(tǒng)是在系統(tǒng)軟件控制下工作的。系統(tǒng)程序可以劃分為以下幾個(gè)模塊:數(shù)據(jù)采集、鍵盤控制、報(bào)警和顯示等子函數(shù)。當(dāng)人員外出時(shí),可把報(bào)警系統(tǒng)設(shè)置在外出布防狀態(tài),探測器工作,當(dāng)有人闖入時(shí),熱釋電紅外傳感器將探測到動(dòng)作,設(shè)置在監(jiān)測點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),經(jīng)放大電路、比較電路送至門限開關(guān),打開門限閥門送出TTL 電平至 AT89S51 單片機(jī),經(jīng)單片機(jī)處理運(yùn)算后驅(qū)動(dòng)執(zhí)行報(bào)警電路使警號(hào)發(fā)聲。關(guān)鍵詞:報(bào)警電路、單片機(jī)、紅外傳感器、數(shù)據(jù)采集 專科畢業(yè)設(shè)計(jì)說

3、明書(論文) 第 PAGE 40頁共 NUMPAGES 40頁目 錄 TOC o 1-3 u 緒 論11 無線報(bào)警器系統(tǒng)總體設(shè)計(jì)21.1 系統(tǒng)概述21.2主要器件介紹31.2.1熱釋電紅外傳感器概述31.2.2 AT89S51 單片機(jī)概述71.3 總體設(shè)計(jì)122 無線報(bào)警器系統(tǒng)硬件設(shè)計(jì)122.1系統(tǒng)工作原理圖122.2 信號(hào)檢測與放大電路132.2.1電路實(shí)現(xiàn)功能132.2.2電路圖圖2-1信號(hào)檢測與放大電路132.2 LED顯示電路142.3.1電路實(shí)現(xiàn)功能142.3.2電路圖142.3.3電路實(shí)現(xiàn)原理152.3 報(bào)警執(zhí)行電路152.4.1電路實(shí)現(xiàn)功能152.4.2電路圖 PAGEREF _

4、Toc232140846 h 182.4.3電路實(shí)現(xiàn)原理162.4手工暫停162.5.1電路實(shí)現(xiàn)功能162.5.2電路圖162.5.3電路工作原理172.5單片機(jī)控制晶振與復(fù)位電路172.6.1電路實(shí)現(xiàn)功能:172.6.2電路圖:172.6.3電路工作原理173 無線報(bào)警器系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc232140858 h 203.1流程圖 PAGEREF _Toc232140859 h 213.2 主程序設(shè)計(jì)204 系統(tǒng)調(diào)試30結(jié)論和展望31心得體會(huì)34參考文獻(xiàn)34附錄34緒論隨著社會(huì)的不斷進(jìn)步和科學(xué)技術(shù)、經(jīng)濟(jì)的不斷發(fā)展,人們生活水平得到很大的提高,對私有財(cái)產(chǎn)的保護(hù)意識(shí)在不斷的增強(qiáng)

5、,因而對防盜措施提出了新的要求。 本設(shè)計(jì)就是為了滿足現(xiàn)代住宅防盜的需要而設(shè)計(jì)的家庭式電子防盜系統(tǒng)。就目前市面上裝備主要有壓力觸發(fā)式防盜報(bào)警器、開關(guān)電子防盜報(bào)警器和壓力遮光觸發(fā)式防盜報(bào)警器等各種報(bào)警器,但這幾種比較常見的報(bào)警器都存在一些缺點(diǎn)。而我所研究的防盜報(bào)警器采用了熱釋電紅外傳感器,它的制作簡單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定,抗干擾能力強(qiáng)、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn),同時(shí)它的信號(hào)經(jīng)過單片機(jī)系統(tǒng)處理后方便和PC機(jī)通信,便于多用戶統(tǒng)一管理和用戶操作。近年來,隨著改革開放的深入發(fā)展,電子電器的飛速發(fā)展,人民的生活水平有了很大提高,各種高檔家電產(chǎn)品和貴重物品

6、為許多家庭所擁有,然而一些不法分子也是越來越多。因此,越來越多的居民家庭對財(cái)產(chǎn)安全問題十分擔(dān)憂。報(bào)警器這時(shí)正為人們解決了不少問題,但是市場上的報(bào)警器大部分都是用于一些大公司財(cái)政機(jī)構(gòu),價(jià)格高昂,一般人們難以接受。如果再設(shè)計(jì)和生產(chǎn)一種價(jià)廉、性能靈敏可靠的防盜報(bào)警器,必將在防盜和保證財(cái)產(chǎn)安全方面發(fā)揮更加有效的作用。由于紅外線是不見光,有很強(qiáng)的隱蔽性和保密性,因此在防盜、警戒等安保裝置中得到了廣泛的應(yīng)用。紅外報(bào)警器大多數(shù)采用國外的先進(jìn)技術(shù),其功能也非常先進(jìn)。其中包括被動(dòng)式熱釋電型紅外報(bào)警器,紅外監(jiān)控?zé)o線報(bào)警器,超聲波防盜報(bào)警器,紅外線防盜報(bào)警器高靈,敏紅外報(bào)警器,觸摸式延時(shí)防盜報(bào)警器, 觸摸式防盜報(bào)警

7、器,紅外報(bào)警器, 紅外線聲先報(bào)警器而本產(chǎn)品選擇的是被動(dòng)式熱釋電型紅外報(bào)警器。此外,在電子防盜、人體探測等領(lǐng)域中,紅外探測器、以其價(jià)格低廉、技術(shù)性能穩(wěn)定等特點(diǎn)也受到廣大用戶和專業(yè)人士的歡迎。 1 無線報(bào)警器系統(tǒng)總體設(shè)計(jì)1.1 系統(tǒng)概述 本系統(tǒng)采用了熱釋電紅外傳感器,它的制作簡單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定,抗干擾能力強(qiáng)、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn),同時(shí)它的信號(hào)經(jīng)過單片機(jī)系統(tǒng)處理后方便和PC機(jī)通信,便于多用戶統(tǒng)一管理和用戶操作。 該設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為數(shù)據(jù)采集、鍵盤控制、報(bào)警和顯示等模塊子函數(shù)。電路結(jié)構(gòu)做成可劃分為:熱釋電紅外傳感器

8、、家庭智能報(bào)警器、單片機(jī)控制電路、LED控制電路及相關(guān)的控制管理軟件組成。用戶終端完成信息采集、處理、數(shù)據(jù)傳送、功能設(shè)定、本地顯示、本地報(bào)警等功能。就此設(shè)計(jì)的核心模塊來說,單片機(jī)就是設(shè)計(jì)的中心單元,所以此系統(tǒng)也是單片機(jī)應(yīng)用系統(tǒng)的一種應(yīng)用。單片機(jī)應(yīng)用系統(tǒng)也是有硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機(jī)應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、在線調(diào)試等幾個(gè)階段,就本設(shè)計(jì)來說也包括這些過程。它們的進(jìn)程框圖如圖1-1 所示。開始明確任務(wù) 選機(jī)型,劃分軟、硬件硬件研制軟件設(shè)計(jì)聯(lián)機(jī)仿真調(diào)試排出故障、修正軟件固化程序、應(yīng)用系統(tǒng)獨(dú)

9、立運(yùn)行完成研制 圖1-1 單片機(jī)應(yīng)用系統(tǒng)研制過程框圖1.2 主要器件介紹1.2.1 熱釋電紅外傳感器概述1) PIR傳感器簡單介紹熱釋電紅外線(PIR)傳感器是80年代發(fā)展起來的一種新型高靈敏度探測元件。是一種能檢測人體發(fā)射的紅外線而輸出電信號(hào)的傳感器,它能組成防入侵報(bào)警器或各種自動(dòng)化節(jié)能裝置。它能以非接觸形式檢測出人體輻射的紅外線能量的變化,并將其轉(zhuǎn)換成電壓信號(hào)輸出。將這個(gè)電壓信號(hào)加以放大,便可驅(qū)動(dòng)各種控制電路,如作電源開關(guān)控制、防盜防火報(bào)警、自動(dòng)檢測等。自然界中存在的各種物體,如人體、木材、石頭、火焰、冰等都會(huì)發(fā)出不同波長的紅外線,利用紅外傳感器可對其進(jìn)行檢測。根據(jù)工作原理,紅外傳感器分為

10、熱型和量子型兩類,熱型紅外傳感器也稱熱釋電紅外傳感器或被動(dòng)紅外傳感器。其特點(diǎn)如下: = 1 * GB3 目標(biāo)物體的輻射能量隨溫度的升高而增大。 = 2 * GB3 隨著溫度的升高,物體輻射能量的峰值向短波方向移動(dòng),其變化符合維恩定律。 = 3 * GB3 相同溫度下,不同目標(biāo)物體的輻射能量是不同的。 = 4 * GB3 熱釋電傳感器的輸出信號(hào)直流電平為1V,幅度為1MV的交流信號(hào)。改信號(hào)通過熱釋電傳感器內(nèi)部場效應(yīng)的源極輸出。熱釋電紅外傳感能區(qū)別運(yùn)動(dòng)著的生物和飄落的物體(主動(dòng)式紅外傳感器無法鑒別出運(yùn)動(dòng)中的物體是生物,還是其他非生物)2) PIR結(jié)構(gòu)特性及安裝 圖1-2 PIR結(jié)構(gòu)圖-2是一個(gè)雙探

11、測元熱釋電紅外傳感器的結(jié)構(gòu)示意圖。使用時(shí)端接電源正極,端接電源負(fù)極,端為信號(hào)輸出。該傳感器將兩個(gè)極性相反、特性一致的探測元串接在一起,目的是消除因環(huán)境和自身變化引起的干擾。它利用兩個(gè)極性相反、大小相等的干擾信號(hào)在內(nèi)部相互抵消的原理來使傳感器得到補(bǔ)償。對于輻射至傳感器的紅外輻射,熱釋電傳感器通過安裝在傳感器前面的菲涅爾透鏡將其聚焦后加至兩個(gè)探測元上,從而使傳感器輸出電壓信號(hào)。制造熱釋電紅外探測元的高熱電材料是一種廣譜材料,它的探測波長范圍為。為了對某一波長范圍的紅外輻射有較高的敏感度,該傳感器在窗口上加裝了一塊干涉濾波片。這種濾波片除了允許某些波長范圍的紅外輻射通過外,還能將燈光、陽光和其它紅外

12、輻射拒之門外。當(dāng)人體輻射的紅外線通過菲涅爾透鏡被聚焦在熱釋電紅外傳感器的探測元上時(shí),電路中的傳感器將輸出電壓信號(hào),然后使該信號(hào)先通過一個(gè)由C1、C2、R1、R2組成的帶通濾波器,該濾波器的上限截止頻率為16HZ,下限截止頻率為0.16HZ。由于熱釋電紅外傳感器輸出的探測信號(hào)電壓十分微弱(通常僅有1MV左右),而且是一個(gè)變化的信號(hào),同時(shí)菲涅爾透鏡的作用又使輸出信號(hào)電壓呈脈沖形式(脈沖電壓的頻率由被測物體的移動(dòng)速度決定,通常為0.110HZ),所以應(yīng)對熱釋電紅外傳感器輸出的電壓信號(hào)進(jìn)行放大。本設(shè)計(jì)運(yùn)用集成運(yùn)算放大器LM324來進(jìn)行兩級(jí)放大,以使其獲得足夠的增益。本設(shè)計(jì)所用的熱釋感器就采用這種雙探測

13、元的結(jié)構(gòu)。其工作電路原理及設(shè)計(jì)電路如 圖1-3所示, 在VCC電源端2利用C1和R2來穩(wěn)定工作電壓,同樣輸出端也多加了穩(wěn)壓元件穩(wěn)定信號(hào)。當(dāng)檢測到人體移動(dòng)信號(hào)時(shí),電荷信號(hào)經(jīng)過FET放大后,經(jīng)過C2,R1的穩(wěn)壓后使輸出變?yōu)楦唠娢?,再?jīng)過NPN的轉(zhuǎn)化,輸出OUT為低電平。圖1-3 熱釋電紅外傳感器原理圖紅外線熱釋電人體傳感器只能安裝在室內(nèi),其誤報(bào)率與安裝的位置和方式有極大的關(guān)系。正確的安裝應(yīng)滿足下列條件:1、紅外線熱釋電傳感器應(yīng)離地面2.0-2.2米。2、紅外線熱釋電傳感器遠(yuǎn)離空調(diào), 冰箱,火爐等空氣溫度變化敏感的地方。3、紅外線熱釋電傳感器探測范圍內(nèi)不得隔屏、家具、大型盆景或其他隔離物。4、紅外線

14、熱釋電傳感器不要直對窗口,否則窗外的熱氣流擾動(dòng)和人員走動(dòng)會(huì)引起誤報(bào),有條件的最好把窗簾拉上。紅外線熱釋電傳感器也不要安裝在有強(qiáng)氣流活動(dòng)的地方。紅外線熱釋電傳感器對人體的敏感程度還和人的運(yùn)動(dòng)方向關(guān)系很大。紅外線熱釋電傳感器對于徑向移動(dòng)反應(yīng)最不敏感, 而對于橫切方向 (即與半徑垂直的方向)移動(dòng)則最為敏感. 在現(xiàn)場選擇合適的安裝位置是避免紅外探頭誤報(bào)、求得最佳檢測靈敏度極為重要的一環(huán)。1.2.2 AT89S51 單片機(jī)概述AT89S51單片機(jī)是美國Atmel公司生產(chǎn)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存

15、儲(chǔ)器(RAM),器件采用Atmel公司的高密度、非易失性存取技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash 存儲(chǔ)單元,功能強(qiáng)大。AT89S51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。圖3-1為AT89S51單片機(jī)的基本組成功能方塊圖。有圖可見,在這一塊芯片上,集成了一臺(tái)微型計(jì)算機(jī)的主要組成部分,其中包括CPU、存儲(chǔ)器、可編程I/O口、定時(shí)器/計(jì)數(shù)器、串行口等,各部分通過內(nèi)部總線相連。下面介紹幾個(gè)主要部分。外時(shí)鐘源 外部事件數(shù)振蕩器和時(shí)序OSC程序存儲(chǔ)器4 KB ROM數(shù)據(jù)存儲(chǔ)器256 B RAM/SFR定時(shí)器/計(jì)數(shù)器 2 16 AT

16、89S51 CPU 64 KB總線 擴(kuò)展控制器可編程 I/O可編程全雙工串行口內(nèi)中斷 外中斷 控制 并行口 串行通信 圖1-4 AT89S51 功能方塊圖(1). 中央處理器(CPU)中央處理器是單片機(jī)最核心的部分,是單片機(jī)的大腦和心臟,主要完成運(yùn)算和控制功能。AT89S51的CPU是一個(gè)字長為8位的中央處理單元,即它對數(shù)據(jù)的處理是按字節(jié)為單位進(jìn)行的。(2). 內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM) AT89S51 中共有256個(gè)RAM單元,但其中能作為寄存器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用。(3). 內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM) AT89S51 共有4 KB掩膜ROM,用于存放

17、程序、原始數(shù)據(jù)等。(4). 定時(shí)器/計(jì)數(shù)器 AT89S51 共有2 個(gè)16 位的定時(shí)器/計(jì)數(shù)器,可以實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。(5). 并行I/O 口 AT89S51 共有4 個(gè)8 位的I/O口(P0、P1、P2、P3口),可以實(shí)現(xiàn)數(shù)據(jù)的并行輸入、輸出。(6). 串行口 AT89S51有1 個(gè)全雙工的可編程串行口,以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。(7). 時(shí)鐘電路 AT89S51 單片機(jī)內(nèi)部有時(shí)鐘電路,但晶振和微調(diào)電容需要外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。(8). 終端系統(tǒng) AT89S51 的中斷系統(tǒng)功能較強(qiáng),可以滿足一般控制應(yīng)用的需要。它共有5 個(gè)中斷源:2 個(gè)外部中斷源/INTO

18、和/INT1 ;3 個(gè)內(nèi)部中斷源,即2個(gè)定時(shí)/計(jì)數(shù)中斷,1個(gè)串行口中斷。由上所述,AT89S51雖然是一塊芯片,但它包括了構(gòu)成計(jì)算機(jī)的基本部件,因此可以說它是一臺(tái)簡單的計(jì)算機(jī)。2) 管腳說明VCC:供電電壓。GND:接地。P0口: P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口: P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TT

19、L門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口: P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器

20、的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S51的一些特殊功能口,如下表所示:P3口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通

21、)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。1.3 總體設(shè)計(jì)從設(shè)計(jì)的要求來分析該設(shè)計(jì)須包含如下結(jié)構(gòu):熱釋電紅外傳探頭電路、報(bào)警電路、單片機(jī)、復(fù)位電路、LED顯示控制電路及相關(guān)的控制管理軟件組成;它們之間的構(gòu)成框圖如圖1-8總體設(shè)計(jì)框圖所示: CPUAT89S51復(fù)位電路信號(hào)檢測電路LED數(shù)字顯示報(bào)警執(zhí)行電路LED發(fā)光顯示放大驅(qū)動(dòng)驅(qū)動(dòng)驅(qū)動(dòng)圖1-5 總體設(shè)計(jì)框圖 HYPERLINK /xsj06/image/xsj063333_1.jpg t _blank 處理器采用51系列單片機(jī)AT89S51。整個(gè)系統(tǒng)是在系統(tǒng)軟件控制下工作的。設(shè)置在監(jiān)測點(diǎn)上的紅外探

22、頭將人體輻射的紅外光譜變換成電信號(hào),經(jīng)放大電路、比較電路送至門限開關(guān),打開門限閥門送出 電平至AT89S51單片機(jī)。在單片機(jī)內(nèi),經(jīng)軟件查詢、識(shí)別判決等環(huán)節(jié)實(shí)時(shí)發(fā)出入侵報(bào)警狀態(tài)控制信號(hào)。驅(qū)動(dòng)電路將控制信號(hào)放大并推動(dòng)聲光報(bào)警設(shè)備完成相應(yīng)動(dòng)作。當(dāng)報(bào)警延遲10s一段時(shí)間后自動(dòng)解除,也可人工手動(dòng)解除報(bào)警信號(hào),然后通過顯示報(bào)警次數(shù),當(dāng)警情消除后復(fù)位電路使系統(tǒng)復(fù)位,或者是在聲光報(bào)警10s鐘后有定時(shí)器實(shí)現(xiàn)自動(dòng)消除報(bào)警。2 無線報(bào)警器系統(tǒng)硬件設(shè)計(jì)本電路實(shí)現(xiàn)的是一種基于單片機(jī)技術(shù)的無線智能防盜報(bào)警器。該防盜報(bào)警器通過以AT89S51單片機(jī)為工作處理器核心,外接熱釋電紅傳感器,能夠以非接觸方式探測出人體發(fā)出的紅外輻

23、射,并將其轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出,平時(shí)傳感器輸出低電平,當(dāng)有人在探測區(qū)范圍內(nèi)移動(dòng)時(shí)輸出低電平變?yōu)楦唠娖?,此高電平輸入單片機(jī),作為單片機(jī)的外部觸發(fā)信號(hào)處理,經(jīng)單片機(jī)內(nèi)部軟件編程處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電路開始報(bào)警,同時(shí)通過顯示電路顯示出報(bào)警次數(shù)。2.1 系統(tǒng)工作原理經(jīng)分析本設(shè)計(jì)的電路原理圖如下所示圖2-1 系統(tǒng)電路原理圖2.2信號(hào)檢測與放大電路針對紅外輻射信號(hào)的探測,設(shè)計(jì)了一種實(shí)用化的基于單片機(jī)AT89S51檢測放大電路2.2.1電路實(shí)現(xiàn)功能當(dāng)有人闖入時(shí),熱釋電紅外傳感器將探測到動(dòng)作,設(shè)置在監(jiān)測點(diǎn)上的紅外探頭將人體輻射的紅外光譜變換成電信號(hào),然后經(jīng)放大電路將電信號(hào)放大傳給單片機(jī)2

24、.2.2電路圖圖2-2信號(hào)檢測與放大電路2.3 LED顯示電路針對報(bào)警次數(shù)的顯示,設(shè)計(jì)了一種實(shí)用化基于單片機(jī)ATS51的LED顯示電路2.3.1電路實(shí)現(xiàn)功能此電路實(shí)現(xiàn)的功能是顯示報(bào)警次數(shù)信號(hào)。2.3.2電路圖圖2-3 LED顯示電路2.3.3電路實(shí)現(xiàn)原理當(dāng)查詢P1.0有高電平時(shí),進(jìn)行報(bào)警處理,7段LED數(shù)碼管顯示報(bào)警次數(shù),當(dāng)報(bào)警次數(shù)超過10次,清零。同時(shí)通過P3.0和P3.1口設(shè)置進(jìn)行聲光報(bào)警。2.4 報(bào)警執(zhí)行電路針對聲光報(bào)警實(shí)現(xiàn),設(shè)計(jì)了一種實(shí)用化基于單片機(jī)AT89S51報(bào)警執(zhí)行電路。2.4.1 電路實(shí)現(xiàn)功能此電路接受單片機(jī)傳送來的電平信號(hào),驅(qū)動(dòng)聲光報(bào)警從而達(dá)到報(bào)警效果。2.4.2 電路圖圖2

25、-4執(zhí)行報(bào)警電路2.4.3 電路實(shí)現(xiàn)原理驅(qū)動(dòng)電路通過P3.1口將高電平信號(hào)送至放大電路然后傳給聲音報(bào)警設(shè)備LS(蜂鳴器),從而達(dá)到聲音報(bào)警的效果。2.5 手工暫停針對中斷系統(tǒng)的顯示,設(shè)計(jì)了一種實(shí)用化基于單片機(jī)AT89S51的手工暫停電路。2.5.1 電路實(shí)現(xiàn)功能通過按按鈕S1能夠?qū)崿F(xiàn)手工解除警報(bào)信號(hào)。2.5.2 電路圖圖2-5手工暫停電路2.5.3 電路工作原理電平信號(hào)經(jīng)放大電路到聲光報(bào)警器后,當(dāng)報(bào)警延時(shí)10s一段時(shí)間后會(huì)自動(dòng)解除,同樣也可以通過按下暫停鍵,單片機(jī)接收INT0的中斷信號(hào),調(diào)用INT0中斷子程序,從而解除報(bào)警。2.6 單片機(jī)控制晶振與復(fù)位電路2.6.1 電路實(shí)現(xiàn)功能:通過振蕩得到

26、一個(gè)穩(wěn)定的時(shí)鐘頻率。利用中斷方式可以實(shí)現(xiàn)報(bào)警持續(xù)時(shí)間未到10秒時(shí),用手工按鍵停止的聲光報(bào)警的作用。2.6.2 電路圖:圖2-6晶振/復(fù)位電路2.6.1 電路工作原理:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。復(fù)位則是通過某種方式, 使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復(fù)位。復(fù)位方式是單片機(jī)的初始化操作。單片機(jī)除了正常的初始化外,當(dāng)程序運(yùn)行出錯(cuò)或由于操作錯(cuò)誤而

27、使系統(tǒng)處于死循環(huán)時(shí),也需要按復(fù)位鍵重啟機(jī)器。3 無線報(bào)警器系統(tǒng)軟件設(shè)計(jì)3.1 流程圖按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖3-1所示; 入口 初始化 監(jiān)測外部有無信號(hào)輸入 N Y 顯示報(bào)警的次數(shù)且啟動(dòng)聲光報(bào)警電路開始報(bào)警 聲光報(bào)警是否持續(xù)10秒 N聲光報(bào)警結(jié)束,LED顯示出報(bào)警次數(shù) Y 是否還有檢測信號(hào)等待下次報(bào)警 Y N結(jié)束圖3-1 主程序工作流程圖3.2 主程序設(shè)計(jì)1. 主程序清單如下:ORG 0000H LJMP MAIN ORG 0003H LJMP PINT0 ORG 0200H MAIN: MOV IE,#81H ;CPU 開放中斷,INT0 允許中斷 SETB

28、 IT0 ;外部中斷為邊沿觸發(fā)方式 MOV SP,#30H ;指針入口地址 SETB P3.0 CLR P3.1 MOV P1,#0FFH ;使 P1 口全部置 1 MOV P2,#00H ;P2 口清零 CLR P1.2 LP: JNB P1.0,LA ;監(jiān)測輸入信號(hào),是否有輸入信號(hào) LA: ACALL DELAY ;延時(shí)消抖 JNB P1.0,ALARM ;再次監(jiān)測輸入信號(hào),若有輸入信號(hào)轉(zhuǎn)入報(bào)警 子程序 AJMP LPDELAY:MOV R1,0AAH LD2:MOV R2,0BBHLD1:NOP DJNZ R2,LD1 DJNZ R1,LD2RETALARM:SETB P1.2 ;開始報(bào)

29、警使運(yùn)行正常綠指示燈熄滅,紅燈和聲報(bào)警啟動(dòng) MOV A,#00H INC R0 ;報(bào)警次數(shù)加一 CJNE R0,#0AH,LP1 MOV R0,#00HLP1: MOV A,R0 ;顯示報(bào)警次數(shù) MOV DPTR,#TAB MOVC A,A+DPTR MOV P2,A TAB: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH10S 鐘定時(shí): MOV 50H,#14H ;1S循環(huán)次數(shù)20 MOV 51H,#0AH ;10S循環(huán)次數(shù) MOV TMOD,#01H ;定時(shí)器T0定時(shí) 方式1 MOV TL0,#0B0H ;置50ms定時(shí)初值 MOV TH

30、0,#3CH SETB TR0 ;啟動(dòng)T0L2: JBC TF0,L1 ;查詢記數(shù)溢出 SJMP L2 L1: CPL P3.0 CPL P3.1 MOV TL0,#0B0H ;重新賦值 MOV TH0,#3CH DJNZ 50H,L2 ;未到1S繼續(xù)循環(huán) CPL P3.0 CPL P3.1 MOV 50H,#14H DJNZ 51H,L2 ;未到10S繼續(xù)循環(huán) SETB P3.0 ;10s到關(guān)閉報(bào)警 CLR P3.1 CLR P1.2 ;報(bào)警結(jié)束,正常運(yùn)行綠指示燈亮 LJMP LP ;循環(huán),繼續(xù)工作 END 2. 外部中斷 INTO 服務(wù)程序:PINT0: CLR EX0 ;外部中斷 0 服

31、務(wù)程序開始,屏蔽外部中斷 PUSH PSW PUSH ACC JNB P3.2,LN ;監(jiān)測是否有中斷輸入LN: LCALL DELAY ;延時(shí)消抖 JNB P3.2,LN1 AJMP LN2 ;無中斷輸入,中斷返回LN1: SETB P3.0 CLR P3.1 CLR P1.2 ;使報(bào)警結(jié)束,綠指示燈亮 POP ACC POP PSW SETB EX0 ;開放外部中斷 0 LCALL LP ;在中斷繼續(xù)檢測是否有輸入信號(hào)LN2: RETI END4 系統(tǒng)調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故障,包括設(shè)計(jì)性錯(cuò)誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行線仿真調(diào)試

32、,除發(fā)現(xiàn)和接觸程序錯(cuò)誤外,也可以發(fā)現(xiàn)硬件故障。1)硬件調(diào)試單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障是在調(diào)試軟件是發(fā)現(xiàn)的,但通常是先排除明顯的硬件故障后,在和軟件結(jié)合起來調(diào)試。脫機(jī)調(diào)試。脫機(jī)調(diào)試時(shí)在樣機(jī)加電之前,先用萬用表等工具,根據(jù)硬件電器原來圖和裝配圖,仔細(xì)檢查樣機(jī)線路的正確性,并核對元器件的型號(hào)、規(guī)格和安裝是否符合要求。聯(lián)機(jī)調(diào)試。通過脫機(jī)調(diào)試可排除一些明顯的硬件故障,有些硬件故障需要通過聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。2)軟件設(shè)計(jì)軟件調(diào)試方法與選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊設(shè)計(jì)技術(shù),則逐個(gè)模塊調(diào)好之后,在進(jìn)行系統(tǒng)程序總調(diào)試;如果采用實(shí)時(shí)多任務(wù)操作系統(tǒng),一般是逐個(gè)任

33、務(wù)進(jìn)行調(diào)試。3)系統(tǒng)聯(lián)調(diào)系統(tǒng)聯(lián)調(diào)是讓用戶系統(tǒng)的軟件在其硬件上實(shí)際運(yùn)行,進(jìn)行軟、硬件聯(lián)合調(diào)試,從發(fā)現(xiàn)硬件故障或軟、硬件設(shè)計(jì)錯(cuò)誤。這是對用戶系統(tǒng)檢驗(yàn)的重要一關(guān)。系統(tǒng)聯(lián)調(diào)時(shí),首先采用單步、斷點(diǎn)、連續(xù)運(yùn)行方式調(diào)節(jié)與硬件相關(guān)的各程序段既可以檢驗(yàn)這些用戶程序段的正確性,又可以再各功能獨(dú)立的情況下,檢驗(yàn)軟、硬的配合情況。然后,將軟、硬件按系統(tǒng)工作要求進(jìn)行綜合運(yùn)行,采用全速斷點(diǎn)、連續(xù)運(yùn)行方式進(jìn)行總調(diào)試,以解決在系統(tǒng)總體運(yùn)行的情況下軟、硬件的協(xié)調(diào)與提高系統(tǒng)動(dòng)態(tài)性能。在具體操作過程中,用戶系統(tǒng)在開發(fā)系統(tǒng)環(huán)境下,先借用仿真器的CPU、存儲(chǔ)器等資源進(jìn)行工作。若發(fā)現(xiàn)問題,按上述軟、硬件調(diào)試方法準(zhǔn)確定位錯(cuò)誤,分析錯(cuò)誤的原

34、因,找出解決方法。用戶系統(tǒng)調(diào)試完后,將用戶程序固化到用戶系統(tǒng)的程序存儲(chǔ)中,在借用仿真器CPU使用戶系統(tǒng)運(yùn)行。若無問題,則用戶系統(tǒng)插上單片機(jī)即可正確工作(注意,不要忘記用戶系統(tǒng)時(shí)鐘、復(fù)位電路的調(diào)試)結(jié)論和展望本課題研究設(shè)計(jì)了一種基于單片機(jī)技術(shù)的無線智能防盜報(bào)警器。該防盜報(bào)警器通過以AT89S51單片機(jī)為工作處理器核心,外接熱釋電紅傳感器,它是一種新穎的被動(dòng)式紅外探測器件,能夠以非接觸方式探測出人體發(fā)出的紅外輻射,并將其轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出,同時(shí)能有效的抑制人體輻射波長以外的紅外光線與可見光的干擾,平時(shí)傳感器輸出低電平,當(dāng)有人在探測區(qū)范圍內(nèi)移動(dòng)時(shí)輸出低電平變?yōu)楦唠娖?,此高電平輸入單片機(jī),作為單片

35、機(jī)的外部觸發(fā)信號(hào)處理,經(jīng)單片機(jī)內(nèi)部軟件編程處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電路開始報(bào)警,同時(shí)通過顯示電路顯示出報(bào)警次數(shù),以便人們識(shí)別了解報(bào)警情況。該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低,同時(shí)它的信號(hào)經(jīng)過單片機(jī)系統(tǒng)處理后方便和機(jī)通信,便于多用戶統(tǒng)一管理。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。到目前為止我的畢業(yè)設(shè)計(jì)也即將告一段落了,在這次的畢業(yè)設(shè)計(jì)中,自己也學(xué)習(xí)到了很多以前沒有經(jīng)歷過的知識(shí),讓我更加清楚了理論知識(shí)和實(shí)踐能力的差別,了解到自己的短處,培養(yǎng)了我的獨(dú)立思考能力,進(jìn)一步提高了自

36、己在實(shí)際設(shè)計(jì)過程中研究問題、發(fā)現(xiàn)問題、解決問題的能力,同時(shí),也發(fā)現(xiàn)了自己的不足之處,和一些問題的存在,并有待進(jìn)一步學(xué)習(xí)和發(fā)展,讓自己在未來的工作和學(xué)習(xí)之中更快的適應(yīng)和提高自己。 現(xiàn)在的防盜報(bào)警產(chǎn)品如雨后春筍般的出現(xiàn)在大眾的面前。針對我本人所設(shè)計(jì)的紅外防盜報(bào)警系統(tǒng)有以下2點(diǎn)不足:(1).測量范圍過于局限(2).靈敏度不夠高而從今后的發(fā)展來看,可以通過將報(bào)警器與報(bào)警電話相連接,當(dāng)有報(bào)警時(shí)能自動(dòng)撥打報(bào)警電話,這樣一來可以更好的實(shí)現(xiàn)防盜報(bào)警的效果。結(jié)束語在畢業(yè)設(shè)計(jì)即將結(jié)束之即,再次對幫助過我的同學(xué)、和教誨過我的各位老師表示忠心的感謝,特別是我的指導(dǎo)教師XX老師,在我的畢業(yè)設(shè)計(jì)過程中給了我很大的幫助和細(xì)

37、心指導(dǎo),劉老師不但知識(shí)廣博、治學(xué)嚴(yán)謹(jǐn)、實(shí)踐經(jīng)驗(yàn)豐富,而且寬厚待人,和藹可親,讓我受益匪淺,再次表示中心的感謝。通過這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)際相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,在設(shè)計(jì)的過程中遇到問題很多,從而使我發(fā)現(xiàn)了很多不足之處,和對以前知識(shí)掌握的不夠充分。 通過查資料,分析資料及請教老師和同學(xué)等途徑,在全組同學(xué)的努力和合作下,這次畢業(yè)設(shè)計(jì)終于順利完成了。此次畢業(yè)設(shè)計(jì),讓我在鞏固單片機(jī)知識(shí)的同時(shí),還學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題,出現(xiàn)差錯(cuò)的隨

38、機(jī)應(yīng)變和與人合作的能力,這些都使我受益匪淺在這幾個(gè)月的論文書寫中讓我對單片機(jī)有了更為深入的掌握,讓我對紅外報(bào)警器有了更為直觀的認(rèn)識(shí)和了解,同時(shí)對以前并不知道的熱釋電傳感器有了深入的掌握。了解到知識(shí)的可貴性,激發(fā)自己以后更加努力的學(xué)習(xí)。畢業(yè)設(shè)計(jì)忙了五個(gè)多月,我深深體會(huì)到了這是一個(gè)連接學(xué)習(xí)和工作的橋梁,畢業(yè)設(shè)計(jì)的完成標(biāo)志著大學(xué)生活的結(jié)束,今后迎接我們的是更多的挑戰(zhàn),但是通過畢業(yè)設(shè)計(jì)的磨練,我相信我能夠更好地面對挑戰(zhàn),把握機(jī)遇。在大學(xué)里我們得到了最好的鍛煉,我們要將學(xué)習(xí)的知識(shí)轉(zhuǎn)化成力量,為了自己的夢想而奮斗。最后再次感謝我的指導(dǎo)老師XX,她給了我很大的幫助,讓一個(gè)對論文沒有太大感念的我,成功的完成了

39、我畢業(yè)論文,在這期間老師總是聯(lián)系我們,給與我們指導(dǎo)。我們也主動(dòng)找老師,對自己的論文做修改,在幾次的交流中我在劉卉老師的指導(dǎo)下終于把論文完滿結(jié)束了,非常的高興,再次感謝劉卉老師。 參考文獻(xiàn)1 王效華,張?jiān)伱肪?單片機(jī)原理與應(yīng)用M.北京:北京交通大學(xué)出版社,20102 楊素行編.模擬電子技術(shù)基礎(chǔ)簡明教程M.北京:高等教育出版社,20063 余孟嘗編.數(shù)字電子技術(shù)基礎(chǔ)簡明教程M.北京:高等教育出版社,20064 邱關(guān)源編.電路(上、下冊)M.北京:高等教育出版社,19995 來清民編.傳感器與單片機(jī)接口及實(shí)例M. 北京:北京航空航天大學(xué)出版社,20086 陳有卿,張曉東編.報(bào)警集成電路和報(bào)警器制作實(shí)

40、例M.北京:北京人民郵電出版社2001.7 孟立凡等.傳感器原理及技術(shù)M.北京:國防工藝出版社,20058 張正偉.傳感器原理與應(yīng)用M.北京:中央廣播電視大學(xué)出版社,2002附錄元器件明細(xì)表序號(hào)符號(hào)名稱規(guī)格型號(hào)數(shù)量封裝1R1/R2/R4/R6電阻4K4RAD0.42R3/R5/R7-R10電阻220V6RAD0.43R11-R12電阻1OK2RAD0.44L1-L6發(fā)光二極管65C1-C2電容30P2RB.2/.46C3電容30U17C4-C6電容47U38Q1三極管805019Q2三極管9014110S1-S2開關(guān)211Y1晶振12MHZ1XTAL112IC1單片機(jī)AT89S511DIP40

41、13IC5LED七段數(shù)碼顯示共陽極114D1喇叭1系統(tǒng)電路原理圖附錄資料:不需要的可以自行刪除測量平差程序設(shè)計(jì)角度(度分秒)到弧度AngleToRadian#define PI 3.14159265double AngleToRadian(double angle)int D,M;double S,radian,degree, angle,MS;D=int(angle+0.3);MS=angle-D;M=int(MS)*100+0.3);S=(MS*100-M)*100;degree=D+M/60.0+S/3600.0;radian=degree*PI/180.0;return radian;

42、注意:防止數(shù)據(jù)溢出,要加個(gè)微小量,例如0.3.弧度換角度(度分秒) RadianToAngle#define PI 3.14159265double RadianToAngle(double radian)int D,M;double S,radian,degree,MS,angle;degree=radian*180/PI;D=int(degree);MS=degree-D;M=int(MS*60);S=(MS*60-M)*60;angle=D+M/100.0+S/10000.0;return angle;已知兩點(diǎn)求坐標(biāo)方位角Azimuth#include double Azimuth(do

43、uble xi,double yi,double xj,double yj)double Dx,Dy,S,T;Dx=xj-xi;Dy=yj-yi;S=sqrt(Dx*Dx+Dy*Dy);if(S1e-10) return 0;T=asin(Dy/S);if(Dx0&(Dy0)|T0) T=2*PI+T;return T;4.開辟二維數(shù)組的動(dòng)態(tài)空間的宏#include #define NewArray2D(type,A,i,n,m)A=(type*)malloc(n*sizeof(type*); for(i=0;im;i+) Ai=(type*)malloc(m*sizeof(type); 5.

44、釋放開辟的二維數(shù)組的空間#define FreeSpace(A,i,m)for(i=0;im;i+) free(Ai); free(A); 注意:釋放空間與開辟空間相反,釋放空間是先釋放列,后釋放行.6.矩陣求轉(zhuǎn)置transformmatrixvoid transformmatrix(double *A,double *B,int i,int j)int m,n;for(m=0;m=i;m+)for(n=0;n=j;n+)Bnm=Amn:7.矩陣相乘(mulmatrix)void mulmatrix(double *A,double *B,double *C,int i,int j,int k

45、)int m,n,p;for(m=0;mi;m+)for(n=0;nj;n+)Cmn=0;for(p=0;pk;p+)Cmn+=Amp*Bpn:8.矩陣求逆(countermatrix)#include void countermatrix(double *T, double *s, double *r, double *Q,double *N, double *rt,int n)for(i=0;in;i+)s=Nii;for(k=0;ki;k+)s-=Tki*Tki;Tii=sqrt(s)for(j=i+1;jn;j+)s=Nij;for(k=0;ki;k+)s-=Tki*Tkj;Tij=s

46、/Tii;for(i=0;in;i+)for(j=0;j=0;i+)rii=1/Tii;for(j=i+1;jn;j+)s=0;for(k=i;kj-1;k+)s-=rik*Tkj;rij=s/Tii;for(i=0;in;i+)for(j=0;jn;j+)rij=0;transformmatrix(r,rt,n,n)mulmatrix(r,rt,Q,n,n)9.平差主程序之讀入數(shù)據(jù)typedef struct POINTchar name8;double x,y;int type;POINT;typedef struct READVALUEPOINT *begin;POINT *end;do

47、uble value;READVALUE;POINT *GETPOINT(char *name,POINT *pPoint,int nPoint)int i;for(i=0;inPoint;i+)if (strcmp(pP,name)=0)return (pPoint+i) for(i=0;i0)pPoint=(POINT*)malloc(nDirect*sizeof(POINT);if(nDirect0)pDirect=(READVALUE*)malloc(nDirect*sizeof(READVALUE);if(nDistance0)pDistance=(READVAL

48、UE*)malloc(nDistance*sizeof(RAADVALUE);fscanf(fp,”%lf,%lf,%lfn”,&mo,&mf,&ms);for(i=0;inKnownPoint;i+)fscanf(fp,”%s,%lf,%lfn”,pP,&pPointi.x,&pPointi.y);type=1;for( ;inPoint;i+)pP=NULL; pPointi.x=0;pPointi.y=0;pPointi.type=0; for(i=0;inDirect;i+)fscanf(fp,”%s,%s,%lfn”,begin,end,&pD

49、irecti.value);pDirecti.begin=GetPoint(begin,pPoint,nPoint);pDirecti.end=GetPoint(end,pPoint,nPoint);for(i=0;inDistance;i+)fscanf(fp,”%s,%s,%lfn”,begin,end,&pDistancei.value);pDistancei.begin=GetPoint(begin,pPoint,nPoint);pDistancei.end=GetPoint(end,pPoint,nPoint);fclose(fp);10.角度檢驗(yàn)(checkangle)#inclu

50、de int checkangle(double angle)int M,S;double MS;if(angle=0&angle360)MS=angle-(int)(angle);if(M6)S=(int)(MS*1000);if(S%106)return 1;return 0;11.前方交會(huì)#define PI=3014159265/*此處調(diào)用程序角度換弧度AngleToRadian*/Qianfang(double XE, double YE, double XF, double YF, doubleDEG, double DEF, double DFG, double DFE, dou

51、ble *DFE, double *DFG)double C,A,B;C=DGE-DGF;A=DEF-DEG;B=DFG-DFE;if(C-2*PI)|(C0&C-PI&CPI&C2*PI)XG=(XE/tan(B)+XF/tan(A)+YE-YF)/(1/tan(A)+ 1/tan(B);YG=(YE/tan(B)+YF/tan(A)-XE+XF)/ (1/tan(A)+ 1/tan(B);12.坐標(biāo)概算全方向法子函數(shù)取出觀測方向GetAllDirectint GetAllDirect(char *name,int nDirect,READVALUE *pDirect, READVALUE

52、*pStation)int i,nCount=0;for(i=0;iname,name)=0)pStationnCount.begin=p(pDirectnCount.begin;pStationnCount.end=p(pDirectnCount.end;pStationnCount.value=p(pDirectnCount.value; nCount+;return nCount;坐標(biāo)概算全方向法子程序?qū)崿F(xiàn)流程(coordinate)coordinate (入口參數(shù)設(shè)置)READVALUE pStation50,pObject50;int nCount,i,j,k,m,n,p,nobje

53、ct;for(i=0;i1)|( nCount=1)for(j=0;jtype=1)for(k=0;ktype=0) nobject=GetAllDirect(pStationj.end-name,nDirect,pDirect,pobject)m=-1;n=-1;for(p=0;pname,pP)=0)m=p; if(strcmp(pobjectp.end-name,pStationk.end-name)=0)n=p;if(m=0&n=0)pPointi=pStationk.end-pStationj.end;pStationj.end=pObjectm.value-pO

54、bjectn.value; Xe=pPointi.x; Ye=pPointi.y; Xf=pStationj.end-x; Yf=pStationj.end-y; Lef=pStationj.value; Leg=pStationk.value; Lfe=pObjectm.value; Lfg=pObjectn.value; Qianfang(Xe,Xf,Ye,Yf,Lef,Leg,Lfe,Lfg,*Xg,*Yg;) pStationk.end-x=*xg; pStationk.end-y=*yg; pStationk.end.type=2; 13.坐標(biāo)增量法(calcoordinate)子函

55、數(shù)由端點(diǎn)名稱得邊長值的函數(shù)GetDistancedouble GetDistance(char *begin,char *end,int nDistance,READVALUE *pDistance)int i;for(i=0;iname,begin)=0&strcmp(pDistancei.end-name,end=0)|(strcmp(pDistancei.begin-name,end)=0&strcmp(pDistancei.end,begin)=0)return pDistancei.value;return -1;/*函數(shù)取出觀測方向GetAllDirect*/void calcoo

56、rdinate(int nDirect,READVALUE *pDirect,int nDistace,READVALUE *pDistance,int nPoint,POINT *pPoint) int nPoint,nCount,nDirect,nDistance; int m=-1,i,j,k; double x1,y1,x2,y2,A0,A,S,dx,dy; READVALUE*pDirect=NULL; READVALUE pStation50; for(i=0;i0) nCount=GetAllDirect(pP,nDirect,pDirect,pStation50); for(j=0;jtype0)m=j; if(m!=-1) for(k=0;ktype=0) x1=pPointi.x; y1=pPointi.y; x2=pStationj.end-x; y2=pStatio

溫馨提示

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

評論

0/150

提交評論