單片機的電話報警器設計_第1頁
單片機的電話報警器設計_第2頁
單片機的電話報警器設計_第3頁
單片機的電話報警器設計_第4頁
單片機的電話報警器設計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(論文)1 引 言 1 第 1 頁 34頁隨著微電子技術(shù)與網(wǎng)絡技術(shù)的飛速發(fā)展,人們對于居住環(huán)境的安全、方便、舒適提出了越來越高的要求,因此智能化住宅就隨之出現(xiàn),也隨著改革開放的深入和市場經(jīng)濟 的迅速發(fā)展、提高,城市外來流動人口大量增加,帶來許多不安定因素,刑事案件特別是入室盜竊、搶劫居高不下,因此家庭智能安全防范系統(tǒng)是智能化小區(qū)建設中不可缺少的一項,而以往的做法是安裝防盜門、防盜網(wǎng),但普遍存在有礙美觀,不符合防火要求,而且不能有效地防止犯罪分子對住宅的入侵,故利用高科技的電子防盜報警系統(tǒng)也就應運而生。安防,就是安全防范,是指防盜、防入侵、防火、防煤氣泄漏等。目前家庭住宅的主要防范措施是利用防盜

2、門,商店的防盜措施主要是監(jiān)控器和出門口的紅外報警器。隨著人們認識的深入,利用智能防盜、防火、防煤氣將成為人們的首要選擇,智能安防也是安防行業(yè)的發(fā)展趨勢。所謂的智能安防,即指通過相關(guān)系統(tǒng),將安防進行信息化、生動化,而且能把事件控制在發(fā)生之前,有效地防止相關(guān)危險事件的發(fā)生。智能安防一般包括系統(tǒng)控制模塊、報警模塊、傳感器模塊等。隨著社會的不斷進步和科學技術(shù)、經(jīng)濟的不斷發(fā)展,人們生活水平得到很大的提高,對私有財產(chǎn)的保護意識在不斷的增強,因而對防盜措施提出了新的要求。本設計就是為了滿足現(xiàn)代住宅防盜的需要而設計的家庭式電子防盜系統(tǒng)。目前市面上裝備主要有壓力觸發(fā)式防盜報警器、開關(guān)電子防盜報警器和壓力遮光觸發(fā)

3、式防盜報警器等各種報警器,但這幾種比較常見的報警器都存在一些缺點。本系統(tǒng)采用了熱釋電紅外傳感器,它的制作簡單、成本低,安裝比較方便,而且防盜性能比較穩(wěn)定,抗干擾能力強、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發(fā)現(xiàn)。同時它的信號經(jīng)過單片機系統(tǒng)處理后方便和PC機通信,便于多用戶統(tǒng)一管理。 本設計包括硬件和軟件設計兩個部分。硬件部分包括單片機控制電路、紅外探頭電路、驅(qū)動執(zhí)行報警電路等部分組成。處理器采用51系列單片機AT89C2051。整個系統(tǒng)是在系統(tǒng)軟件控制下工作的。系統(tǒng)程序可以劃分為以下幾個模塊:數(shù)據(jù)采集、鍵盤控制、報警、顯示等子函數(shù)。本設計的硬件部分由四大模塊電路構(gòu)成:傳感器模塊電路

4、、單片機控制模塊電路、報警模塊電路和顯示模塊。控制模塊外圍有為該系統(tǒng)設計的復位模塊電路和振蕩電(論文)路,使系統(tǒng)更穩(wěn)定,更實用。 22 第 2 頁 34頁控制模塊主要利用了AT89C2051單片機作為整個報警器的控制系統(tǒng)。傳感器部分通過感應通過的物體,形成電平信號輸出,并經(jīng)過單片機處理,實現(xiàn)傳感器信號的判斷、延時、報警等功能。該系統(tǒng)用于集中檢測報警,能對受控制的多個點進行實時檢測,當檢測到一個或多個點有報警信號時,能用聲和數(shù)碼顯示出報警地點,實現(xiàn)了智能報警控制3。本系統(tǒng)軟件部分采用C語言編寫,使其數(shù)據(jù)流程可以清晰的反映在程序中,增強了程序的可讀性,便于改進和擴充,從而為系統(tǒng)的使用提供了更方便的

5、軟件支持。 本課題研究設計了一種基于單片機技術(shù)的電話報警器。該防盜報警器通過AT89C2051單片機為工作處理器核心,外接熱釋電人體紅外傳感器,它是一種新穎的被動式紅外探測器件,能夠以非接觸方式探測出人體發(fā)出的紅外輻射,并將其轉(zhuǎn)化為相應的電信號輸出,同時能有效的抑制人體輻射波長以外的紅外光線與可見光的干擾,平時傳感器輸出低電平,當有人在探測區(qū)范圍內(nèi)移動時輸出低電平變?yōu)楦唠娖?,此高電平輸入單片機,作為單片機的外部觸發(fā)信號處理,經(jīng)單片機內(nèi)部軟件編程處理后,單片機輸出控制信號,在不驚動盜賊的情況下,自動撥打主人的手機。當戶主接收到自家的電話號碼和報警蜂鳴音信息時,便知道家里可能有人入室盜竊,從而做出

6、相應的應急措施。該報警器的最大特點就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報率低,同時它的信號經(jīng)過單片機系統(tǒng)處理后方便和PC機通信,便于多用戶統(tǒng)一管理。隨著現(xiàn)代人們安全意識的增強以及科學技術(shù)的快速發(fā)展,相信報警器必將在更廣闊的領(lǐng)域得到更深層次的應用2。2 課題研究意義隨著超大規(guī)模集成電路、通信技術(shù)、單片機技術(shù)的迅猛發(fā)展和人們保安意識的日漸提高,利用單片機及其它外圍芯片實現(xiàn)自動報警已成為可能,且是一種發(fā)展趨勢.它不僅有體積小、安裝方便、功能較齊全等優(yōu)點,而且有很高的性價比,因此應用前景廣泛.但是現(xiàn)在市場上的家用報警器都有明顯的不足之處,所以在現(xiàn)行產(chǎn)品的基礎(chǔ)之上研制一種新型的家

