畢業(yè)設(shè)計(論文)-基于單片機的汽車防盜報警系統(tǒng)設(shè)計.doc
基于單片機的汽車防盜報警系統(tǒng)設(shè)計摘 要汽車防盜報警器是汽車常用的一種主動防盜措施,本防盜報警系統(tǒng)是應(yīng)用單片機知識,從設(shè)計、開發(fā)到調(diào)試完成一個應(yīng)用系統(tǒng)的整個過程。本課題即采用PIC16F73單片機,設(shè)計具有聲光防盜、靜音防盜、觸發(fā)報警等功能的汽車防盜報警系統(tǒng)。車主啟動防盜模式后,信號采集系統(tǒng)中的傳感器檢測模塊便處于工作狀態(tài),一旦檢測到相應(yīng)的外界干擾信號,防盜系統(tǒng)便被觸發(fā)??刂葡到y(tǒng)進(jìn)行綜合判斷后,一方面發(fā)出報警聲阻嚇盜車者;另一方面通知車主。報警器進(jìn)入工作狀態(tài)后,當(dāng)振動傳感器檢測到振動信號,經(jīng)運算放大器放大后送入單片機,單片機接受到信號后,接通聲光報警電路進(jìn)行聲光報警。這些方法取得了良好的應(yīng)用效果,達(dá)到了設(shè)計者的預(yù)期目標(biāo),具有一定的實際推廣價值。關(guān)鍵詞 汽車防盜,振動報警,單片機,無線設(shè)防ABSTRACTMotor vehicle anti-theft alarm system is a pro-active security measures that are commonly used by cars. The anti-theft alarm system is a whole process that completes an application system from design, development and debug with the application MCU knowledge. In the topic, PIC16F73 microcontroller is used to design a cars anti-theft alarm system that has the function of sound and light anti-theft, wireless anti-theft, vibration alarming etc. The owner turn on the anti-theft mode, then sensors detect module in signal acquisition system will work. Once sensors detect the corresponding signal interference, anti-theft system will be triggered. After the control systems integrated judgement, it makes a sound alarm to deter the car theft and tells the owners. After the alarm is working, when the vibration sensors detect vibration signals, signals are amplified by the operational amplifier and passed into the SCM. Then SCM receives signals, the sound and light alarm circuits are connected to the SCM and complete sound and light alarm at last. These measures have obtained good applied results in the actual practice, hence the certainly actual expansion value.KEY WORDS anti-theft, vibration alarming, single chip computer, wireless security目 錄前言 1第一章 可行性分析 21.1 技術(shù)可行性分析 21.2 經(jīng)濟(jì)可行性分析 2第二章 總體方案設(shè)計 32.1 硬件設(shè)計方案 3 2.2 軟件設(shè)計方案 4第三章 總體電路原理及設(shè)計 53.1 電路原理功能概述 53.2 PIC16F73 單片機簡介 53.3 PIC16F73特點 63.4 硬件組成和功能 63.5 電源電路設(shè)計 73.6 報警器的線路設(shè)計 83.7 剎車部分電路設(shè)計 93.8 PIC1673單片機引腳及其功能 10第四章 PIC16F73單片機的內(nèi)部結(jié)構(gòu) 124.1運算器ALU及工作寄存器W 124.2程序存儲器 124.3 數(shù)據(jù)存儲器 124.4堆棧 144.5定時器/計數(shù)器TMRO 144.6 中斷 154.7中斷控制 154.8 復(fù)位 16第五章 軟件設(shè)計 175.1 軟件流程 175.2 軟件詳細(xì)設(shè)計 195.2.1 聲光防盜 225.2.2 靜音防盜 235.2.3 觸發(fā)報警 245.2.4 警戒解除和自動回復(fù) 265.2.5 尋車 265.2.6 求救 27第六章 軟件調(diào)試 28結(jié) 論致 謝參 考 文 獻(xiàn)前 言 眾所周知,汽車是當(dāng)今世界主要的交通工具之一。隨著人民生活水平的不斷提高,汽車越來越成為人們生活中不可缺少的一部分,從世界上第一輛T型福特車被盜開始,偷車已成為現(xiàn)今城市最常見的犯罪行為之一。隨著汽車數(shù)量的增加,特別是轎車正以很快的速度步入家庭,車輛被盜的數(shù)量逐年上升,這給社會帶來極大的不安定因素,擔(dān)心車輛被盜,成為困擾每一位汽車用戶的難題。人們?yōu)榱塑囕v的安全大都安裝了汽車防盜報警系統(tǒng)。汽車防盜報警器的使用在很大程度上有效地保護(hù)了國家和人民生命財產(chǎn)的安全。使人們有了安全的依靠。同時車輛防盜報警器的使用也減少了盜竊犯罪事件的發(fā)生,起到了一定的威懾作用。 隨著科學(xué)技術(shù)的進(jìn)步,為對付不斷升級的盜車手段,人們研制開發(fā)不同方式結(jié)構(gòu)的防盜器,目前防盜器發(fā)展按其結(jié)構(gòu)和功能??梢苑譃槿箢悾簷C械防盜電子防盜網(wǎng)絡(luò)防盜。機械防盜主要是靠鎖定離合制動,油門或變速檔來達(dá)到防盜目的,但只防盜不報警,目前市場已不多見,屬淘汰落伍產(chǎn)品。電子防盜是目前市場比較常見的防盜產(chǎn)品,其主要靠鎖定點火或啟動來達(dá)到防盜的目的。隨著科技的發(fā)展和技術(shù)的進(jìn)步汽車防盜的至高點將是網(wǎng)絡(luò)防盜。無論車輛行駛到何處,隨時處于自己的掌握之中,真正做到“車居四海皆安心”。 目前,用于汽車的防盜報警器種類繁多,功能也較單一,多數(shù)是汽車門被打開只有報警功能,切斷點火電路汽車不能起動。正是由于諸多的汽車防盜報警器起不到應(yīng)有的保護(hù)作用方導(dǎo)致汽車開始安裝防盜網(wǎng),將乘客與司機隔開,以防不測,雖然有一定的效果,但作用不大,也不雅觀,且給乘客造成不舒服感,同時安裝價格也較昂貴,為此我們的畢業(yè)設(shè)計為基于單片機的汽車防盜報警系統(tǒng)設(shè)計。如果有行竊者盜竊汽車或汽車上的物品,防盜系統(tǒng)不僅具有切斷起動電路、點火電路、噴油電路、供油電路和變速電路、將制動鎖死等的功能,同時,還會發(fā)出不同的聲光信號,給竊賊一個精神上的打擊,以阻止竊賊行竊。本設(shè)計中就是采用PIC16F73單片機,以其為核心,設(shè)計具有聲光防盜、靜音防盜、觸發(fā)報警等功能的汽車防盜報警系統(tǒng)。第一章 可行性分析1.1 技術(shù)可行性分析隨著科技的不斷發(fā)展,微處理器技術(shù)再次發(fā)生巨大變革,使用微處理器實現(xiàn)控制功能不僅可以簡化控制硬件,而且可以加入智能化對系統(tǒng)運行狀態(tài)的診斷。單片機是單片微型計算機的簡稱,隨著制造集成電路技術(shù)的發(fā)展可以將完成計算機功能的零部件集成在一個芯片上,這樣的一個芯片就具有計算機的全部或大部分功能,稱為單片微型計算機,簡稱單片機。自從20世紀(jì)70年代問世以來,得到了快速發(fā)展,從早期的8位機到現(xiàn)在的32位機,其硬件資源和軟件資源都在不斷豐富與完善,而這種以軟件(編程序)取代硬件并能提高系統(tǒng)性能的控制技術(shù)必將隨著單片機應(yīng)用的推廣普及而不斷發(fā)展完善。特別是近20年時間里,微型計算機技術(shù)獲得飛速的發(fā)展,計算機在工農(nóng)業(yè),科研,教育,國防和航空航天領(lǐng)域獲得了廣泛的應(yīng)用,計算機技術(shù)已經(jīng)是一個國家現(xiàn)代科技水平的重要標(biāo)志。單片機由于其集成度高、體積小、抗干擾能力強和價格低廉、具有獨特的控制功能,它已經(jīng)成為計算機世界中的重要成員。單片機應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來的經(jīng)濟(jì)效益上,更重要的意義還在于:單片機的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。1.2 經(jīng)濟(jì)可行性分析開發(fā)一個硬件的初衷就是期望將來獲得更大的經(jīng)濟(jì)效益。經(jīng)濟(jì)效益通常表現(xiàn)為降低成本的同時增加收入。因此在開發(fā)一個硬件之前必須進(jìn)行經(jīng)濟(jì)可行性分析。目前汽車防盜報警器的硬件部分可以采用廉價的芯片控制處理器,以及各種便宜的電子元器件來完成,軟件部分成本投資也不高,經(jīng)濟(jì)上基本可行。綜合以上的技術(shù)、資金、人員等因素,該課題可行。第二章 總體方案設(shè)計單片機防盜報警系統(tǒng)用于集中檢測報警,能對受控制的多個點進(jìn)行實時檢測,當(dāng)檢測到一個或多個點有報警信號時,能用聲和數(shù)碼顯示出報警地點。當(dāng)檢測到有報警信號時,為防止誤報,該系統(tǒng)延時1秒鐘再檢測一次,若確實有情況才報警。該系統(tǒng)的傳感器可選用接觸式、斷開式等開關(guān)量傳感器,也可以組成相應(yīng)的控制和報警系統(tǒng)。在本設(shè)計中,整個防盜報警電路由三部分組成:主機板、報警器、震動傳感采集器。再加上其他一些主要的工作模塊構(gòu)成整個汽車防盜報警系統(tǒng)。此防盜報警系統(tǒng)能夠?qū)崿F(xiàn)檢測盜警信號、設(shè)防、報警等功能。電路的主芯片采用美國Microchip 公司的PIC16F73 ,93LC46 為EEPROM數(shù)據(jù)存儲器與PIC16F73一起構(gòu)成了軟件編碼解碼電路。PIC16F73是美國Microchip 公司采用的RISC結(jié)構(gòu)的高性價比嵌入式控制器,其高速度、低電壓、低功耗、強大的驅(qū)動能力、低價OTP 技術(shù)、體積小巧等都體現(xiàn)了單片微控制器工業(yè)的趨勢。本課程設(shè)計中設(shè)計的汽車防盜報警器系統(tǒng)主要分為主機工作狀態(tài)遙控設(shè)置模塊,震動信號的產(chǎn)生與采集模塊,發(fā)動機工作狀態(tài)檢測模塊,,發(fā)動機工作狀態(tài)檢測模塊,狀態(tài)聲、光控制模塊等。2.1 硬件設(shè)計方案硬件的設(shè)計主要是以PIC16F73單片機為核心與外部的各各模塊進(jìn)行連接。外部模塊主要有主機工作狀態(tài)遙控設(shè)置模塊,這一部分包括遙控信號編碼、發(fā)射,信號接收、解碼,遙控器身份(ID碼)學(xué)習(xí)等功能電路完成主機工作狀態(tài)的設(shè)置。震動信號的產(chǎn)生與采集模塊,震動信號由震動傳感器產(chǎn)生,信號產(chǎn)生后經(jīng)過放大、濾波、硬件比較,產(chǎn)生一個500ms 的高電平脈沖。在信號采集電路中,把正脈沖取反。剎車信號采集模塊,這部分是由剎車信號電路完成的。發(fā)動機工作狀態(tài)檢測模塊,測發(fā)動機的工作狀態(tài),配合其他部分的電路,實現(xiàn)不同功能。車門狀態(tài)檢測模塊,電路通過檢測車門燈的電平來判斷車門的開關(guān)狀態(tài)。狀態(tài)聲、光控制模塊,檢測到有震動信號、車門被打開或發(fā)動機啟動時,本模塊產(chǎn)生聲、光報警。在引擎控制和中央門鎖控制模塊,設(shè)置防盜時,自動上鎖車門和鎖定引擎,使汽車無法啟動;在解除防盜設(shè)置時,車門自動開鎖和引擎解鎖。本方案的設(shè)計可以滿足本次設(shè)計的要求,各部分硬件的能夠協(xié)調(diào)的工作,所以本方案可行。2.2 軟件設(shè)計方案軟件的設(shè)計主要是對汽車防盜系統(tǒng)控制和程序的設(shè)計。程序的設(shè)計主要有汽車聲光防盜,當(dāng)汽車處于停車廠停放就可以使用聲光防盜。如果有盜車者試圖去打開車門或啟動汽車時,通過傳感器車主可以知道有盜車者,車主控制汽車發(fā)動機停止運轉(zhuǎn),從而使盜車者不能盜走汽車給車主避免不必要的經(jīng)濟(jì)損失。當(dāng)車主需要使用汽車時,車主可以按一下撤防鍵車主進(jìn)入汽車不會造成誤報。靜音防盜的程序設(shè)計是主要是針對安靜的場合所設(shè)計,比如有些地方是不允許嗚笛或發(fā)出有刺激的響聲。這時可以使用靜音防盜系統(tǒng),靜音防盜系統(tǒng)的工作方式是在有盜車者實施犯罪的時候靜音防盜程序啟用,此時只有方向燈閃亮而喇叭不會發(fā)出響聲。求救程序的設(shè)計主要是針對盜車賊把汽車盜走,方便車主和警察快速找到汽車所設(shè)計的程序。車主發(fā)現(xiàn)自己的汽車已被盜走,此時車主可以按下尋車鍵,汽車通過傳感器接收到車主遙控器的指令,汽車會發(fā)出刺激的響聲同時LED燈同步閃亮。這時車主可以很快定位自己汽車的位置找到自己的汽車。還有一種情況是在汽車停車廠停放時,停車廠的汽車肯定很多同時和自己汽車車型和品牌相同的車輛也很多。如果車主一時間又忘了自己汽車的停放位置會給車主帶來很我不必要的麻煩,浪費車主的保貴時間。有了尋車程序的設(shè)計,車主按下尋車鍵,自己的汽車?yán)葧l(fā)出響聲,同時LED燈也同步閃亮。車主可以方便的找到自己汽車的位置,避免的不必要的麻煩。有了這幾種汽車防盜系統(tǒng)和尋車系統(tǒng)的設(shè)計,車主在使用汽車時可以放心的使用。防盜系統(tǒng)和尋車系統(tǒng)的設(shè)計也使汽車的安全性有了很大的提高,這也就刺激了汽車行業(yè)的發(fā)展,同時根據(jù)本次設(shè)計的的要求,這幾種防盜系統(tǒng)的設(shè)計簡單易懂,可以保證汽車的安全性。所以此軟件設(shè)計方案可行。第三章 總體電路原理及設(shè)計3.1 電路原理功能概述該汽車防盜報警系統(tǒng),采用PIC16F73單片機,以其為核心,設(shè)計具有自動設(shè)防、無線設(shè)防、振動報警等功能模塊的汽車防盜報警系統(tǒng)。本課程設(shè)計中設(shè)計的汽車防盜報警器系統(tǒng)主要集合主機工作狀態(tài)遙控設(shè)置模塊,震動信號的產(chǎn)生與采集模塊,發(fā)動機工作狀態(tài)檢測模塊,狀態(tài)聲、光控制模塊等,整個系統(tǒng)處于協(xié)調(diào)工作的狀態(tài),實現(xiàn)汽車防盜報警功能。3.2 PIC16F73 單片機簡介PIC系列單片機硬件系統(tǒng)設(shè)計簡潔,指令系統(tǒng)設(shè)計精練。它有以下優(yōu)點:1)哈佛總線結(jié)構(gòu)。PIC系列單片機內(nèi)部總線結(jié)構(gòu)不同于普通單片機的馮諾依曼結(jié)構(gòu),它采用的是哈佛結(jié)構(gòu)。這就意味著,在PIC 系列單片機的內(nèi)部,數(shù)據(jù)總線和地址總線是分離的,并且采用不同的寬度。這樣可以實現(xiàn)指令提取的“流水作業(yè)”,可以實現(xiàn)指令的單字節(jié)化、單周期化,提高指令的執(zhí)行速度。2)精簡指令系統(tǒng)。PIC 系列單片機指令系統(tǒng)采用精簡指令集RISC(Reduced Instruction Set Collection)技術(shù),不僅便于記憶和學(xué)習(xí),而且絕大部分的指令都是單字節(jié)、單周期指令,有利于提高指令運行速度。PIC16F73單片機采用13位指令系統(tǒng),使用4K14位可反復(fù)擦寫的FLASH存儲器。PIC16F73最高時鐘頻率為20MHZ,每條指令執(zhí)行周期200ns,由于大多數(shù)指令執(zhí)行時間為一個周期,因此速度相當(dāng)快。其內(nèi)含192字節(jié)的RAM,4K程序存儲器、5路A/D轉(zhuǎn)換及2路PWM波發(fā)生器,應(yīng)用時外圍電路極其簡單。它的這個特點為其電路設(shè)計以及軟件調(diào)試帶來了極大的方便。PIC16F73單片機的工作頻率為DC20 MHz,RA0RA 5、RB0RB7、RC0RC7為 I/O 輸入輸出端口A、B、C,可以實現(xiàn)位控。有8位模數(shù)轉(zhuǎn)換模塊和5個輸入通道,能夠進(jìn)行串行通信SSP和USART,有中斷端口。3個定時器,2個捕捉/比較/PWM 模塊。4K的flash ROM 程序存儲器(14位字)以及35條指令集。MCLR:主復(fù)位端,當(dāng)MCLR為高電平時對PIC16F73 單片機復(fù)位。OSC1:振蕩信號輸入端,這個端用于輸入外部振蕩器的信號,用RC振蕩器時,它接RC電路;在用石英振蕩器時,它接石英晶體的一端。OSC2:振蕩信號輸入端,在用石英振蕩器或陶瓷振蕩器時,通過一個串聯(lián)電阻RS接振蕩晶體的一個端。VDD:電源電壓,一般為5V,也可在2.56.26V之間選取。VSS:地端。這些基本特征和功能,完全滿足汽車防盜報警器系統(tǒng)設(shè)計的要求。3.3 PIC16F73特點 PIC16F73單片機為28 引腳微處理器,除了具有PIC 系列單片機的共同特點外,還具有以下特點: (1) 具有4KB 的FLASH程序存儲器; (2) 22 條I/ O 口線; (3) 192 字節(jié)數(shù)據(jù)存儲器; (4) 3個定時器; (5) PIC16F73 有5 路8 位A/ D 通道; (6) PIC16F73 有5 路10 位A/ D 通道; (7) PIC16F73 有128 字節(jié)的EEPROM??梢? PIC16F73特別適用于步進(jìn)電機的驅(qū)動控制。3.4硬件組成和功能用單片機控制一個檢測報警系統(tǒng),與以往用數(shù)字邏輯電路組成的控制系統(tǒng)相比,用單片機組成的檢測報警系統(tǒng),應(yīng)具有更大的靈活性,功能也更強,并具有智能性。本設(shè)計采用PIC16F73單片機實現(xiàn)聲光同時作用的汽車防盜報警器。PIC16F73系列單片機是由Microchip公司生產(chǎn)的一種低功耗、高速、全靜態(tài)CMOS 器件,內(nèi)含有E2PROM,ROM,I/O及一個中央處理單元, 具有引腳少、功能強、可帶LED 負(fù)載等特點。本設(shè)計汽車防盜報警器系統(tǒng)的主機功能模塊框圖如圖3.1所示。圖3.1功能能模塊框圖主機工作狀態(tài)遙控設(shè)置模塊,這一部分包括遙控信號編碼、發(fā)射,信號接收、解碼,遙控器身份(ID碼)學(xué)習(xí)等功能電路完成主機工作狀態(tài)的設(shè)置。用硬件編碼方式,編碼器為HCS301。用軟件解碼方式,相關(guān)硬件是CPU 和93LC46。遙控器上的編碼器和射頻發(fā)射模塊均是采用按鍵供電,無按鍵時,耗電流為0mA ,這樣可延長電池的使用時間。本部分按鍵和接收電路接收無線信號輸入各用1個I/O口,CPU對93LC46的操作用3個I/O口,共用單片機的5個I/O口。震動信號的產(chǎn)生與采集模塊包括震動信號的產(chǎn)生和采集電路。震動信號由震動傳感器產(chǎn)生,信號產(chǎn)生后經(jīng)過放大、濾波、硬件比較,產(chǎn)生一個500ms 的高電平脈沖。在信號采集電路中,把正脈沖取反。CPU的外部事件中斷口檢測到負(fù)電平后,產(chǎn)生中斷,進(jìn)行報警處理。本模塊使用了單片機1個外部事件中斷口RB0。剎車信號采集模塊部分包括手剎和腳剎電路,手剎電路產(chǎn)生高電平信號,腳剎電路產(chǎn)生低電平信號,用硬件“與”電路把兩種信號相與,有剎車時單片機I/O口檢測到低電平。本部分僅采集是否有剎車信號,在程序中做標(biāo)志位處理。使用了單片機的1個I/O口,具體的電路設(shè)計在單元設(shè)計電路中有詳細(xì)的論述與介紹。發(fā)動機工作狀態(tài)檢測模塊包括發(fā)動機工作狀態(tài)檢測電路。在程序中,檢測發(fā)動機的工作狀態(tài),配合其他部分的電路,實現(xiàn)不同功能,如車門的自動開關(guān),遙控關(guān)車,設(shè)防狀態(tài)下的發(fā)動機工作報警等。本部分模塊使用了單片機的2個I/O口。車門狀態(tài)檢測模塊電路通過檢測車門燈的電平來判斷車門的開關(guān)狀態(tài)。在設(shè)置防盜警戒時,若車門被打開,則啟動報警;在未設(shè)置防盜警戒時,若上車或離車時車門未關(guān)妥,則車的方向燈一直閃,以提醒車主。本部分模塊使用單片機的1個I/O口。狀態(tài)聲、光控制模塊為聲光報警電路。在防盜設(shè)置狀態(tài)下,檢測到有震動信號、車門被打開或發(fā)動機啟動時,本部分電路產(chǎn)生聲、光報警信號;按尋車鍵尋車時,此部分電路以聲、光信號提示車主車輛的位置;按防搶鍵時,本部分電路產(chǎn)生聲、光信號,發(fā)出警告和呼叫救援。本部分模塊使用了單片機的3個I/O口。在引擎控制和中央門鎖控制模塊中,包括引擎狀態(tài)控制電路和中央門鎖控制電路。在設(shè)置防盜時,自動上鎖車門和鎖定引擎,使汽車無法啟動;在解除防盜設(shè)置時,車門自動開鎖和引擎解鎖。由于不同的車輛的中央鎖控制的觸發(fā)方式不同,開關(guān)門各用了1個I/O口,本部分共使用了單片機的3個I/O口。3.5電源電路設(shè)計電源電路由橋式整流、濾波電容。7805穩(wěn)壓芯片及電源指示燈組成。交流電經(jīng)過橋式整流變成直流電,再經(jīng)過電容濾波,7805穩(wěn)壓芯片穩(wěn)壓成為穩(wěn)定的5V電源,用一個發(fā)光二極管指示燈指示電源狀態(tài)。具體的電路設(shè)計如圖3.2所示:圖3.2 電源電路3.6報警器的線路設(shè)計報警器的線路原理圖由PIC16F73單片機、振動傳感器、放大電路和聲光報警電路幾部分組成。振動傳感器是自制器,當(dāng)汽車外殼被觸摸時,它把接收到的信號傳送給放大電路。放大電路由二級放大器組成,用于把振動傳感器傳送來的小信號電平放大成PIC芯片接口所要求的電平信號。為了提高電路抗干擾能力,減少失誤動作的出現(xiàn),設(shè)計一個可調(diào)電位器RW,用于調(diào)節(jié)檢測信號的靈敏度,它可根據(jù)汽車被觸摸程度的強弱而設(shè)定。聲光報警電路由發(fā)光二極管和蜂鳴器組成。按鍵S1是起觸發(fā)電路啟動/復(fù)位的作用。系統(tǒng)上電后,PIC16F73單片機復(fù)位,完成對各I/O端口的初始化工作。按動S1后,報警器進(jìn)入工作狀態(tài)。當(dāng)振動傳感器檢測到振動信號,經(jīng)AR1、AR2放大后送入單片機,單片機接受到信號后,接通聲光報警電路進(jìn)行聲光報警。此時,即使振動傳感器信號消失,報警電路也不會停止工作,只有再次觸發(fā)S1后,聲光報警電路才被切斷。具體的電路設(shè)計如圖3.3所示:圖3.3 聲光報警的線路原理圖3.7 剎車部分電路設(shè)計如圖3.4所示:Hbrake in為手剎開關(guān),F(xiàn)brake in為腳剎開關(guān),沒有剎車信號時,Hbrake in和Fbrake in懸空時,芯片的采集端口brake out為4.2V的高電平。當(dāng)有腳剎信號時,即Fbrake in接通12V電壓,則Q3工作在飽和區(qū),則brake out處的電壓即跳變?yōu)?.8V的低電平;當(dāng)有手剎信號時,即Hbrake in接地,則D7導(dǎo)通,brake out處的電壓同樣跳變?yōu)?.8V。圖3.4 剎車電路設(shè)計3.8 PIC16F73單片機引腳及其功能引腳的復(fù)用功能和符號單片機的信號引腳是單片機外特性的體現(xiàn),在硬件上用戶只能使用引腳,通過引腳的連接組建單片機系統(tǒng)。PIC單片機系列和MCS51系列單片機一樣,其引腳除電源VDD、VSS為單一功能外,其余的信號引腳常是多個功能,即引腳的復(fù)用功能。其封裝管腳圖如圖3.5所示。圖3.5 PIC16F73的管腳圖常見的引腳符號和主要功能如下:1.MCLR/Vpp清除(復(fù)位)輸入/編程電壓輸入。其中MCLR為低電平時,對芯片復(fù)位。該腳上的電壓不能超過VDD,否則會進(jìn)入測試方法。Vpp代表編程電壓。 2.OSC1/CLKIN 振蕩器晶體/外部時鐘輸入端。3.OSC2/CLKOUT振蕩器晶體輸出端,在晶體振蕩方式接晶體,在RC方式輸出OSC1頻率的1/4信號CLKOUT。4.TOCK1TMRO計數(shù)器輸入端,如不用,為了減少功能應(yīng)接地或接VDD。5.TICK1TMR1時鐘輸入端。6.TIOSITMR1的振蕩輸入端。7.TIOSOTMR1的振蕩輸出端。8.RD、WR、CS分別代表并行口讀信號、寫信號和片選控制線。9.AN0AN7A/D轉(zhuǎn)換的模擬量輸入端。AN0、AN1分別表示通道的個數(shù)。10.CCP捕捉/比較/脈寬調(diào)制等功能端。CCP是Capture/Compare/PWM的縮寫。有的PIC芯片內(nèi)有兩個CCP部件,其引腳用符號CCP1和CCP2表示。 11.SCK/SCL同步串行通信時鐘輸入端。12.TX/CK異步通信發(fā)送端/SCI同步傳輸?shù)臅r鐘端。13.SDI/SDASPI通信數(shù)據(jù)輸入端。14.SD0SPI通信數(shù)據(jù)輸出端。15.RD0/PSP0RD7/PSP7D口,雙向可編程,亦可作為并行口。作并行口對 TTL輸入,作I/O口時為斯米特輸入。第四章 PIC16F73單片機的內(nèi)部結(jié)構(gòu)4.1運算器ALU及工作寄存器W運算器ALU是一個通用算術(shù)、邏輯運算單元,用它可以對工作寄存器W和任何通用寄存器中的兩個數(shù)進(jìn)行算術(shù)(如加、減、乘、除等)和邏輯運算(如與、或、異或等)。16F73是八位單片機,ALU的字長是八位。在有兩個操作數(shù)的指令中,典型的情況是一個操作數(shù)在工作寄存器W中,而另一個操作數(shù)是在通用寄存器中,或者是一個立即數(shù)。在只有一個操作數(shù)的情況下,該數(shù)要么是在工作寄存器W中,要么是在通用寄存器中。W寄存器是一個專用于ALU操作的寄存器,它是不可尋址的。根據(jù)所執(zhí)行的指令,ALU還可能會影響框圖中狀態(tài)寄存器STATUS的進(jìn)位標(biāo)志C、全零標(biāo)志Z等。4.2程序存儲器單片機內(nèi)存放程序指令的存儲器稱為程序存儲器。PIC16F73的所有指令字長為14位。所以程序存儲器的各存儲單元是14位寬。一個存儲單元存放一條指令。16F73的程序存貯器有1024(28)個存儲單元(存儲容量為1k)。這些程序存儲器都是由FPEROM構(gòu)成的。程序存儲器是由程序計數(shù)器PC尋址的。16F73的程序計數(shù)器為13位寬,可尋址8K(81024)的程序存儲器空間,但16F73實際上只使用了1k的空間(單元地址為03FFH)。當(dāng)訪問超過這些地址空間的存儲單元時,將導(dǎo)致循環(huán)回到有效的存儲空間。4.3 數(shù)據(jù)存儲器在單片機PIC16F73中,除了有存放程序的程序存儲器外,還有數(shù)據(jù)存儲器。單片機在執(zhí)行程序過程中,往往需要隨時向單片機輸入一些數(shù)據(jù),而且有些數(shù)據(jù)還可能隨時改變。在這種情況下就需用數(shù)據(jù)存儲器。由于數(shù)據(jù)存儲器不但要能隨時讀取存放在其各個單元內(nèi)的數(shù)據(jù),而且還需隨時寫進(jìn)新的數(shù)據(jù),或改寫原來的數(shù)據(jù)。因此,數(shù)據(jù)存儲器需由隨機存儲器RAM構(gòu)成。RAM存儲器在斷電時,所存數(shù)據(jù)隨即丟失,這在實際應(yīng)用中有時會帶來不便。但是,在16F73中有648位E2PROM數(shù)據(jù)存儲器。存放在E2PROM中的數(shù)據(jù)在斷電時不會丟失。16F73中的RAM數(shù)據(jù)存儲器可分為兩個存儲體:即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體均可以直接用內(nèi)部總線傳送信息,所以它們都是以寄存器方式工作和尋址。這些八位寄存器,又可分為通用寄存器和專用寄存器兩個部分。通用寄存器存放數(shù)據(jù),專用寄存器存放控制單片機運作的信息。每個存儲體最大可擴展到7FH(128個字節(jié))。在每個存儲體中,專用寄存器被安排在低位地址空間,通用寄存器被安排在高位地址空間。通用寄存器用法單一,但專用寄存器卻各有各的用處,現(xiàn)將較基本的專用寄存器作一簡單介紹。(1)程序計數(shù)器(PCL、PCLATH)。程序計數(shù)器PC是對程序進(jìn)行管理的計數(shù)器。PIC16F73的程序計數(shù)器為13位寬,最大可尋址的存儲空間為8k14位。實際上16F73只使用前1k14位(000003FFH)存儲空間。因程序計數(shù)器有13位寬,而專用寄存器只有8位。因此PC由兩個專用寄存器構(gòu)成。其低八位PCL是一個可讀/寫寄存器(地址為02H或82H),而高字節(jié)PCH(有效位5位)不能直接進(jìn)行讀/寫操作,它是通過一個8位的保持寄存器PCLATH(地址為0A或8AH)把高5位地址傳送給程序計數(shù)器的高字節(jié)。當(dāng)執(zhí)行CALL、GOTO指寫PCL時,PC值的高字節(jié)就從PCLATH寄存器中裝入。(2)狀態(tài)寄存器STATUS。狀態(tài)寄存器STATUS含有算術(shù)邏輯單元ALU運算結(jié)果的狀態(tài)(如有無進(jìn)位等)、復(fù)位狀態(tài)及數(shù)據(jù)存儲體選擇位。功能如下:IRPRP1RP0TOPDZDCC 1.第0位。進(jìn)位/借位位C。執(zhí)行加、減運算指令2.第1位。輔助進(jìn)位/借位位DC。執(zhí)行加、減運算指令后,若結(jié)果的低四位向高四位有進(jìn)位或借位,則DC置1,否則置0。3.第2位。零標(biāo)志位運算結(jié)果為零,Z被置1;運算結(jié)果不為零,Z被清零。4.第3位。低功耗標(biāo)志位PD。上電復(fù)位或執(zhí)行CLRWDT指令后置1,執(zhí)行SLEEP指令后被清零。5.第4位。定時時間到標(biāo)志位TO。上電復(fù)位或執(zhí)行CLRWDT、SLEEP指令后被置1,監(jiān)視定時器的定時時間到被清零。6.第5位和第6位(RP0、RP1)。這兩位是用于直接尋址時的寄存器體選擇位。即00選中Bank0(00H7FH);01選中Bank1(80HFFH),16F73只有兩個存儲體。故10、11不用。7.第7位IRP。這是間接尋址的寄存體選擇位。0選中Bank0、1(00HFFH),1選中Bank2、3。16F73只有Bank0、1,所以此IRP位應(yīng)被置為0。(3)間接尋址INDF和FSR寄存器INDF寄存器不是一個物理寄存器,而是一個邏輯功能的寄存器(地址為00H或80H),當(dāng)對INDF寄存器進(jìn)行尋址時,實際上是訪問FSR寄存器內(nèi)容所指的單元,即把FSR寄存器作為間接寄存器使用。FSR稱為“寄存器選擇”寄存器,地址為(04H或84H)。對INDF寄存器本身進(jìn)行間接尋址訪問,將讀出FSR寄存器的內(nèi)容,例如當(dāng)FSR=00H時,間接尋址讀出INDF的數(shù)據(jù)將為00H。用間接尋址方式寫入INDF寄存器時,雖然寫入操作可能會影響STATUS中的狀態(tài)字,但寫入的數(shù)據(jù)是無效的。 4.4堆棧單片機執(zhí)行程序時,常常要執(zhí)行調(diào)用子程序。這樣就產(chǎn)生了一個問題:如何記憶是從何處調(diào)用的子程序,以便執(zhí)行子程序之后正確返回。此外,在程序執(zhí)行過程中,還可能會發(fā)生中斷,轉(zhuǎn)而執(zhí)行中斷子程序,這時,又如何記憶從何處中斷,以便返回呢?滿足上述功能的方法就是“堆棧”技術(shù)。“堆?!笔且粋€用來保存臨時數(shù)據(jù)的棧區(qū)。當(dāng)主程序調(diào)用子程序時,單片機執(zhí)行到CALL指令或發(fā)生中斷時,就自動將下一條指令的地址“壓?!北4娴綏^(qū)。當(dāng)子程序結(jié)束,單片機執(zhí)行返回指令時,就自動地把棧區(qū)的內(nèi)容“彈出”,作為下步指令執(zhí)行的新地址。PIC16F73芯片內(nèi)有一個8級13位寬(與PC同寬)的硬件堆棧,此堆棧既不占用程序存儲空間,也不占用數(shù)據(jù)存儲空間。當(dāng)執(zhí)行一條CALL指令或一個中斷被響應(yīng)后,程序計數(shù)器PC中的斷點地址就自動被壓棧(PUSH)保護(hù),而當(dāng)執(zhí)行RETURN、RETLW或者RETFIE指令時,堆棧中的斷點地址會彈回(POP)程序計數(shù)器PC中。無論是PUSH還是POP操作,都不影響PCLATH寄存器的內(nèi)容。4.5定時器/計數(shù)器TMROPIC單片機16F73中有一個定時器,此定時器也可用于計數(shù),因此稱為定時器/計數(shù)器,符號為TMRO。TMRO可用于定時控制、延時、對外部事件計數(shù)和檢測等場合。TMRO是一個8位增量(加1)計數(shù)器。它在數(shù)據(jù)存貯器中的地址為01。定時器所用的時鐘源可以是內(nèi)部系統(tǒng)時鐘(OSC/4,即四倍振蕩周期),也可以是外部時鐘。若TMRO對內(nèi)部系統(tǒng)時鐘的標(biāo)準(zhǔn)脈沖系列進(jìn)行計數(shù)時,就成為定時器;對外部脈沖進(jìn)行計數(shù)時TMRO就成為計數(shù)器。不管是定時還是計數(shù)方式,TMRO在對內(nèi)部時鐘或?qū)ν獠渴录嫈?shù)時,都不占用CPU時間,除非TMRO溢出,才可能中斷CPU的當(dāng)前操作??梢姡〞r器是單片機16F84中效率高且工作靈活的部件。為了擴大定時或計數(shù)的范圍,配合TMRO的使用,還有一個可編程預(yù)定標(biāo)器。此定標(biāo)器實際上是一個可編程分頻器。TMRO的工作方式由數(shù)據(jù)存儲器中的項選寄存器OPTION控制。OPTION是一個可讀/寫的寄存器。它含有配置TMRO/WDT預(yù)定標(biāo)器、外部INT中斷、TMRO等的各種控制位。TMRO的定時、計數(shù)方式是由OPTION寄存器中的D5(即TOCS位)確定。當(dāng)TOCS=0時,工作于定時器方式;當(dāng)TOCS=1時,工作于計數(shù)器方式。作定時器時,每個指令周期加1(無預(yù)分頻時);而作計數(shù)器時,則在每個RA4/TOCKI引腳上電平變化時加1。OPTION寄存器的位4(TOCS位)決定外部脈沖的觸發(fā)方式,當(dāng)TOSE=1,下降沿觸發(fā);TOSE=0,上升沿觸發(fā)。當(dāng)TMRO內(nèi)部計數(shù)器發(fā)生計數(shù)溢出(從FFh00h)時,溢出位送入中斷控制寄存器INTCON。4.6中斷PIC單片機16F73具有實時處理功能,能對外界異常發(fā)生的事件由中斷技術(shù)作及時處理。當(dāng)單片機的CPU正在處理某事件時,若外部發(fā)生了某一事件(如定時器溢出、引腳上電平變化),請求CPU迅速去處理,于是CPU就暫時中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷處理完該事件后,再回到原來被中止的地方,繼續(xù)執(zhí)行原來的工作。實現(xiàn)這種功能的部件稱為中斷系統(tǒng)。產(chǎn)生中斷的請求源稱為中斷源。中斷源向CPU提出的處理請求,稱為中斷請求或中斷申請。CPU暫時中斷自身的事務(wù),轉(zhuǎn)去處理事件的過程,稱為CPU的中斷響應(yīng)過程。對事件的整個處理過程,稱為中斷服務(wù)(或中斷處理)。處理完畢,再回到原來被中止的地方,稱為中斷返回。4.7中斷控制中斷主要由中斷控制寄存器INTCON來控制。INTCON是一個可讀/寫寄存器,含有定時器TMRO溢出、RB口的變化和外部INT引腳中斷等各種允許控制和標(biāo)志位。全局中斷允許位GIE(D7)置1,將開放所有未被屏蔽的中斷,如將該位清零,將禁止所有的中斷。在響應(yīng)中斷時,GIE位將被清零,以禁止其它中斷,返回的斷點地址被壓棧保護(hù),接著把中斷入口地址0004h裝入程序計數(shù)器PC。在中斷服務(wù)程序中,通過對中斷標(biāo)志位進(jìn)行查詢,確定中斷標(biāo)志位必須在重新開放中斷之前用軟件清零,以避免不斷地中斷申請而反復(fù)進(jìn)入中斷。(1)INT中斷。RBO/INT引腳上的外部中斷由邊沿觸發(fā),當(dāng)INTEDG位(OPTION寄存器第6位)被置1時,選用上升沿觸發(fā),如該位被清零,則由下降沿觸發(fā)。當(dāng)檢測到引腳上有規(guī)定的有效邊沿時,便把INTE位(INTCON的D4位)置1。在重新開放這個中斷之前,必須在中斷服務(wù)程序中對INTE位清零。(2)TMRO中斷。當(dāng)定時器TMRO的計數(shù)器計滿溢出(即由FFH變成00H)時,硬件自動把TOIF(INTCON的D2位)置1。其中斷可以通過對TOIE(INTCOND的D5位)置1或清零來控制該中斷是否開放。(3)PORTB口引腳電平變化中斷。在PORTB口的D7D0引腳上一旦有電平變化,就會把RBIF(INTCON的D0位)置1。這個中斷可以通過對RBIE(INTCON的D3位)置1或清零來控制該中斷是否開放。(4)中斷的現(xiàn)場保護(hù)。在發(fā)生中斷時,只有返回斷點的地址被壓棧保護(hù)。若用戶還希望保護(hù)關(guān)鍵的寄存器(如W寄存器和STATUS寄存器)。4.8復(fù)位復(fù)位是單片機的初始化操作。其主要功能是把程序計數(shù)器PCL初始化為000H,可使16F73單片機從000H單元開始執(zhí)行程序。PIC16F73芯片有下列幾種不同的復(fù)位方式。(1)芯片上電復(fù)位POR。(2)正常工作狀態(tài)下通過外部MCLR引腳加低電平復(fù)位。(3)在省電休眠狀態(tài)下通過外部MCLR引腳加低電平復(fù)位。(4)監(jiān)視定時器WDT超時溢出復(fù)位。PIC16F73片內(nèi)集成有“上電復(fù)位”POR電路,對于一般應(yīng)用,只要把MCLR引腳接高電位即可。在正常工作或休眠狀態(tài)下用MCLR復(fù)位,只需在MCLR引腳上加一按鍵瞬間接地即可。第五章 軟件設(shè)計5.1 軟件流程報警器軟件設(shè)計主要分為:主程序(報警器初始化、鍵控和解碼);報警器中斷處理程序。主程序這一部分主要完成對各中斷入口的設(shè)定,對各鎖定單元和報警存放單元的初始化,設(shè)定特殊的標(biāo)志值及對按鍵的中斷處理。主程序設(shè)計框圖5.1所示。開始程序初始化等待按鍵按鍵N軟件解碼Y結(jié)束嗎?NY結(jié)束 圖5.1 程序主流程圖報警器中斷處理程序防盜報警器的處理程序采用時間中斷查詢處理,每一次時間中斷,僅是去查詢各種控制標(biāo)志位,根據(jù)它的狀態(tài)來控制各路輸出。程序沒有采用有循環(huán)處理的方式,所以控制未結(jié)束時,不能清除控制標(biāo)志位,僅是復(fù)位現(xiàn)場,等待下一次時間中斷,再判斷是否控制結(jié)束。該報警器安裝在汽車方向盤上。安裝好后,動報警器,報警器自動延遲2030s 開始工作,便讓使用人有足夠的時間鎖好門離開汽車。延時后報警器進(jìn)入值守工作狀態(tài),但車門被打開或窗玻璃被敲碎,動傳感器檢測到信號,時20s開始報警。延時的目的是使車主在開門進(jìn)入車內(nèi)能關(guān)閉報警器,免誤報警。系統(tǒng)軟件流程設(shè)計如圖5.2所示。開始現(xiàn)場保護(hù)車輛受撞擊?時間中斷N檢測剎車N檢測車門開關(guān)狀態(tài)提示設(shè)防自動設(shè)防N提示設(shè)防處理Y自動設(shè)防處理Y置撞擊標(biāo)志位新按鍵按鍵功能處理Y撞擊報警警?N報警處理Y尋車N尋車處理Y防搶N防搶處理Y引擎控制N控制引擎YLED顯示控制恢復(fù)現(xiàn)場返回Y圖5.2 系統(tǒng)程序框圖5.2 軟件詳細(xì)設(shè)計圖5.3 系統(tǒng)功能框圖該程序設(shè)計有設(shè)防、撤防、靜音、求救四種防盜方式。當(dāng)按下設(shè)防鍵時,方向燈閃亮初始化完成,自動進(jìn)入設(shè)防狀態(tài)。如果汽車受到震動或尾門有人想要打開時,喇叭會長時間報警達(dá)到警告作用,直到車主看到汽車是不是故意被震動此時按下撤防鍵時才停止報警。為的避免誤報,當(dāng)汽車第一次受到震動后,在25秒內(nèi)車門沒打開或沒被觸發(fā),防盜系統(tǒng)會視為誤解除,會自動回復(fù)到原防盜警戒狀態(tài)。當(dāng)車主需要使有汽車時,可以按一下撤防鍵此時方向燈閃亮,喇叭不會長時間報警。按下靜音防盜鍵時,方向燈閃亮,此時汽車處于靜音防盜工作狀態(tài),軟件會自動檢查汽車有無受到震動是否需要報警。同設(shè)防工作狀態(tài)要樣當(dāng)汽車第一次受到震動后,在25秒內(nèi)車門沒打開或沒被觸發(fā),防盜系統(tǒng)會視為誤解除,會自動回復(fù)到原防盜警戒狀態(tài)。如果在車輛較多的場合想要很快找到自己的汽車這也不是什么困難的事情,只要按一尋車鍵你就會快速找到自己的汽車。還有一種情況就是如果自己的汽車被盜,為了能很快找到被盜的汽車此時按下尋車鍵汽車?yán)葧L時間報警并且LED警示燈同步閃亮。有了這四種防盜作用,車主會比較放心的停放自己的汽車,不用擔(dān)心汽車會被盜。以下分別介紹這幾種防盜系統(tǒng)的程序設(shè)計。-定義緩沖區(qū)-P_TMP_HEQU 2CHP_TMP_L EQU 2DHSUMHEQU 2EHSUMLEQU 2FHT1_LED EQU 32H ;LED計時T1_LOCK EQU 33H ;鎖門計時T1_SPEAK EQU 34H ;喇叭計時T1_LIGHT EQU 35H ;方向燈計時-計數(shù)器-LED_COUNTEQU 38H ;LED閃爍次數(shù)LOCK_COUNTEQU 39H ;鎖門次數(shù)SPEAK_COUNTEQU 3AH ;喇叭報警次數(shù)LIGHT_COUNTEQU 3BH ;方向燈閃爍次數(shù)VIBRATION_COUNT EQU 3CH ;振動次數(shù)FAN_COUNTH EQU 48H ;計時,TMR2中加1FAN_COUNTL EQU 49H AD_COUNTH EQU 4AH ;AD計數(shù),TMR2中加1,AD_COUNTL EQU 4BH LED_COUNT EQU 4CH ;LED閃爍次數(shù)-狀態(tài)標(biāo)志寄存器-STATE_FLAGEQU 5AH ;狀態(tài)標(biāo)志寄存器F_SET EQU 0 ;設(shè)置標(biāo)志F_RELEASE EQU 1 ;解除標(biāo)志F_WHISHT_SET EQU 2 ;靜音設(shè)置標(biāo)志F_FIND_CAR EQU 3 ;尋車標(biāo)志F_HELP EQU 4 ;求救標(biāo)志F_ALL_RELEASE EQU 5 ;完全解除標(biāo)志-動作標(biāo)志寄存器-STATE_FLAGEQU 5BH ;動作標(biāo)志寄存器F_LOCK EQU 0 ;鎖門動作標(biāo)志F_SPEAK EQU 1 ;喇叭動作標(biāo)志F_LIGHT EQU 2 ;方向燈動作標(biāo)志-設(shè)置標(biāo)志寄存器-STATE_FLAGEQU 5CH ;設(shè)置標(biāo)志寄存器F_PROMPT_AGAINST_THEFT EQU 0F_AUTO_AGAINST_THEFT EQU 1F_ELEC_LOCK EQU 2-端口定義-SETTING EQU 0 ;RA.0 設(shè)防端口RELEASE EQU 1 ;RA.1 解除端口WHISHT_SET EQU 2 ;RA.2 靜音設(shè)防端口HELP_FINDEQU 3 ;RA.3 尋車求救端口EXIGENCE_RELEASE EQU 4 ;RA.4 緊急解除端口VIBRATION_IN EQU 5 ;RA.5 振動輸入端口INTEQU 0 ;RB.0 中斷輸入,用于無線接收LED EQU 1 ;RB.1 LED燈BACK_BOXEQU 2 ;RB.2 尾門負(fù)觸發(fā)SOUND_RELAYEQU 3 ;RB.3 報警喇叭繼電器LIGHT_RELAYEQU 4 ;RB.4 方向燈繼電器OPEN_RELAYEQU 5 ;RB.5 開中控鎖繼電器CLOSE_RELAYEQU 6 ;RB.6 關(guān)中控鎖繼電器BOX_RELAYEQU 7 ;RB.7 行李箱繼電器PROMPT_THEFT EQU 0 ;RC.0 跳線,提示/不提示 開啟防盜AUTO_SET EQU 1 ;RC.1 跳線,自動/不自動 開啟防盜AIR_OR_ELEC EQU 2 ;RC.2 跳線,氣動/電動 鎖ACC_12V EQU 3 ;RC.3 接鑰匙鎖打開后12V電源CAR_DOOR EQU 4 ;RC.4 邊門檢測BACK_DOOR EQU 5 ;RC.5 尾門檢測TX EQU 6 ;RC.6 串口發(fā)送RX EQU 7 ;RC.7 串口接收5.2.1 聲光防盜當(dāng)有盜車賊想要接近或?qū)嵤┓缸锏臅r候,聲光防盜會啟動。首先,觸發(fā)聲光報警電路汽車?yán)葧ㄟ^聲光報警器發(fā)出提示“BI”的響聲。其次,汽車轉(zhuǎn)向燈也會同步的閃亮。此時車主手上的遙控裝置會提示車主自己的汽車現(xiàn)在受到振動,提示車主檢查自己的汽車現(xiàn)在是否安全。按一下設(shè)定鍵,車門上鎖,方向燈閃一下,喇叭發(fā)出“BI”一聲提示,LED警燈閃亮,自動進(jìn)入聲光防盜警戒狀態(tài)。相關(guān)代碼分析如下:SET_AGAINST_THEFT BSF RB, CLOSE_RELAY ;鎖門 MOVLW D1 MOVWF LOCK_COUNT BSF ACT_FLAG,F_LOCK ;鎖門標(biāo)志置位,主程序可以進(jìn)入 BSF RB, SOUND_RELAY ;喇叭報警 MOVLW D1 MOVWF SPEAK_COUNT BSF ACT_FLAG,F_SPEAK ;喇叭標(biāo)志置位,主程序可以進(jìn)入 BSF RB, LIGHT_RELAY ;方向燈亮 MOVLW D2 MOVWF LIGHT_COUNT BSF ACT_FLAG,F_LIGHT ;方向燈標(biāo)志置位,主程序可以進(jìn)入 BSF T1CON,TMR1ON ;打開定時器1 BCF STATE_FLAG,F_SET ;設(shè)置標(biāo)志位復(fù)位,主程序不能進(jìn)入RETURN5.2.2 靜音防盜靜音防盜主要使用在需要安靜禁止汽車發(fā)出刺激性的聲響的場合。靜音防盜是在盜車賊實施犯罪的時候,會觸發(fā)靜音防盜電路,此時汽車?yán)炔粫l(fā)出響聲,但汽車方向燈會不停的閃亮。汽車會通過無線電把信號發(fā)送到車主手上的遙控裝置,此時車主可以根據(jù)實際情況動處理。 按一下靜音鍵,車門上鎖,方向燈閃一下,LED警示燈閃亮,自動進(jìn)入靜音防盜警戒狀態(tài)。相關(guān)代碼分析如下: WHISHT_SET BSF RB, CLOSE_RELAY ;鎖門 MOVLW D1 MOVWF LOCK_COUNT BSF ACT_FLAG,F_LOCK ;鎖門標(biāo)志置位,主程序可以進(jìn)入 BCF RB, SOUND_RELAY ;喇叭不報警 BSF RB, LIGHT_RELAY ;方向燈亮 MOVLW D1 MOVWF LIGHT_COUNT BSF ACT_FLAG,F_LIGHT ;方向燈標(biāo)志置位,主程序可以進(jìn)入 BSF T1CON,TMR1ON ;打開定時器1 BCF STATE_FLAG,F_WHISHT_SET ;靜音標(biāo)志位復(fù)位,主程序不能進(jìn)入RETURN5.2.3 觸發(fā)報警