7、用自動報警器,進一步完善報警器的功能,提高它的可靠性,具有實際意義;這對于保障居民的生命財產(chǎn)安全,提高公安、消防、醫(yī)療、保安等部門的快速反應能力,有著重要的價值。(論文) 3 第 3 頁 34頁 另一方面,該課題也需要設計者具有一定深度的自動控制、計算機、電子和通信等方面的知識和較豐富的實踐經(jīng)驗.通過這次研制,在導師的指導下,利用學校的良好的試驗儀器設備和科研環(huán)境,進行本課題的研究,能充分發(fā)揮自己的長處,將學到的理論知識進一步深化,并與實際的工作結(jié)合起來,掌握一定的科學研究能力和新產(chǎn)品的開發(fā)能力,同時也為將來的工作奠定良好的基礎(chǔ)11。3 報警器發(fā)展歷程和研究現(xiàn)狀報警器的發(fā)展與微電子技術(shù)的發(fā)展息

8、息相關(guān),它大致可分為三個發(fā)展階段,對應著三代產(chǎn)品:第一代是利用純分離元件組成的產(chǎn)品,其特點是電路組成復雜,功能單一,可靠性較差,體積較大.第二代是利用集成芯片(IC)和分離元件組成的產(chǎn)品,其特點是電路組成較復雜,但是可以實現(xiàn)多種功能,可靠性比第一代產(chǎn)品高。第三代是以單片機為核心,外加其它集成芯片和分離元件組成的產(chǎn)品,其特點是電路組成較復雜,但是功能齊全.可靠性高。具備一定的智能化功能。現(xiàn)在市場上主要以第三代產(chǎn)品為主,前兩代產(chǎn)品由于功能單一的原因基本己經(jīng)被淘汰。第三代報警產(chǎn)品又可分為兩類,一類是適合單個家庭應用的獨立報警器,另一類是適合小區(qū)聯(lián)防報警的聯(lián)網(wǎng)報警系統(tǒng)。作為單個家庭用的報警器,產(chǎn)品已經(jīng)

9、比較成熟,而且功能也比較齊全。多數(shù)產(chǎn)品采用單片機作為控制核心部分,通過電話線實現(xiàn)向外界報警功能。但是這種報警器有著自身的不足之處,作為一個獨立的系統(tǒng),它缺乏與外界聯(lián)系的有效手段,雖然它可以通過固定電話與外界聯(lián)系, 但是一旦電話線被惡意剪斷,則將失去電話報警功能。作為小區(qū)聯(lián)防的報警系統(tǒng)市場上也有產(chǎn)品,它是作為一個完整系統(tǒng)設計的,多數(shù)產(chǎn)品采用分層次互連拓撲結(jié)構(gòu),將單個報警器(前端控制器)通過專線或電話線與中央控制器相聯(lián),中央控制器可對前端控制器進行監(jiān)測和控制,一旦收到前端控制器的警情信號,由中央控制器向外界報警。值班人員除了在值班室里通過鍵盤對中央控制器進行操作外,也可對中央控制器實施異地遙控。只

10、要輸人正確的密碼,即可通過任意一部音頻電話機,在中央控制器的語音提示下,通過電話機的鍵盤完成對中央控制(論文) 4 第 4 頁 34頁 器的異地操作與控制。另外,中央控制器可與INTERNET聯(lián)接,用戶可利用任意一臺可上網(wǎng)的電腦,在任何地方通過INTERNET用普通的瀏覽方式,對中央控制器進行權(quán)限范圍內(nèi)的異地訪問和控制。因此,它的功能比第一類產(chǎn)品強大,與外界的聯(lián)系途徑也較多,增強了產(chǎn)品的可靠性。由于本報警系統(tǒng)采用分層次互連拓樸結(jié)構(gòu),極大地增強了系統(tǒng)的可靠性與可擴展性,多個中央控制器之間可以十分方便地實現(xiàn)互聯(lián)互通,組成更大規(guī)模的安全報警網(wǎng)絡.因此,該產(chǎn)品適用于小區(qū)的整體安裝11. 4 總體方案設

11、計4.1 報警器的功能要求根據(jù)設計的實際要求,本文所研制的報警器的功能要求如下:( 1 )可實現(xiàn)非法侵入的報警。( 2 )可通過固定電話與電話網(wǎng)絡聯(lián)接,報警時能迅速撥打存儲的號碼。 ( 3 )可預先存儲10組號碼,可以更改,且掉電不丟失。( 4 )可錄下20秒報警資料,可以更改,且掉電不丟失。( 5 )通過遙控器實現(xiàn)設防、撤防。( 6 )有報警記憶功能。( 7 )用戶不需要報警時,可通過密碼撤銷報警,且密碼可更改。( 8 )可實現(xiàn)異常情況的自動復位。1142 基于單片機的電話報警器的設計思路設計的思路:報警系統(tǒng)使用的微處理器為AT89C2051單片機 ,能接收熱紅外探頭信號,工作時系統(tǒng)低工耗監(jiān)

12、控 ,一旦發(fā)生警情,系統(tǒng)立即開始工作,把預存的報警信息通過電話自動報告給主人。硬件結(jié)構(gòu)圖如圖4.1所示:(論文)第 5 頁 34頁圖4.1 硬件結(jié)構(gòu)圖圖4.1為電話撥號防盜報警器的系統(tǒng)構(gòu)成方框圖,由單片機控制器AT89C2051、鍵盤輸入、數(shù)碼管顯示、觸發(fā)電路、撥號電路及電源等6部分組成。單片機控制器AT89C2051是整個系統(tǒng)的核心,負責控制檢測輸入/輸出顯示、模擬摘機、撥號報警、掛機等一系列的程序動作。這里使用了小引腳、高性能、低價位的AT89C2051。鍵盤輸入電路負責輸入單片機中一系列工作參數(shù)及功能設定。發(fā)光二極管數(shù)碼管顯示器在整個系統(tǒng)工作中充當一個簡單的人機界面,用以顯示工作狀況及輸

13、入、輸出的數(shù)據(jù)等。電話撥號防盜報警器的觸發(fā)電路用熱釋紅外線探測器,以實現(xiàn)全方位遠距離檢測。報警器應采用隱蔽安裝,防止小偷發(fā)現(xiàn)。撥號及報警電路用來完成模擬摘機、撥號、發(fā)出報警音、掛機等工作過程,它的工作由單片機控制。電源部分負責對整個系統(tǒng)供電。平時由電話線上取得工作電流并對后備電池充電,撥號報警時轉(zhuǎn)由后備電池供電12。5 脈沖撥號報警系統(tǒng)5.1 脈沖撥號原理(論文) 6 第 6 頁 34頁 脈沖撥號是目前電話機兩種撥號方式中的一種,另一種為雙音多頻撥號方式。 脈沖撥號就是指在電話機上撥入的電話號碼以脈沖個數(shù)的形式發(fā)出,也就是說,在已經(jīng)通以直流電流的回路上,利用撥號盤及發(fā)號電路將回路斷開、再接通而

14、形成的脈沖信號,來完成輸入電話號碼的發(fā)送。在操作中,若用戶撥1,則送出1個脈沖,回路中斷一次、接通一次;撥2,則發(fā)出2個脈沖,回路斷一次、接通一次、再斷一次、再接通一次;······;而撥0時,則發(fā)出10個脈沖,回路中斷、接通輪流10次。圖4.1為電話號碼“32”的脈沖波形。圖5.1 電話號碼“32”的脈沖波形正常撥號時,電路電流中斷的時間一般在58-65ms之間,視斷續(xù)比的不同而不同??焖贀芴枙r,只要取一半的時間即可。電路電流接通的時間(即在同一位號碼中的2個斷脈沖之間的接通電流時間)約在32-42ms之間,視斷續(xù)比的不同而不同???/p>

15、速撥號時,只要取一半的時間即可。顯然脈沖周期等于脈沖中斷時間和脈沖接通時間之和,每一個周期的時間為100ms左右。快速撥號時,在50ms左右。2位號碼(即2組脈沖串)之間的最小時間間隔,通常為800ms左右;而快速撥號時,其值減半,為400ms左右。 我國目前采用的電話脈沖撥號的速率是10PPS(每秒的脈沖數(shù)),即每秒發(fā)出10個脈沖,因此上述各參數(shù)不存在快速撥號時的值。為了提高撥號的可靠性及穩(wěn)定性,這里設定時選定更低的脈沖撥號速率:1個脈沖代表撥出1,2個脈沖代表撥出2,······,10個脈沖代表撥出0,每個脈沖的寬度和間隔均為10

16、0ms。工作時首先進行模擬摘機,然后開始脈沖撥號,撥出一位號碼后停頓500ms(保持接通)再撥下一位,直至全部撥完后再發(fā)報警音,······,(論文)最后掛機11.137 第 7 頁 34頁 。5.2 脈沖撥號實現(xiàn)過程圖5.2為脈沖撥號的實現(xiàn)電路。平時電話線上的電壓均為50-60V左右。未撥號時單片機的P3.0,P3.1均輸出低電平。撥號過程如下:1.單片機的P3.0輸出高電平,使TR1導通,由于電話線路上接入了負載R1,這樣電話線的電壓下降,模擬摘機。2.單片機的P3.0開始輸出撥號脈沖,使電話線的電壓(電平)也呈高、低變化。1個脈

17、沖代表撥出1,2個脈沖代表撥出2,······,10個脈沖代表撥出0,每個脈沖的寬度和間隔均為100ms。撥出一位號碼后停頓500ms(保持P3.0高電平)再撥下一位,直至全部撥完。3.P3.0保持高電平(保持電話線路接通),P3.1輸出1KHz的報警音脈沖驅(qū)動TR2,以2Hz進行調(diào)制(即接通1KHz信號0.5s、斷開1KHz信號0.5s),這樣從接聽方的電話中就會聽到“嘟、嘟···”的報警聲。報警音的時間根據(jù)設定為60s。4.60s后,P3.1輸出低電平,TR2截止,停止報警。隨后P3.0也輸出低電平,

18、模擬掛機1.10。圖5.2 脈沖撥號實現(xiàn)電路5.3 信號檢測電路(論文) 8 第 8 頁 34頁圖5.3 信號檢測電路上圖中傳感器采用P2288被動式熱釋電人體紅外傳感器。它采用平衡檢差方式工作,只感應714m波長的活動人體輻射紅外線,不會受環(huán)境溫度及可見光的影響,傳感器加裝菲爾透鏡可感應十米以內(nèi)的人體輻射紅外線。當有活動人體輻射的紅外線被傳感器檢測到后,將產(chǎn)生微弱電信號,經(jīng)濾波、放大,送給雙向比較器,為防誤動作,與門限電平進行比較,產(chǎn)生脈沖信號輸出,將高電平作為告警信號,送入CPU。熱釋電人體紅外傳感器是上世紀80年代末期出現(xiàn)的一種新型傳感器件?,F(xiàn)在,已經(jīng)得到越來越廣泛的應用。目前,市場上出

19、現(xiàn)的熱釋電人體紅外傳感器主要有上海產(chǎn)的SD02、PH5324,德國產(chǎn)的LH1954、LH1598,美國HAMAMATSU生產(chǎn)地P2288,日本NIPPON CERAMIC公司的SCA02-1、RS02D等。雖然它們的型號不一樣,但其結(jié)構(gòu)、外型和電參數(shù)大致相同,大部分可以彼此互換使用。熱釋電人體紅外傳感器有敏感元件、阻抗變換器和濾光窗等三大部分組成。 對不同的傳感器來說,敏感單元的制造材料有所不同(即一種高熱電系數(shù)的材料),如SD02的敏感單元由鋯鈦酸鉛制成;P2288由LiTaO3制成。在每個探測器內(nèi)裝入一個或兩個探測元件,并將兩個探測元件以反極性串聯(lián),以抑制由于自身溫度升高而產(chǎn)生的干擾。由探

20、測元件將探測并接收到的紅外輻射轉(zhuǎn)變成微弱的電壓信號,經(jīng)裝在探頭內(nèi)的場效應管放大后向外輸出。為了提高探測器的探測靈敏度以增大探測距離,一般在探測器的前方裝設一個菲涅爾透鏡,該透鏡用透明塑料制成,將透鏡的上、下兩部分各分成若干等份,制成一種具有特殊光學系統(tǒng)的透鏡,它和放大電路相配合,可將信號放大70分貝以上,這樣就可以測出10-20米范圍內(nèi)人的行動。菲涅爾透鏡利用透鏡的特殊光學原理,在探測器前方產(chǎn)生一個交替變化的“盲區(qū)”和“高靈敏區(qū)”,以提高它的探測接收靈敏度。當有人從透鏡前走過時,人體發(fā)(論文)以忽強忽弱的脈沖形式輸入,從而強其能量幅度。 9 第 9 頁 34頁 出的紅外線就不斷地交替從“盲區(qū)”

21、進入“高靈敏區(qū)”,這樣就使接收到的紅外信號人體輻射的紅外線中心波長為9-10um,而探測元件的波長靈敏度在0.2-20um范圍內(nèi)幾乎穩(wěn)定不變。在傳感器頂端開設了一個裝有濾光鏡片的窗口,這個濾光片可通過光的波長范圍為7-10um,正好適合于人體紅外輻射的探測,而對其它波長的紅外線由濾光片予以吸收,這樣便形成了一種專門用作探測人體輻射的紅外線傳感器。 在電子防盜、人體探測器領(lǐng)域中,被動式熱釋電紅外探測器的應用非常廣泛,因其價格低廉、技術(shù)性能穩(wěn)定而受到廣大用戶和專業(yè)人士的歡迎。被動式熱釋電紅外探頭的工作原理及特性:人體都有恒定的體溫,一般在37度,所以會發(fā)出特定波長10um左右的紅外線,被動式紅外探

22、頭就是靠探測人體發(fā)射的10um左右的紅外線而進行工作的。人體發(fā)射的10um左右的紅外線通過菲泥爾濾光片增強后聚集到紅外感應源上。紅外感應源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,向外釋放電荷,后續(xù)電路經(jīng)檢測處理后就能產(chǎn)生報警信號。1)這種探頭是以探測人體輻射為目標的。所以熱釋電元件對波長為10um左右的紅外輻射必須非常敏感。2)為了僅僅對人體的紅外輻射敏感,在它的輻射照面通常覆蓋有特殊的菲泥爾濾光片,使環(huán)境的干擾受到明顯的控制作用。3)被動紅外探頭,其傳感器包含兩個互相串聯(lián)或并聯(lián)的熱釋電元。而且制成的兩個電極化方向正好相反,環(huán)境背景輻射對兩個熱釋元件幾乎

23、具有相同的作用,使其產(chǎn)生釋電效應相互抵消,于是探測器無信號輸出。4)一旦人侵入探測區(qū)域內(nèi),人體紅外輻射通過部分鏡面聚焦,并被熱釋電元接收,但是兩片熱釋電元接收到的熱量不同,熱釋電也不同,不能抵消,經(jīng)信號處理而報警。5)菲泥爾濾光片根據(jù)性能要求不同,具有不同的焦距(感應距離),從而產(chǎn)生不同的監(jiān)控視場,視場越多,控制越嚴密。被動式熱釋電紅外探頭的優(yōu)缺點:優(yōu)點:本身不發(fā)任何類型的輻射,器件功耗很小,隱蔽性好。價格低廉。 缺點:(論文)1)容易受各種熱源、光源干擾 10 第 10 頁 34頁2)被動紅外穿透力差,人體的紅外輻射容易被遮擋,不易被探頭接收。3)易受射頻輻射的干擾。4)環(huán)境溫度和人體溫度接

24、近時,探測和靈敏度明顯下降,有時造成短時失靈。 抗干擾性能:1)防小動物干擾探測器安裝在推薦地使用高度,對探測范圍內(nèi)地面上地小動物,一般不產(chǎn)生報警。2)抗電磁干擾探測器的抗電磁波干擾性能符合GB10408中4.6.1要求,一般手機電磁干擾不會引起誤報。3)抗燈光干擾探測器在正常靈敏度的范圍內(nèi),受3米外H4鹵素燈透過玻璃照射,不產(chǎn)生報警。 紅外線熱釋電傳感器的安裝要求:紅外線熱釋電人體傳感器只能安裝在室內(nèi),其誤報率與安裝的位置和方式有極大的關(guān)系.。正確的安裝應滿足下列條件:1)紅外線熱釋電傳感器應離地面2.0-2.2米。2)紅外線熱釋電傳感器遠離空調(diào), 冰箱,火爐等空氣溫度變化敏感的地方。3)紅

25、外線熱釋電傳感器探測范圍內(nèi)不得隔屏、家具、大型盆景或其他隔離物。4)紅外線熱釋電傳感器不要直對窗口,否則窗外的熱氣流擾動和人員走動會引起誤報,有條件的最好把窗簾拉上。紅外線熱釋電傳感器也不要安裝在有強氣流活動的地方。紅外線熱釋電傳感器對人體的敏感程度還和人的運動方向關(guān)系很大。紅外線熱釋電傳感器對于徑向移動反應最不敏感, 而對于橫切方向(即與半徑垂直的方向)移動則最為敏感.在現(xiàn)場選擇合適的安裝位置是避免紅外探頭誤報、求得最佳檢測靈敏度極為重要的一環(huán)。85.4 AT89C2051單片機的功能特點電話撥號防盜報警器的核心控制器是單片機AT89C2051.AT89C2051是美國ATMEL半導體公司生

26、產(chǎn)的一種高性能單片機。該單片機以與MCS-51系列單片機高度兼容、低功耗、可以在接近零頻率下工作等諸多優(yōu)點,而廣泛應用 各類計算機系統(tǒng)、(論文) 11 第 11 頁 34頁 工業(yè)控制、電信設備、消費類產(chǎn)品中。由于ATMEL是全球最大的FLASH和EEPROM生產(chǎn)制造公司之一,加之以其EEPROM技術(shù)與INTEL的80C51內(nèi)核技術(shù)交換,使ATMEL擁有了80C51內(nèi)核的使用權(quán),其生產(chǎn)出的AT89系列單片機不僅與80C51有極好的兼容性,而且其具有極高的性能價格比。5.145.4.1 AT89C2051的主要性能特點指令與MCS-51完全兼容;內(nèi)帶2KB可編程閃速存儲器(FLASH MEMORY

27、)可重復擦寫1000次;數(shù)據(jù)保留10年;工作電壓范圍2.7-6V;工作頻率0-24MHz;兩級程序加密鎖定;128M內(nèi)部RAM;15條可編程雙向I/O口線;2個16位定時器計數(shù)器;5個中斷源;可編程串行UART通道;輸出口可直接驅(qū)動LED;片內(nèi)含模擬比較器;低功耗的閑置和掉電模式。AT89C2051是AT89系列單片機中的一種精簡產(chǎn)品。它是將AT89C51的P0口、P2口、EAVpp、ALEPROG、PSEN口線省去后,形成的一種僅20個引腳的單片機,相當于早期INTEL8031的最小應用系統(tǒng)。這對于一些不太復雜的控制場合,僅用一片AT89C2051就足夠了,是正真意義上的“單片機“。由于將多

28、功能8位CPU和2KB的閃速存儲器集成在單個芯片中,使其成為一種高效的微控制器。AT89C2051的出現(xiàn)為很多規(guī)模不太大的嵌入式控制系統(tǒng)提供了一種極佳的選擇方案,使傳統(tǒng)的51系列單片機的體積大、功耗大、可選模式少等諸多困擾設計工程師們的致命弱點不復存在。5.4.2 引腳功能介紹AT89C2051引腳外形如圖5.4所示。(論文) 12 第 12 頁 34頁圖5.4 AT89C2051引腳外形Vcc:電源端。GND:接地。P1口(P1.0-P1.7):是一個8位雙向IO口,其中P1.2-P1.7提供內(nèi)部上拉電阻,P1.0和P1.1需外接上拉電阻。P1.0和P1.1也可做為片內(nèi)精確模擬比較器的正向輸

29、入(AIN0)和反向輸入(AIN1)。P1口輸出緩沖器能提供20mA的灌電流,可以直接驅(qū)動LED。P1口寫入“1”后可用作輸入。P3口:引腳P3.0至P3.7(P3.5除外)是7個帶內(nèi)部上拉電阻的雙向IO口線。原P3.6不能使用,已連接片內(nèi)比較器輸出端。與P1口相同,P3口也能提供20mA的灌電流,并可直接驅(qū)動LED顯示器。與80C51相同,P3口也有第2功能,P3.0作為串行數(shù)據(jù)接收RXD;P3.1作為串行數(shù)據(jù)發(fā)送TXD;P3.2為外部中斷0申請INT0;P3.3為中斷1申請INT1;P3.4為定時器計數(shù)器0輸入;P3.5為定時器計數(shù)器1輸入;P3.7無第二功能RD。RST:復位輸入。要使芯

30、片可靠復位,要保持RST引腳2個機器周期的高電平。(論文)XTAL1:反向振蕩放大的輸入及內(nèi)部時鐘電路的輸入。XTAL2:來自反向振蕩放大器的輸出。5.4. 程序存儲器鎖定 13 第 13 頁 34頁AT89C2051片內(nèi)有2個鎖定位,可以不編程(U),也可以編程(P),以獲得一些附加的特性,如表5.1所列。表5.1 程序存儲器鎖定5.4.4 閑置模式在閑置模式下,CPU自身處于休眠狀態(tài)。該模式是軟件生成的。在該模式期間,片內(nèi)RAM和所有特殊功能寄存器都保持不變。閑置模式可以允許由中斷或硬件復位終止。如果不采用外部上拉,P1.0和P1.1應置0;如果采用外部上拉,則置1.應注意的是,當閑置模式

31、被硬件復位中止時,器件要從閑置處恢復程序的執(zhí)行,執(zhí)行2個機器周期后,內(nèi)部復位算法才起作用。此時,硬件禁止訪問內(nèi)部RAM,但允許訪問端口引腳。為了排除閑置被復位中止時對端口意外寫入的可能性,跟在生成閑置模式后的指令不應是對端口引腳的讀寫操作。5.4.5 掉電模式在掉電模式下,振蕩器停止工作,生成掉電狀態(tài)的指令是最后執(zhí)行的一條指令。片內(nèi)RAM和特殊功能寄存器保持其值不變直到掉電模式終止。從掉電模式退出的唯一辦法是硬件復位。復位將重新定義特殊功能寄存器(SFR),但不會影響片內(nèi)RAM。在Vcc沒有恢復到其正常工作電壓之前,不應進行復位,且復位的保持時間應足夠長,使振蕩能重新開始工作并穩(wěn)定下來。同樣,

32、如果不采用外部上拉,P1.0和P1.1應置0,如果采用外部上拉,則置1. 155.5 電路設計為了發(fā)揮單片機強大的計算、控制能力,充分發(fā)揮軟件的優(yōu)勢,這里極大地簡化了電路,但可實現(xiàn)以前需要幾片甚至十幾片中小規(guī)模數(shù)字電路才能完成的任務。 電路原理如圖4.5所示,共有4個按鍵,即rst、ok、up、set。(論文) 14 第 14 頁 34頁圖5.5 電路原理圖Rst:系統(tǒng)復位鍵。Ok:輸入數(shù)據(jù)確認鍵。Up:顯示的數(shù)字增加鍵。Set:工作模式設定鍵,可設定關(guān)機、工作、輸入時間t1、輸入時間t2及輸入電話號碼5種模式。磁性開關(guān)即為裝于門或窗口的防盜感應開關(guān),門關(guān)閉時常開,門打開時閉合接通。當然也可改

33、用其他的感應器件,如激光探測、超聲波感應、熱釋電感應、主動紅外線探測或無線門磁等,以實現(xiàn)全方位遠距離檢測。為了防止磁性開關(guān)離控制器較遠而產(chǎn)生引入干擾,使用了光耦作信號傳遞,效果良好。LED數(shù)碼管用于工作狀態(tài)指示或輸入數(shù)據(jù)指示。L1、L2接電話線,ZND為擊穿電壓120V的壓敏二極管,防止電路受雷電干擾。平時系統(tǒng)處于低功耗待機狀態(tài)(此時耗電僅2mA左右),有電話線上取電工作,并對3.6V/60mA鎳鉻電池充電,當輸入數(shù)據(jù)進行設定或進行設定或進行撥號報警時,耗電會達到10mA,這時主要由鎳鉻電池供電。由于有鎳鉻電池后備供電,即使電話線斷電也不會使已輸入的數(shù)據(jù)丟失。該機除用于防盜報警外,若對軟件進行

34、一些(論文)警電路,其工作原理前面已作詳細介紹。3.11 15 第 15 頁 34頁 修改,也可通過電話線進行遠程數(shù)據(jù)傳遞。三極管T1、T2及電阻R1、R2構(gòu)成撥號及報6 系統(tǒng)軟件設計6.1 主程序設計主程序的工作過程為:現(xiàn)行初始化工作,隨后根據(jù)輸入的鍵值分別散轉(zhuǎn)至對應的子程序(關(guān)機、警戒工作、輸入時間t1、輸入時間t2、輸入電話號碼)循環(huán)工作。T0為100ms定時中斷服務子程序,它實現(xiàn)精確的撥號脈沖時序。INT0外中斷服務值子函數(shù)用于實現(xiàn)功能選擇;而INT1外中斷服務子函數(shù)則檢測防盜器觸發(fā)開關(guān)的狀態(tài)。4.11 主程序狀態(tài)流程圖如圖6.1所示。圖6.1 主程序狀態(tài)流程圖/*-主函數(shù)-*/voi

35、d main()(論文) 16 第 16 頁 34頁 init_timer(); /*定時器T0初始化*/ EA=1;EX0=1; /*開總中斷,開外中斷0*/ P3_0=0; /*關(guān)閉線路(掛機)*/ P3_1=0;while(1) /*無限循環(huán)*/ switch(set) /*根據(jù)Set標志散轉(zhuǎn)*/ case 0:stop();break; /*關(guān)機*/case 1:work();break; /*警戒工作*/case 2:in_time1();break; /*輸入時間t1*/case 3:in_time2();break; /*輸入時間t2*/case 4:in_data();brea

36、k; /*輸入電話號碼*/ default:break;if(flag!=0x55) /*若flag標志變化,數(shù)碼管顯示E(錯誤)*/ P1=0x86;delay(1);6.2 變量定義及初始化模塊程序設計時需設立3個數(shù)組DATA20、X3、Y3。DATA20用于存放電話號碼(最長20位),X3用于存放時間t1(000-999s),Y3用于時間t2(000-999s).另外還要設立三個軟件計數(shù)器data_flag、t1_flag、t2_flag。Data_flag用于統(tǒng)計輸入的電話號碼位長,t1_flag用于統(tǒng)計輸入時間t1位長,t2_flag用于統(tǒng)計輸入時間t2位長。6.7uchar DAT

37、A20; /* 存放電話號碼的數(shù)組*/ uchar X3; /*存放時間t1數(shù)組*/ uchar Y3; /*存放時間t2數(shù)組*/ uchar flag; /*RAM區(qū)防干擾標志*/ uchar data_flag=0; /*輸入電話號碼計數(shù)器(最長二十位)*/ uchar set=0; /*功能鍵值*/uchar m=0; /全局變量uchar n=0;uint f;uchar t1_flag=0; /*輸入時間1計數(shù)器(最長三位)*/ uchar t2_flag=0; /*輸入時間2計數(shù)器(最長三位)*/ uchar cnt_1=0; /*時間t1單元數(shù)學運算后暫存單元*/ uchar c

38、nt_2=0; /*時間t2單元數(shù)學運算后暫存單元*/ void delay(uint k); /*延時子函數(shù)聲明*/void stop(); /*關(guān)機子函數(shù)聲明*/(論文)void bh(); /*撥號子函數(shù)聲明*/*定時器T0初始化*/void init_timer()TMOD=0x01;TH0=-(50000/256);TL0=-(50000%256);IE=0x82; 17 第 17 頁 34頁6.3 啟動子程序模塊/*-啟動報警器進入警戒工作-*/4.12void work() uchar h;P1=0xdf; /*數(shù)碼管左上角顯示"1"*/ delay(1);i

39、f(set=1) /*進入時間1循環(huán)*/while(cnt_1<=X0*100+X1*10+X2)delay(1000);cnt_1+; /*計數(shù)器cnt_1累加*/ if(set!=1)EX1=0;cnt_1=0;break; /*如按下Set鍵,則退出此循環(huán)*/ else EX1=0;PCON=0x00;/*Set不為1,則關(guān)閉外中斷1,退出待機狀態(tài)*/if(set=1)if(cnt_1>=X0*100+X1*10+X2)EX1=1;cnt_1=0; /*時間1到,打開外中斷1,計數(shù)器歸零*/ /*進入待機。若有1秒以上開關(guān)動作,退出待機*/while(1)PCON=0x01;

40、if(f>=5)PCON=0x00;break;/*-*/ EX1=0; /*關(guān)閉外中斷1*/if(set=1) /*進入時間2循環(huán)*/while(cnt_2<=Y0*100+Y1*10+Y2)delay(1000);cnt_2+; /*計數(shù)器cnt_2累加*/if(set!=1)cnt_2=0;break; /*如按下Set鍵,則退出此循環(huán)*/ if(set=1)(論文) 18 第 18 頁 34頁 bh(); /*時間2到,調(diào)用撥號子程序*/ delay(3000);P3_7=0;/控制輸出端為低for(h=0;h<60;h+) /*發(fā)出60秒警音*/ for(f=0;f

41、<500;f+)f+;P3_1=!P3_1;P1=0x5f;delay(1);P3_1=0;P1=0x7f;delay(500);P3_7=1;/控制輸出端恢復高cnt_1=0;cnt_2=0; /*有關(guān)計數(shù)器、端口回到初始狀態(tài)*/ P3_0=0;P3_1=0;P1_7=1;for(f=0;f<3;f+)delay(60000);/*關(guān)閉3分鐘,以便進行電話報警*/ 6.4 撥號脈沖子程序模塊圖6.2撥號脈沖子程序框圖(論文)斷對方是否摘機來決定是否撥打下一個電話號碼。4.7 19 第 19 頁 34頁 撥號脈沖子程序首先判斷號碼是否有效,如有效,則進入下一步;第二步通過判/*-撥

42、號-*/void bh()data_flag=0; /*電話號碼計數(shù)器(二十位)歸零*/ P3_0=1; /*接通線路*/P1_7=0; /*數(shù)碼管小數(shù)點亮*/ delay(1000);while(DATAdata_flag<10) /*號碼小于10進入循環(huán)撥號狀態(tài)*/ if(DATAdata_flag=0) /*若號碼為0*/TR0=1; /*啟動T0定時器*/ if(n=20)data_flag+; /*進行20次中斷,產(chǎn)生10個脈沖*/ n=0;TR0=0;P3_0=1;P1_7=0;delay(500);if(DATAdata_flag>0) /*若號碼>0*/TR0

43、=1; /*啟動T0定時器*/ if(n=(DATAdata_flag)*2)/*進行號碼x2次中斷,產(chǎn)生號碼個脈沖*/ data_flag+;n=0;TR0=0;P3_0=1;P1_7=0;delay(500);TR0=0;6.5 INT0外中斷服務子函數(shù)(論文)20 第 20 頁 34頁圖6.3 INT0外中斷服務子函數(shù)狀態(tài)流程INT0外中斷服務子函數(shù)用來間斷set是否按下,如按下則set鍵加1,當鍵值大于等于5時,鍵值就會回到0,并且系統(tǒng)進入低功耗待機狀態(tài)。7.12 /*INT0中斷服務子函數(shù)*/void zd_int0()interrupt 0delay(10);if(P3_2=0)s

44、et+; /功能鍵值遞增if(set>=5)set=0; /鍵值的范圍04if(set=1)flag=0x55; /向RAM區(qū)的標志flag寫入55HPCON=0x00;f=8;again:if(P3_2=0)goto again; /若按鍵未釋放,則等待 6.6 INT1外中斷服務子函數(shù)(論文)21 第 21 頁 34頁圖6.4 INT1外中斷服務子函數(shù)狀態(tài)流程INT1外中斷服務子函數(shù)主要用來查詢門控開關(guān),它對門控開關(guān)進行多次查詢,直到第10次為止。6/*INT1中斷服務子函數(shù)*/void zd_int1()interrupt 2uchar h;f=0;for(h=0;h<10;

45、h+) /*檢查磁性開關(guān)(P3_3狀態(tài))10次,共1秒*/delay(100);if(P3_3=0)f+;6.7 關(guān)機子程序模塊關(guān)機子程序模塊用以完成電話撥號防盜報警器進入待機工作狀態(tài)的任務(退出警戒),以實現(xiàn)主人回家后使其不再進行警戒。4/*-關(guān)機-*/void stop()if(flag=0x55)P1=0xfb;else P1=0x86; /數(shù)碼管右下角顯示"1"。 delay(1);if(flag=0x55)PCON=0x01; /*進入節(jié)電待機狀態(tài)*/delay(1);6.8 完整代碼(論文) 22 第 22 頁 34頁 #include <AT89x051

46、.H> /器件配置文件#define uchar unsigned char /變量類型的宏定義#define uint unsigned intuchar code DATA_7SEG10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,;/*0-9數(shù)碼管段碼*/ uchar DATA20; /* 存放電話號碼的數(shù)組*/ uchar X3; /*存放時間t1數(shù)組*/ uchar Y3; /*存放時間t2數(shù)組*/ uchar flag; /*RAM區(qū)防干擾標志*/ uchar data_flag=0; /*輸入電話號碼計數(shù)器(最長二十位

47、)*/ uchar set=0; /*功能鍵值*/uchar m=0; /全局變量uchar n=0;uint f;uchar t1_flag=0; /*輸入時間1計數(shù)器(最長三位)*/ uchar t2_flag=0; /*輸入時間2計數(shù)器(最長三位)*/ uchar cnt_1=0; /*時間t1單元數(shù)學運算后暫存單元*/ uchar cnt_2=0; /*時間t2單元數(shù)學運算后暫存單元*/ /*/ void delay(uint k); /*延時子函數(shù)聲明*/void stop(); /*關(guān)機子函數(shù)聲明*/void bh(); /*撥號子函數(shù)聲明*/*/*定時器T0初始化*/void i

48、nit_timer()TMOD=0x01;TH0=-(50000/256);TL0=-(50000%256);IE=0x82;/*/*100mS定時中斷服務子函數(shù)*/void zd0()interrupt 1P3_0=!P3_0; /P3.0每100ms取反一次,送出脈沖 P1_7=!P1_7; /數(shù)碼管小數(shù)點同步閃爍n+;TH0=-(50000/256);TL0=-(50000%256);/*/*INT0中斷服務子函數(shù)*/void zd_int0()interrupt 0(論文) 23 第 23 頁 34頁 delay(10);if(P3_2=0)set+; /功能鍵值遞增if(set>

49、;=5)set=0; /鍵值的范圍04if(set=1)flag=0x55; /向RAM區(qū)的標志flag寫入55HPCON=0x00;f=8;again:if(P3_2=0)goto again; /若按鍵未釋放,則等待/*/*INT1中斷服務子函數(shù)*/void zd_int1()interrupt 2uchar h;f=0;for(h=0;h<10;h+) /*檢查磁性開關(guān)(P3_3狀態(tài))10次,共1秒*/delay(100);if(P3_3=0)f+;/*/ /*-關(guān)機-*/void stop()if(flag=0x55)P1=0xfb;else P1=0x86; /數(shù)碼管右下角顯示

50、"1"。 delay(1);if(flag=0x55)PCON=0x01; /*進入節(jié)電待機狀態(tài)*/delay(1);/*/ /*延時1ms*K子函數(shù)*/void delay(uint k)uint i,j;for(i=0;i<k;i+)for(j=0;j<60;j+);/*/ /*-輸入時間t1-*/void in_time1()P1=0xf7;delay(1); /*數(shù)碼管顯示"一"*/ if(P3_5=0)(論文) 24 第 24 頁 34頁 delay(10); /*按下OK鍵確認并點亮小數(shù)點*/ if(P3_5=0)P1=0x7f;

51、m=0;t1_flag=0;delay(500);while(t1_flag<3)if(P3_4=0)delay(10);if(P3_4=0) /*按下UP鍵數(shù)碼管作0-9遞增顯示*/m+;if(m=10)m=0;P1=DATA_7SEGm;delay(300);P1=DATA_7SEGm;delay(1); /*若不按下UP鍵數(shù)碼管也作0-9顯示*/if(P3_5=0)delay(10);if(P3_5=0) /*按下OK鍵顯示的數(shù)據(jù)存入數(shù)組X中*/Xt1_flag=m;t1_flag+;P1=0x7f;delay(500);if(t1_flag>=3)t1_flag=0; /*

52、時間1計數(shù)器>=3時歸零*/ /*/ /*-輸入時間t2-*/void in_time2()P1=0xb7;delay(1); /*數(shù)碼管顯示"二"*/ if(P3_5=0)delay(10); /*按下OK鍵確認并點亮小數(shù)點*/ if(P3_5=0)P1=0x7f;m=0;t2_flag=0;delay(500);while(t2_flag<3)if(P3_4=0)delay(10);if(P3_4=0) /*按下UP鍵數(shù)碼管作0-9遞增顯示*/m+;if(m=10)m=0;P1=DATA_7SEGm;delay(300);P1=DATA_7SEGm;dela

53、y(1); /*若不按下UP鍵數(shù)碼管也作0-9顯示*/if(P3_5=0)(論文) 25 第 25 頁 34頁 delay(10);if(P3_5=0) /*按下OK鍵顯示的數(shù)據(jù)存入數(shù)組Y中*/Yt2_flag=m;t2_flag+;P1=0x7f;delay(500);if(t2_flag>=3)t2_flag=0; /*時間2計數(shù)器>=3時歸零*/ /*/ /*-輸入電話號碼-*/void in_data()uchar g;P1=0xb6;delay(1); /*數(shù)碼管顯示"三"*/ if(P3_5=0)delay(10);if(P3_5=0)P1=0x7f;m=0;data_flag=0; /*按下OK鍵確認并點亮小數(shù)點*/for(g=0;g<20;g+)DATAg=10;delay(500); /*同時DATA數(shù)組中全部寫入10*/while(1)if(P3_4=0)delay(10); /*按下UP鍵數(shù)碼管作0-9遞增顯示*/if(P3_4=0)m+;if(m=10)m=0;P1=DATA_7SEGm;delay(300);P1=DATA_7SEGm;delay(1);/*若不按下UP鍵數(shù)碼管也作0-9顯示*/if(P3_5=0)delay(10);if(P3_5=0

溫馨提示

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

評論

0/150

提交評論