家電失竊尋蹤器設(shè)計(jì)_第1頁(yè)
家電失竊尋蹤器設(shè)計(jì)_第2頁(yè)
家電失竊尋蹤器設(shè)計(jì)_第3頁(yè)
家電失竊尋蹤器設(shè)計(jì)_第4頁(yè)
家電失竊尋蹤器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE10哈爾濱工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)I-摘要隨著現(xiàn)代生活水平的不斷提高,人們的物質(zhì)生活也越來(lái)越豐富,每一戶(hù)人家都標(biāo)配著一臺(tái)臺(tái)的家電產(chǎn)品,這些家電對(duì)我們的生活便捷有著巨大的作用,也是它們?yōu)槲覀兲峁┝爽F(xiàn)代生活的基礎(chǔ)保障。然而人們對(duì)于這些家電產(chǎn)品的防盜意識(shí)還很薄弱,沒(méi)有意識(shí)到家電失竊也是有很大概率的。一旦失竊將會(huì)對(duì)家庭財(cái)產(chǎn)造成嚴(yán)重的損失,所以如何高效的尋回失竊的家電是很有必要的。家電失竊尋蹤器主要以STC89C52RC為主的51單片機(jī),利用GPS采集數(shù)據(jù),通過(guò)單片機(jī)對(duì)采集的數(shù)據(jù)進(jìn)行編譯從而獲取到當(dāng)前的經(jīng)緯度,記錄開(kāi)機(jī)后的第一個(gè)位置。當(dāng)前獲取的位置大于記錄位置一百米時(shí),使用無(wú)線通訊功能,通過(guò)手機(jī)短信的方式發(fā)送GPS當(dāng)前經(jīng)緯度到用戶(hù)預(yù)先設(shè)置好的電話號(hào)碼,之后按照用戶(hù)使用按鍵設(shè)置好短信發(fā)送的間隔時(shí)間來(lái)陸續(xù)發(fā)送短信,從而實(shí)現(xiàn)家電失竊后通過(guò)定時(shí)發(fā)送經(jīng)緯度的短信來(lái)追蹤所在的位置。本設(shè)計(jì)的開(kāi)發(fā)不僅在第一時(shí)間提醒了用戶(hù)家電的失竊,也為用戶(hù)能夠更加快速找回失竊的家電提供幫助,使得用戶(hù)可根據(jù)手機(jī)接收到失竊家電的準(zhǔn)確位置,在丟失后的第一時(shí)間找回失竊的家電。關(guān)鍵詞:51單片機(jī);無(wú)線通訊;GPS定位;STC89C52RCAbstractWiththecontinuousimprovementofmodernlivingstandards,people'smateriallifeisbecomingmoreandmoreabundant.Everyhouseholdisequippedwithasetofhomeappliances.Thesehomeapplianceshaveahugeeffectontheconvenienceofourlives.Providesthebasicguaranteeofmodernlife.However,people'sawarenessoftheftpreventionofthesehomeappliancesisstillveryweak,andtheydonotrealizethatthereisahighprobabilityoftheftofhomeappliances.Oncethetheftwillcauseseriousdamagetofamilyproperty,sohowtoefficientlyrecoverthestolenappliancesisnecessary.Thehomeappliancethefttrackerisa51singlechipmicrocomputermainlybasedonSTC89C52RC.ItusesGPStocollectdata,andcompilesthecollecteddatathroughthesingle-chipmicrocomputertoobtainthecurrentlatitudeandlongitude,andrecordsthefirstpositionafterbooting.Whenthecurrentlyacquiredpositionisonehundredmetersgreaterthantherecordedposition,usethewirelesscommunicationfunctiontosendthecurrentGPSlatitudeandlongitudetothephonenumberpresetbytheuserviamobilephonetextmessage,andthensenditinsuccessionaccordingtotheuser'suseofthebuttontosettheintervalbetweentextmessagesshortmessageservice,soastotrackthelocationbysendinglongitudeandlatitudeshortmessagesregularlyafterthehomeappliancesarestolen.Thedevelopmentofthisdesignnotonlyremindstheuserofthetheftofhomeappliancesinthefirsttime,butalsohelpsuserstoretrievethestolenhomeappliancesmorequickly,sothatuserscanreceivethestolenhomeappliances'accuratelocationaccordingtothemobilephone,andthefirsttimeaftertheloss.Recoverstolenappliances.Keywords:51singlechipmicrocomputerTelecommunicationsGPSlocationSTC89C52RC目錄TOC\o"1-3"\u摘要 IAbstract II第1章緒論 11.1課題背景 11.2目的和意義 21.3課題研究?jī)?nèi)容 3第2章方案選擇 42.1方案概述 42.2模塊的選擇 42.2.1單片機(jī)的選擇 42.2.2定位GPS模塊的選擇 52.2.3通訊模塊的選擇 62.2.4顯示模塊的選擇 72.2.5按鍵的選擇 7本章小結(jié) 8第3章硬件電路設(shè)計(jì) 93.1總體硬件設(shè)計(jì) 93.2單片機(jī)STC89C52RC 93.2.1單片機(jī)引腳 103.2.2單片機(jī)內(nèi)部原理 113.3電源電路設(shè)計(jì) 113.4定位GPS電路設(shè)計(jì) 123.5無(wú)線通訊電路設(shè)計(jì) 133.6按鍵模塊電路設(shè)計(jì) 133.7顯示模塊電路設(shè)計(jì) 14本章小結(jié) 14第4章軟件設(shè)計(jì) 154.1軟件總體運(yùn)行 154.2定位GPS程序 164.3顯示程序 184.4按鍵程序 214.5無(wú)線通訊程序 24本章小結(jié) 27第5章系統(tǒng)調(diào)試 285.1軟件Keil4測(cè)試 285.2功能調(diào)試 295.3數(shù)據(jù)測(cè)試 31本章小結(jié) 32結(jié)論 33致謝 錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn) 錯(cuò)誤!未定義書(shū)簽。附錄1譯文 錯(cuò)誤!未定義書(shū)簽。附錄2英文參考資料 錯(cuò)誤!未定義書(shū)簽。附錄3總體電路圖 錯(cuò)誤!未定義書(shū)簽。附錄4實(shí)物圖 錯(cuò)誤!未定義書(shū)簽。附錄5源程序 錯(cuò)誤!未定義書(shū)簽。第1章緒論1.1課題背景十九世紀(jì)末,人們進(jìn)入了“電氣時(shí)代”,隨著電力的產(chǎn)生,越來(lái)越多的人們?cè)跈C(jī)器上加以改進(jìn),使得人們的雙手從許多繁雜的工作中解脫了出來(lái)。到了1879年,隨著愛(ài)迪生發(fā)明出了白熾燈,人們也能在日常生活中使用帶電的“機(jī)器”了。直到二十世紀(jì)初,美國(guó)理查森發(fā)明的電熨斗正式出售,促使了其他家電產(chǎn)品的相繼問(wèn)世,洗衣機(jī)、電冰箱、電視、電飯煲應(yīng)運(yùn)而生,家用電器的名詞在人們的腦中產(chǎn)生,在二十一世紀(jì)的今天,家電產(chǎn)品再也不只是人們所熟悉的那些“老家電”了,越來(lái)越多的新家電走進(jìn)了人們的日常家庭生活中。人們常把家電分為四大類(lèi):白色家電,黑色家電,米色家電和新的綠色家電。白色家電意味著電器可以做一些家務(wù),而不是人們,還有電飯煲,電熨斗,電爐等,或電器,如凈水器,除濕機(jī)對(duì)生活質(zhì)量的提高;黑色家電是指設(shè)備提供現(xiàn)場(chǎng)娛樂(lè)表演,如:電視,VR,音響,游戲機(jī),數(shù)碼相機(jī);米色家電指電腦信息產(chǎn)品;綠色家電,指的是確保質(zhì)量合格,可以有效地使用和顯著節(jié)能家電,使用綠色家電的前提下,不會(huì)對(duì)人體造成危害和環(huán)境,綠色家電也可以回收利用退休后,充分節(jié)約資源。隨著社會(huì)的發(fā)展和人們消費(fèi)水平的不斷提升,家用電器成為了我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,各種家電產(chǎn)品也變得越來(lái)越高端,它們通常都很昂貴,但是很智能也很有效果。COLMOCRBT718變頻AI智能嵌入式家用冰箱,售價(jià)69999元,優(yōu)瑞723GIGAX8C現(xiàn)磨咖啡機(jī),售價(jià)59800元。這些昂貴的家電越來(lái)越多的進(jìn)入到我們的家庭中,可是人們往往對(duì)于家電產(chǎn)品的防盜意識(shí)卻不夠重視。對(duì)于家電的安全性來(lái)說(shuō),只能靠那一扇門(mén),可是這一扇門(mén),卻并不是那么的安全。所以,一旦發(fā)生家庭失竊事件,對(duì)于我們每一戶(hù)人家都是巨大的財(cái)產(chǎn)損失。不管是國(guó)內(nèi)還是國(guó)外,現(xiàn)在都提倡智能家居,所有家電產(chǎn)品都進(jìn)行聯(lián)網(wǎng),可以遠(yuǎn)程控制,家庭報(bào)警裝置也應(yīng)運(yùn)而生,但是這些都是處于預(yù)防的狀態(tài),一旦真的發(fā)生了失竊,這些裝置的安裝也只是擺設(shè)。對(duì)于如何找回這些失竊的家電產(chǎn)品,人們往往靠人力的偵查找回,可是通過(guò)這樣的方式找回卻進(jìn)展緩慢。為此,越來(lái)越多地家庭都安裝了攝像頭,智能家居,可是這樣也無(wú)法找到失竊的家電,可見(jiàn)一個(gè)能夠迅速找到丟失家電的裝置是多么的重要,為此而開(kāi)發(fā)一個(gè)能夠迅速判斷家電丟失并及時(shí)定位的機(jī)器是必不可少的。1.2目的和意義任何一項(xiàng)產(chǎn)品的開(kāi)發(fā)都有其目的,而它所針對(duì)的方向決定了用戶(hù)的范圍,本次的開(kāi)發(fā)設(shè)計(jì)主要就是面向大眾群體,受眾面廣,因?yàn)榧译娨呀?jīng)成為了每家每戶(hù)的標(biāo)配,不管是價(jià)格低廉還是昂貴,都已經(jīng)成為了每個(gè)家庭離不開(kāi)的物品,因此,本設(shè)計(jì)的開(kāi)發(fā)在日常生活中具有著實(shí)際意義。隨著第二次工業(yè)革命的出現(xiàn),家用電器進(jìn)入到了我們每戶(hù)家庭的日常生活中,人們?cè)谌粘5纳钪幸呀?jīng)越來(lái)越離不開(kāi)家用電器了,這些家用電器的功能越來(lái)越齊全,產(chǎn)品種類(lèi)也越來(lái)越多樣化,不止?jié)M足于基本功能,還在此基礎(chǔ)上拓展了多種多樣的功能,像一些娛樂(lè)功能,信息查詢(xún)功能,遙控功能,語(yǔ)音助手功能等等。這些品種齊全,樣式豐富,功能龐大的家電產(chǎn)品往往其價(jià)格也很昂貴,可是人們對(duì)于家用電器的安全卻沒(méi)有足夠的重視起來(lái),對(duì)于家電防盜的意識(shí)也基本沒(méi)有,這就造成了一旦丟失,往往都是很難找回的。對(duì)于家里遭到盜賊的偷竊,這樣的事件不在少數(shù)?,F(xiàn)在有些家庭會(huì)配有家庭防盜報(bào)警的設(shè)施,這樣的設(shè)備可能會(huì)嚇退一些盜賊,但是卻難以嚇走那些對(duì)此早有準(zhǔn)備的偷盜者。一旦這些報(bào)警器和大門(mén)成了擺設(shè),那么一些貴重而小巧的家電就會(huì)統(tǒng)統(tǒng)被搬走,人們的金錢(qián)損失也是極大的。對(duì)于如何找回這些失竊的昂貴家電,人們往往又沒(méi)有太多辦法,只能靠人力的問(wèn)詢(xún)以及報(bào)警處理。因此,如何在家電失竊后能夠快速的找到丟失的電器,對(duì)于人們來(lái)說(shuō)是如此迫不及待的。為了使得我們的生活越來(lái)越舒適,便捷生活的家電就成為了必不可少的。家里的電器配置也隨著生活水平的提高而提高,這些家電產(chǎn)品雖然功能越來(lái)越豐富了,但是它們的價(jià)格也越來(lái)越昂貴,也使得有些人盯上了這些昂貴的家電產(chǎn)品,它們通常組團(tuán)作案,盯住一戶(hù)人家后會(huì)對(duì)每日的生活規(guī)律進(jìn)行記錄,在家里沒(méi)人的時(shí)候進(jìn)行盜竊活動(dòng),盜取這些貴重的物品,甚至是搬空一整個(gè)家。每個(gè)人都不希望這種事情發(fā)生在自己的頭上,自己每天辛苦所得的結(jié)果就這樣被他人所竊取,而且對(duì)于接下來(lái)的尋找是非常耗費(fèi)心神,也是希望堪憂的。對(duì)于家電產(chǎn)品的失竊,我們可能沒(méi)有辦法去阻止,但是對(duì)于如何快速高效的追回那些失竊的家電產(chǎn)品,我們卻可以做到。在一些老人和小孩的身上經(jīng)常會(huì)發(fā)生走失事件,人們通常的做法是在身上掛有顯眼的家人聯(lián)系方式以方便好心人幫忙送回家??墒沁@樣的方法卻不保險(xiǎn),因此,在他們的手上帶上一塊具有定位追蹤功能的手表就方便多了。我們可以借鑒它的定位功能,設(shè)計(jì)一款家電失竊尋蹤器,將它安裝在家電產(chǎn)品的內(nèi)部,偷盜者也發(fā)現(xiàn)不了。將它開(kāi)機(jī)后第一次接收到的經(jīng)緯度進(jìn)行記錄,之后再將新接收到的經(jīng)緯度與記錄的經(jīng)緯度進(jìn)行對(duì)比,當(dāng)前最新位置大于記錄位置一百米的時(shí)候,將會(huì)判斷為家電失竊,機(jī)器將當(dāng)前位置發(fā)送到用戶(hù)預(yù)先設(shè)計(jì)好的手機(jī)上,這樣就可以在發(fā)生失竊事件后通過(guò)尋蹤器來(lái)找回失竊的家電了,也可以根據(jù)找到的失竊家電位置來(lái)找到這些盜竊者,可謂一舉兩得。1.3課題研究?jī)?nèi)容在家電失竊尋蹤器的設(shè)計(jì)上,首先制作出一套設(shè)計(jì)方案,以軟硬件相結(jié)合的方式完成整個(gè)GPS數(shù)據(jù)接收和顯示的過(guò)程。通過(guò)GPS來(lái)接收經(jīng)緯度,將第一次接收到的經(jīng)緯度記錄下來(lái),之后不斷與新接收到的接維度進(jìn)行對(duì)比,當(dāng)最新的位置超出記錄位置一百米的時(shí)候,無(wú)線通訊模塊向預(yù)先設(shè)置好的手機(jī)號(hào)碼發(fā)送經(jīng)緯度的短信,使用戶(hù)可以接收到丟失家電的最新位置,其主要研究?jī)?nèi)容如下。顯示部分:完成一臺(tái)能夠顯示用戶(hù)設(shè)置發(fā)送短信的時(shí)間。定位部分:主要通過(guò)GPS將觀測(cè)點(diǎn)到衛(wèi)星的距離,通過(guò)引腳串行口將測(cè)量值發(fā)送給單片機(jī),單片機(jī)根據(jù)定位公式計(jì)算位置點(diǎn)的經(jīng)緯度。按鍵部分:用戶(hù)通過(guò)按鍵可以自己設(shè)定尋蹤器發(fā)送位置的間隔時(shí)間。通訊部分:可以將經(jīng)緯度通過(guò)發(fā)送短信的方式令用戶(hù)接收到尋蹤器的經(jīng)緯度。第2章方案選擇在對(duì)課程進(jìn)行了深入的分析與調(diào)研后,形成了最終的設(shè)計(jì)方案,接下來(lái)會(huì)對(duì)關(guān)于本此的設(shè)計(jì)方案進(jìn)行詳細(xì)的分析。通過(guò)對(duì)系統(tǒng)的分析與構(gòu)思,最優(yōu)化的選擇我們所需的各個(gè)部件,從而使性?xún)r(jià)比達(dá)到最大化。2.1方案概述本次的畢業(yè)設(shè)計(jì)是關(guān)于家電失竊尋蹤器的實(shí)現(xiàn)方法,其主要功能是通過(guò)手機(jī)短信的方式向人們發(fā)送機(jī)器所在位置的經(jīng)緯度,從而達(dá)到定位與接收的功能。設(shè)計(jì)的關(guān)鍵是實(shí)現(xiàn)機(jī)器與手機(jī)之間的單工通信,通過(guò)SIM800A模塊,可以達(dá)到這一目的,再將GPS第一次所獲取的經(jīng)緯度進(jìn)行記錄,當(dāng)前位置大于記錄位置一百米時(shí),將當(dāng)前位置發(fā)送到手機(jī)上這個(gè)設(shè)計(jì)就可以實(shí)現(xiàn)。STC89C52RC系列使用51串行接口接收GPS信號(hào)接收模塊,采集的數(shù)據(jù)是由用戶(hù)定位算法來(lái)計(jì)算緯度和時(shí)間,和單片機(jī)連接LCD1602液晶顯示器,顯示器屏幕顯示發(fā)送倒計(jì)時(shí)的緯度和經(jīng)度。本設(shè)計(jì)的硬件是以51系列的單片機(jī)STC89C52RC為主,以GPS模塊和GSM短信通訊模塊為核心,以按鍵和LCD液晶顯示器為輔的一套設(shè)計(jì)。系統(tǒng)主要由GPS定位模塊、無(wú)線通訊模塊發(fā)送、鍵盤(pán)電路和顯示電路、單片機(jī)控制電路組成。2.2模塊的選擇由于本次畢業(yè)設(shè)計(jì)是以硬件為主,所以在通過(guò)了前期的設(shè)計(jì)后,也要針對(duì)這些所需要的模塊進(jìn)行對(duì)比與選擇,主要是單片機(jī)類(lèi)型的選擇,短信通訊模塊的選擇,GPS模塊的選擇,顯示器方面的選擇和按鍵的選擇。通過(guò)對(duì)同種類(lèi)分析與對(duì)比,結(jié)合開(kāi)發(fā)所需要的功能,選擇最適合我們的硬件。2.2.1單片機(jī)的選擇單片機(jī)誕生于20世紀(jì)70年代末,生產(chǎn)廠家眾多。如臺(tái)灣義龍公司的單芯片EMC,MICROCHIP公司的PIC單片機(jī),由STC生產(chǎn)的STC系列單芯片,ATMEL生產(chǎn)的MCU,根據(jù)本設(shè)計(jì)的需求,我選擇了STC89C52RC的單片機(jī),它的性?xún)r(jià)比高,價(jià)格也很便宜。而且我們所需的功能它都能滿(mǎn)足。STC89C52RCSTC是由低功率,高性能CMOS8位微控制器,具有8K字節(jié)可編程閃存系統(tǒng)產(chǎn)生的。STC89C52RC采用了經(jīng)典的MCS-51核心,但為了具有更加可用性,若干改進(jìn)常規(guī)特征的微控制器芯片51的微控制器,具有STC89C52具有智能可編程8位CPU和閃速存儲(chǔ)器系統(tǒng),例如STC89C52RC提供高度靈活的和超高效地解決許多嵌入式控制應(yīng)用。如圖2-1所示STC89C52RC模塊。圖2-1單片機(jī)STC89C52C模塊圖2.2.2定位GPS模塊的選擇GPS是全球定位系統(tǒng)(GPS)。總之,這是一個(gè)由24覆蓋全球衛(wèi)星的system.Can隨時(shí)確保系統(tǒng),四顆衛(wèi)星可以在同一時(shí)間觀察到,在地球上的任何一點(diǎn),以保證衛(wèi)星可以收集到的經(jīng)度和緯度,海拔高度,導(dǎo)航定位,定時(shí)和其他功能的觀察點(diǎn)。而我所選擇的GPS模塊為郵票口封裝并與天線一體的V.KEL模塊組合在一起的插針式封裝。我所選擇的GPS模塊為兼容Arduino平臺(tái)的GPS模塊,它將GPS芯片與期待的陶瓷天線集成在了一起,安裝在一個(gè)小型的塑料盒內(nèi)。通過(guò)TinyGPS庫(kù),就可以在Arduino上獲取地理坐標(biāo)(包括經(jīng)緯度,海拔高度)、航速、航向、GMT時(shí)間信息。另外,刷新率也是一個(gè)GPS模塊的重要性能參數(shù)。手機(jī)使用的大多數(shù)GPS的為1Hz的刷新率,這意味著GPS只能得到一組數(shù)據(jù)每秒。但V.KELGPS模塊具有可調(diào)節(jié)的位置更新速率1-10Hz,大大減少了間隔信號(hào),以便它可以與使用的更嚴(yán)格的條件應(yīng)付,例如,快速移動(dòng)的汽車(chē),定位GPS模塊如圖2-2所示。圖2-2定位GPS模塊圖2.2.3通訊模塊的選擇無(wú)線模塊要求模塊制造商將基帶芯片、射頻、存儲(chǔ)芯片、電容器、電阻等組件集成在一起,組裝成具有特定功能的終端,進(jìn)行檢測(cè)和通信。這是硬件集成和軟件設(shè)計(jì),多種通信系統(tǒng)集成,滿(mǎn)足不同環(huán)境的需求,極大地簡(jiǎn)化了下游應(yīng)用vendors.Wireless通信模塊的工作是一種使用無(wú)線技術(shù)傳輸模塊,廣泛應(yīng)用于車(chē)輛監(jiān)控、遙控、遙測(cè)、小型無(wú)線網(wǎng)絡(luò)等領(lǐng)域。SIM800A模塊是SIMCOM的工業(yè)雙頻GSM/GPRS模塊,SIM800A雙頻900/1800MHZ的工作頻率,從而實(shí)現(xiàn)語(yǔ)音、短信、數(shù)據(jù)和傳真信息,如低功率傳輸。SIM800A雙頻GSM/GPRS模塊,他是SMT組裝作為一個(gè)整體。性能穩(wěn)定,外觀緊湊,性?xún)r(jià)比高,能滿(mǎn)足各種用戶(hù)的需求。SIM800A無(wú)線通訊模塊如圖2-3所示。圖2-3無(wú)線通訊模塊圖2.2.4顯示模塊的選擇液晶顯示驅(qū)動(dòng)薄膜晶體管有源矩陣液晶顯示器(TFT)。是液晶分子的主要電流刺激點(diǎn),線,面,然后結(jié)合背光的一幅畫(huà)。液晶顯示器的工作原理是:在電場(chǎng)的作用下,通過(guò)改變液晶分子的排列方向來(lái)改變(調(diào)制)外光源的透光率,完成電光轉(zhuǎn)換。LCD液晶顯示器是LiquidCrystalDisplay的簡(jiǎn)稱(chēng),LCD的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細(xì)小電線,透過(guò)通電與否來(lái)控制桿狀水晶分子改變方向,將光線折射出來(lái)產(chǎn)生畫(huà)面。雖然LED要更加好一些,但是我們只需要看到調(diào)整的時(shí)間就行,而且LCD的功耗也小一些,所以最后還是選擇LCD比較適合一些。液晶顯示器LCD模塊圖如圖2-4所示。圖2-4液晶顯示器LCD模塊圖2.2.5按鍵的選擇在單片機(jī)中,常用的鍵有兩種:獨(dú)立按鍵和關(guān)鍵因素。它指的是單獨(dú)的鍵彼此獨(dú)立的每個(gè)鍵,每個(gè)鍵被連接到輸入線。通過(guò)輸入線的電平狀態(tài)的檢測(cè),很容易確定哪個(gè)鍵被按下。無(wú)關(guān)的鍵是由I/O口線直接配置的單個(gè)密鑰電路。它的特點(diǎn)是每個(gè)鍵占據(jù)的I/O口線,并且每個(gè)鍵的工作狀態(tài)不會(huì)影響其它的I/O口線。也就是說(shuō),對(duì)應(yīng)于鍵輸入的端口,每一個(gè)鍵,以確定它是否具有一個(gè)行列式鍵被壓下,也被稱(chēng)為矩陣鍵電路在許多應(yīng)用中被使用。它們由行和列線。鍵位于行和列的交叉點(diǎn)。在的多個(gè)按鈕的情況下,與各個(gè)鍵相比,鍵行列式節(jié)省大量的I/O口線。因此,綜合比較,因?yàn)檫@種設(shè)計(jì)只需要發(fā)送鍵,刪除鍵和翻頁(yè)鍵,所以沒(méi)有鍵選擇復(fù)雜的決定。因此,本設(shè)計(jì)選擇了獨(dú)立按鍵作為按鍵系統(tǒng)。獨(dú)立按鍵如圖2-5所示。圖2-5獨(dú)立按鍵圖本章小結(jié)本章首先對(duì)整個(gè)方案進(jìn)行了概述,通過(guò)整體的方案概述可以知道其具體實(shí)現(xiàn)的功能,然后再對(duì)各個(gè)功能的實(shí)現(xiàn)進(jìn)行拆分,對(duì)應(yīng)到相應(yīng)的硬件模塊上,最后對(duì)模塊的選擇進(jìn)行了對(duì)比分析,說(shuō)明了選擇當(dāng)前模塊的原因,也讓人更加清楚當(dāng)前各個(gè)硬件的模塊。第3章硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)方案是由GPS定位和GSM通訊模塊為核心,用戶(hù)可以遠(yuǎn)程接收到尋蹤器的位置,并且可以設(shè)置定時(shí)接收位置的時(shí)間,硬件的各個(gè)硬件模塊也都已經(jīng)確定下來(lái)了,針對(duì)各個(gè)模塊的功能以及設(shè)計(jì)方式將詳細(xì)的進(jìn)行劃分,并結(jié)合電路圖進(jìn)行說(shuō)明。3.1總體硬件設(shè)計(jì)此次設(shè)計(jì)的家電失竊尋蹤器主要功能就是通過(guò)按鍵和液晶顯示器調(diào)整、查看定時(shí)時(shí)間,GPS采集到數(shù)據(jù)后將數(shù)據(jù)發(fā)送給單片機(jī),單片機(jī)根據(jù)定位公式計(jì)算出當(dāng)前的經(jīng)緯度,記錄第一次的位置,當(dāng)前位置超過(guò)記錄位置一百米時(shí),開(kāi)始發(fā)送當(dāng)前位置。設(shè)計(jì)的倒計(jì)時(shí)為0時(shí)無(wú)線通訊模塊將位置的經(jīng)緯度發(fā)送到編程好的手機(jī)號(hào)上,以此來(lái)實(shí)現(xiàn)家電失竊后,通過(guò)這種方法快速定位。家電失竊尋蹤器硬件框架圖如圖3-1所示。SIMSIM800A短信模塊STC89C52RC單片機(jī)LCD1602顯示器GPS模塊鍵盤(pán)手機(jī)圖3-1家電失竊尋蹤器硬件框架圖3.2單片機(jī)STC89C52RC與日常生活中使用的計(jì)算機(jī)相比,單片機(jī)只能稱(chēng)為微電路集成系統(tǒng),其作用非常有限,只能處理一些簡(jiǎn)單的控制工作。單片機(jī)的應(yīng)用非常廣泛,大多數(shù)電器都是由單片機(jī)控制的。冰箱、空調(diào)、洗衣機(jī)、電視機(jī)等大型家用電器,小到遙控器、鼠標(biāo)、鍵盤(pán)、鬧鐘。它包含一個(gè)或多個(gè)微控制器。單片機(jī)廣泛應(yīng)用于儀器儀表,航空航天,家用電器,醫(yī)療設(shè)備等。智能設(shè)備的發(fā)展也離不開(kāi)單片機(jī),單片機(jī)的各種傳感器的也提出了一定的要求,由于廣泛的應(yīng)用,使得供應(yīng)鏈管理的發(fā)展越來(lái)越完善,所以出現(xiàn)了越來(lái)越多的先進(jìn)的微控制器。 STC89C52RCSTC是公司早期的工業(yè)生產(chǎn)的低功耗控制、高性能單片機(jī)。它的功能是控制各種傳感器和外圍設(shè)備,自行計(jì)算和處理數(shù)據(jù)和信號(hào),并進(jìn)行相應(yīng)的操作,從而在工業(yè)生產(chǎn)中發(fā)揮大腦的作用。單片機(jī)STC89C52RC電路原理圖如圖3-2所示。圖3-2單片機(jī)STC89C52RC電路原理圖3.2.1單片機(jī)引腳本次設(shè)計(jì)采用的STC89C52RC單片機(jī)有40個(gè)引腳,大致可分為四類(lèi):電源、時(shí)鐘、控制和I/O引腳,STC89C52RC采用雙列直插式封裝。單片機(jī)的引腳連接了單片機(jī)和傳感器等外圍設(shè)備,并提供通信通道。單片機(jī)只有通過(guò)引腳才能與傳感器等外圍設(shè)備進(jìn)行交互。但是,單片機(jī)的引腳數(shù)量有限。如何最大限度地發(fā)揮單片機(jī)的功能是具有重要的意義的。目前,通過(guò)改進(jìn)引腳的體積和外觀,采用雙功能或多功能引腳,豐富了單片機(jī)的功能,提高了單片機(jī)的可用性。因?yàn)槲覀兘酉聛?lái)的這些硬件設(shè)備設(shè)備都需要與單片機(jī)進(jìn)行連接,所以下面將根據(jù)管腳圖進(jìn)行詳細(xì)說(shuō)明。STC89C52RC單片機(jī)的封裝管腳圖如圖3-3所示。圖3-3單片機(jī)STC89C52RC封裝引腳圖3.2.2單片機(jī)內(nèi)部原理STC89C52C單片機(jī)內(nèi)部結(jié)構(gòu)比較復(fù)雜,雖然它只是一個(gè)微處理器,但“麻雀雖小五臟俱全”,具有處理器的所有基本結(jié)構(gòu)。包括時(shí)鐘芯片、定時(shí)器、ROM、閃存、RAM閃存、32個(gè)I/O端口、串行通信和CPU。它還有兩個(gè)16位定時(shí)器/計(jì)數(shù)器、兩個(gè)串行I/O端口、128字節(jié)RAM、4K字節(jié)ROM、64K總線擴(kuò)展控制。CPU型號(hào)為8051,外部有振蕩器和定時(shí)電路。3.3電源電路設(shè)計(jì)單片機(jī)系統(tǒng)電源的設(shè)計(jì)是一個(gè)重要的任務(wù)指標(biāo),單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,電源的精度和可靠性,直接影響整個(gè)系統(tǒng)的性能。單片機(jī)電源設(shè)計(jì)分為兩部分,數(shù)字和模擬電路設(shè)計(jì),本次主要是數(shù)字電源設(shè)計(jì)的設(shè)計(jì),以脈沖方式工作,電源的脈沖是更加突出。單片機(jī)電源采用直流5V電源,電源模塊包括3針腳電源插座和6針腳電源開(kāi)關(guān)。電源插座用于連接外部電源插頭,電源開(kāi)關(guān)用于控制整個(gè)單片機(jī)電路的通斷。電源插座的2口引腳接地,3口引腳只起固定作用,沒(méi)有特殊用途。1端口引腳連接到電源開(kāi)關(guān)的3端口引腳。電源開(kāi)關(guān)的1端口和3端口引腳與4端口和6端口引腳具有相同的功能,用于電源的正輸出。本次設(shè)計(jì)的電源電路原理圖如圖3-4所示。圖3-4電源電路原理圖3.4定位GPS電路設(shè)計(jì)本設(shè)計(jì)采用了GPS接收模塊完成,GPS模塊在這一階段的制造技術(shù)已經(jīng)相當(dāng)成熟,性能穩(wěn)定,易于使用,可通過(guò)串口輸出成功定位直接向微控制器模塊,以獲得當(dāng)前GPS位置。GPS模塊是一個(gè)射頻芯片,基帶芯片,在一個(gè)集成電路芯CPU和相關(guān)聯(lián)的外圍電路。GPS數(shù)據(jù)輸出格式標(biāo)準(zhǔn)的NMEA-0183標(biāo)準(zhǔn),以2秒/次的地理信息收集率,地圖坐標(biāo)系WGS-84坐標(biāo)系。本設(shè)計(jì)采用GPS定位模塊屬于系統(tǒng)的用戶(hù)部分。通過(guò)計(jì)算每個(gè)衛(wèi)星之間的距離,從該方法的交叉計(jì)算出接收機(jī)的緯度,經(jīng)度,高度和時(shí)間。圖3-5為定位GPS電路原理圖。圖3-5定位GPS電路原理圖3.5無(wú)線通訊電路設(shè)計(jì)STC89C52RC單片機(jī)通過(guò)GPS模塊采集數(shù)據(jù)后,通過(guò)定位公式來(lái)計(jì)算出用戶(hù)的當(dāng)前經(jīng)緯度,并通過(guò)SIM800A通信模塊發(fā)送到預(yù)先設(shè)定好的手機(jī)號(hào)碼。本設(shè)計(jì)采用的通信模塊為SIM800A,它具有體積小、價(jià)格低、短消息發(fā)送時(shí)間快等特點(diǎn)。SIM800A工作頻率為GSM/GPRS900/1800MHz,可以低功耗實(shí)現(xiàn)語(yǔ)音、SMS和數(shù)據(jù)信息的傳輸。SIM800A尺寸為24×24×3mm,能適用于各種緊湊型產(chǎn)品設(shè)計(jì)需求。它廣泛應(yīng)用于通信設(shè)備中。電路中連接了二極管,是為了防止大反向電流在短時(shí)間發(fā)送后使芯片崩潰。1000uf的電解電容為短消息的發(fā)送提供了充分的條件。采用串行通信。無(wú)線通訊電路原理圖如圖3-6所示。圖3-6無(wú)線通訊模塊電路原理圖3.6按鍵模塊電路設(shè)計(jì)在嵌入式系統(tǒng)產(chǎn)品的開(kāi)發(fā),設(shè)計(jì)的關(guān)鍵是最基本的問(wèn)題是該項(xiàng)目的評(píng)估階段必須加以考慮。有很多方法來(lái)實(shí)現(xiàn)自己的具體使用那種需要的IO,具體可用IC的數(shù)量,并考慮到成本的組合,做出最終選擇。按鍵其實(shí)就是一個(gè)開(kāi)關(guān)電路,按下為導(dǎo)通,松開(kāi)為斷開(kāi)。電路實(shí)現(xiàn)上,就是要設(shè)法能夠區(qū)分多個(gè)按鍵中任意一個(gè)有沒(méi)有被按下。單片機(jī)的關(guān)鍵控制電路由一個(gè)并聯(lián)的微動(dòng)開(kāi)關(guān)組成。按鍵的一段與單片機(jī)的雙向I/O口相連,另一端接地。當(dāng)按鍵開(kāi)關(guān)處于打開(kāi)狀態(tài)時(shí),I/O引腳和接地?cái)嚅_(kāi),I/O引腳處于高電平狀態(tài)。按下該鍵時(shí),I/O引腳接地,高電平設(shè)置為低電平,低電平信號(hào)返回至MCU。按鍵開(kāi)關(guān)的檢測(cè)原理是高低電平檢測(cè)。按鍵開(kāi)關(guān)不可避免地會(huì)由于其切換時(shí)間而產(chǎn)生誤差。因此,在編寫(xiě)按鍵功能時(shí),有必要編寫(xiě)額外的抖振功能,以提高精度。圖3-7為按鍵控制電路原理圖。圖3-7按鍵控制電路原理圖3.7顯示模塊電路設(shè)計(jì)LCD1602設(shè)計(jì)使用液晶顯示器作為輸出。LCD1602液晶顯示器的液晶產(chǎn)業(yè)特征。從名字可以看出,有兩行輸出顯示,每行16個(gè)字符,可以同時(shí)顯示或16×232個(gè)字符。LCD1602液晶使用液晶顯示器的特點(diǎn),顯示是通過(guò)改變電壓的控制區(qū)域,最后想要的圖形或數(shù)字顯示。LCD1602液晶顯示器不僅可以顯示數(shù)字,還可以顯示符號(hào)和字母。當(dāng)本設(shè)計(jì)的顯示器模塊與單片機(jī)通信時(shí),顯示器模塊與P0口連接,并與中間的上拉電阻連接,本設(shè)計(jì)LCD1602液晶顯示器是顯示用戶(hù)設(shè)置的時(shí)間。顯示模塊電路原理圖如圖3-8所示。圖3-8顯示模塊電路原理圖本章小結(jié)本章首先對(duì)整體的電路設(shè)計(jì)進(jìn)行了說(shuō)明,了解了具體的每一項(xiàng)功能,然后針對(duì)主要實(shí)現(xiàn)功能的電路進(jìn)行一個(gè)個(gè)的設(shè)計(jì),最后結(jié)合其相應(yīng)的電路圖,使人們能夠更加清晰明了的看懂各個(gè)電路的設(shè)計(jì),為整個(gè)硬件的設(shè)計(jì)做出了具體的實(shí)施方案。第4章軟件設(shè)計(jì)整個(gè)作品的設(shè)計(jì)離不開(kāi)軟件的部分,通過(guò)軟硬件結(jié)合的方式可以實(shí)現(xiàn)尋蹤器的整體功能,因此,下面會(huì)對(duì)軟件編程部分進(jìn)行分析與實(shí)現(xiàn),軟件的主要部分包含GPS數(shù)據(jù)采集,SIM800A短信模塊,按鍵功能實(shí)現(xiàn)和單片機(jī)的處理方式。4.1軟件總體運(yùn)行當(dāng)整個(gè)系統(tǒng)運(yùn)行時(shí),GPS模塊開(kāi)始運(yùn)行。它采集觀測(cè)點(diǎn)到衛(wèi)星的距離,并通過(guò)引腳串行口將測(cè)量值發(fā)送給單片機(jī)。單片機(jī)根據(jù)定位公式計(jì)算點(diǎn)的經(jīng)緯度、時(shí)間等信息,將第一次接收的位置記錄。單片機(jī)的串行口與LCD1602液晶顯示器相連,分別顯示小時(shí)、分鐘和秒信息。單片機(jī)總是檢測(cè)當(dāng)前位置,當(dāng)前位置大于記錄位置一百米時(shí),單片機(jī)控制SIM800A向設(shè)定的手機(jī)號(hào)碼發(fā)送信息,并在手機(jī)上顯示經(jīng)緯度信息。整個(gè)主程序流程圖如圖4-1所示。記錄當(dāng)前位置開(kāi)始記錄當(dāng)前位置開(kāi)始GPSGPS獲取經(jīng)緯度是否是第一次獲取位置?是否是第一次獲取位置?是否否是否大于記錄位置是否大于記錄位置100米?否是是發(fā)送當(dāng)前位置到手機(jī)發(fā)送當(dāng)前位置到手機(jī)按照用戶(hù)設(shè)置的間隔時(shí)間發(fā)送位置按照用戶(hù)設(shè)置的間隔時(shí)間發(fā)送位置結(jié)束結(jié)束圖4-1主程序流程圖4.2定位GPS程序首先初始化整個(gè)單片機(jī)系統(tǒng),然后初始化我們所使用的模塊,對(duì)中斷寄存器和初始值存儲(chǔ)定時(shí)器進(jìn)行初始化。定時(shí)器的主要功能是在A/D轉(zhuǎn)換時(shí)占用一點(diǎn)時(shí)間。本設(shè)計(jì)預(yù)計(jì)使用四個(gè)串行端口,分別是4G模塊——usart1、GPS——usart2、BL——usart3、debug——uart4gps。首先,初始化串行端口。接下來(lái),開(kāi)啟串行口時(shí)鐘RCC﹣apb1periphclockcmd(RCC﹣apb1periph﹣usart2,enable)。然后設(shè)置GPIO端口模式,定位GPS數(shù)據(jù)采集流程如圖4-2所示。開(kāi)始接收時(shí)間開(kāi)始接收時(shí)間接收經(jīng)緯度GPS初始化否是否接收到否是否接收到了幀頭數(shù)據(jù)?是結(jié)束結(jié)束圖4-2定位GPS數(shù)據(jù)采集流程圖其GPS程序設(shè)計(jì)代碼如下:#include"GPS.h"#include<string.h>staticucharGetComma(ucharnum,char*str);staticintGet_Int_Number(char*s);staticdoubleGet_Double_Number(char*s);staticfloatGet_Float_Number(char*s);staticvoidUTC2BTC(DATE_TIME*GPS);intGPS_RMC_Parse(char*line,GPS_INFO*GPS){ucharch,status,tmp;floatlati_cent_tmp,lati_second_tmp;floatlong_cent_tmp,long_second_tmp;floatspeed_tmp;char*buf=line;ch=buf[5];status=buf[GetComma(2,buf)];if(ch=='C')//如果第五個(gè)字符是C,($GPRMC){if(status=='A')//如果數(shù)據(jù)有效,則分析{GPS->NS=buf[GetComma(4,buf)];GPS->EW=buf[GetComma(6,buf)];GPS->latitude=Get_Double_Number(&buf[GetComma(3,buf)]);GPS->longitude=Get_Double_Number(&buf[GetComma(5,buf)]);GPS->latitude_Degree=(int)GPS->latitude/100;//分離緯度lati_cent_tmp=(GPS->latitude-GPS->latitude_Degree*100);GPS->latitude_Cent=(int)lati_cent_tmp;lati_second_tmp=(lati_cent_tmp-GPS->latitude_Cent)*60;GPS->latitude_Second=(int)lati_second_tmp;GPS->longitude_Degree=(int)GPS->longitude/100;//分離經(jīng)度long_cent_tmp=(GPS->longitude-GPS->longitude_Degree*100);GPS->longitude_Cent=(int)long_cent_tmp;long_second_tmp=(long_cent_tmp-GPS->longitude_Cent)*60;GPS->longitude_Second=(int)long_second_tmp;speed_tmp=Get_Float_Number(&buf[GetComma(7,buf)]);//速度(單位:海里/時(shí))GPS->speed=speed_tmp*1.85;//1海里=1.85公里GPS->direction=Get_Float_Number(&buf[GetComma(8,buf)]);//角度GPS->D.hour=(buf[7]-'0')*10+(buf[8]-'0'); //時(shí)間GPS->D.minute=(buf[9]-'0')*10+(buf[10]-'0');GPS->D.second=(buf[11]-'0')*10+(buf[12]-'0');tmp=GetComma(9,buf);GPS->D.day=(buf[tmp+0]-'0')*10+(buf[tmp+1]-'0');//日期GPS->D.month=(buf[tmp+2]-'0')*10+(buf[tmp+3]-'0');GPS->D.year=(buf[tmp+4]-'0')*10+(buf[tmp+5]-'0')+2000;UTC2BTC(&GPS->D);return1;}}return0;}4.3顯示程序本設(shè)計(jì)主要通過(guò)顯示模塊部分使用戶(hù)能觀看到自己設(shè)置短信發(fā)送的時(shí)間,可使用戶(hù)自由的設(shè)置每次短信發(fā)送的時(shí)間間隔。在系統(tǒng)初始化完成后,處理器將要顯示的數(shù)據(jù)信息進(jìn)行采集,處理器發(fā)出命令調(diào)用相關(guān)的公式,將系統(tǒng)要體現(xiàn)的信息和結(jié)果顯示出來(lái)。將LCD1602液晶顯示器通電后,首先執(zhí)行初始化操作,清除屏幕,清除內(nèi)部存儲(chǔ)器。之后,它與單片機(jī)雙向通信。單片機(jī)控制顯示屏的亮度和顯示內(nèi)容。經(jīng)過(guò)一定的延時(shí)后,檢測(cè)到的時(shí)間顯示在液晶屏上。MCU控制寫(xiě)入引腳,顯示命令內(nèi)容。然后顯示屏執(zhí)行顯示內(nèi)容的命令。液晶顯示器的流程圖如圖4-3所示。LCDLCD獲取數(shù)據(jù)顯示數(shù)據(jù)開(kāi)始結(jié)束是是LCDLCD清屏?否單片機(jī)向單片機(jī)向LCD寫(xiě)數(shù)據(jù)圖4-3顯示程序流程圖顯示程序設(shè)計(jì)代碼如下:#include"common.h"#include "lcd.h"http://unsignedcharcodetemp_C[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00};//自定義字符攝氏度#defineLCD1602_DELAY_MS1voidLCD1602_DectectBusyBit(void){LCD_BUS=0xff;//讀狀態(tài)值時(shí),先賦高電平RS=0;RW=1;//從液晶讀數(shù)據(jù)EN=1;delay_ms(1);while(LCD_BUS&0x80);//若LCD忙,停止到這里,否則走起EN=0;//之后將EN初始化為低電平}/*******************************************************************LCD1602驅(qū)動(dòng)*******************************************************************/voidLCD1602_write_cmd(unsignedintcom) //LCD寫(xiě)指令{RS=0; //RS為0LCD_BUS=com; //裝載指令delay_ms(LCD1602_DELAY_MS); //延時(shí)5msEN=1; //LCD使能delay_ms(LCD1602_DELAY_MS); //延時(shí)5msEN=0; //LCD不使能}voidLCD1602_write_data(unsignedchardat) //LCD寫(xiě)數(shù)據(jù){RS=1; //RS為1LCD_BUS=dat; //裝載數(shù)據(jù)delay_ms(LCD1602_DELAY_MS); //延時(shí)5msEN=1; //LCD使能delay_ms(LCD1602_DELAY_MS); //延時(shí)5msEN=0; //LCD不使能}voidLCD1602_Initialize(void) //LCD初始化{BG=0;//背光開(kāi)EN=0; //LCD不使能RW=0; //RW為0LCD1602_write_cmd(0x38); //發(fā)送初始化指令delay_ms(5); //延時(shí)5msLCD1602_write_cmd(0x38); //發(fā)送初始化指令delay_ms(5); //延時(shí)5msLCD1602_write_cmd(0x38); //發(fā)送初始化指令delay_ms(5); //延時(shí)5msLCD1602_write_cmd(0x0c); //發(fā)送初始化指令delay_ms(5); //延時(shí)5msLCD1602_write_cmd(0x06); //發(fā)送初始化指令delay_ms(5); //延時(shí)5msLCD1602_write_cmd(0x01); //發(fā)送初始化指令delay_ms(5); //延時(shí)5ms//LCD1602_Set_CustomSymbol(SYMBOL_ADDR_TMP,temp_C,8);}4.4按鍵程序按鍵部分與液晶顯示器部分是體現(xiàn)與用戶(hù)進(jìn)行交互行為的重要組成部分,液晶顯示器部分為輸出部分,即用戶(hù)可看到結(jié)果顯示,而按鍵部分則為輸入部分,用戶(hù)通過(guò)按鍵才可設(shè)置或調(diào)改結(jié)果,本設(shè)計(jì)采用的是獨(dú)立按鍵,因此需要連接不同的引腳。按鍵電路有四個(gè)引腳。兩個(gè)是一樣的。當(dāng)我們連接電路時(shí),只需要連接兩個(gè)管腳。遠(yuǎn)距離工作實(shí)際上是一種高電平和低電平的信號(hào)檢測(cè)。當(dāng)我們按鍵時(shí),MCU引腳的I/O端口將被檢測(cè)為低電平。這些I/O端口電平特性的變化將執(zhí)行相應(yīng)的功能操作。判斷按鍵是否按if(K1==0){While(K1==0)}搖動(dòng)。此時(shí),單片機(jī)控制SIM800A模塊將經(jīng)緯度、時(shí)間等信息以短信的形式發(fā)送到手機(jī)上。按鍵程序流程圖如圖4-4所示。設(shè)置相關(guān)信息設(shè)置相關(guān)信息開(kāi)始延遲按鍵是否按鍵是否被按下?否是否按鍵是否否按鍵是否被按下?是設(shè)置相關(guān)信息設(shè)置相關(guān)信息開(kāi)始延遲結(jié)束結(jié)束圖4-4按鍵流程圖按鍵程序設(shè)計(jì)如下:#include"common.h"#include"uart.h"#defineNONE_PARITY0//Noneparity#defineODD_PARITY1//Oddparity#defineEVEN_PARITY2//Evenparity#defineMARK_PARITY3//Markparity#defineSPACE_PARITY4//Spaceparity#definePARITYBITNONE_PARITY//Testingevenparitybitbusy;unsignedchar xdataRX1_Buffer[COM_RX1_Lenth]; //接受緩存區(qū)ucharxdatarev_start=0;//接收開(kāi)始標(biāo)志ucharxdatarev_stop=0;//接收停止標(biāo)志ucharxdatagps_flag=0;ucharxdatanum=0;bitgsm_rev_start=0;bitgsm_rev_okflag=0;externbitGPS_rx_flag;voiduart_int(void)interrupt4using1{if(RI){ucharch;RI=0;ch=SBUF;if(GPS_rx_flag==0){if((ch=='O')&&(gsm_rev_okflag==0)){gsm_rev_start=1;}if(gsm_rev_start){if(ch=='K'){gsm_rev_okflag=1;gsm_rev_start=0;}}}else{if((ch=='$')&&(gps_flag==0)){rev_start=1;rev_stop=0;}if(rev_start==1)//標(biāo)志位為1,開(kāi)始接收{(diào)RX1_Buffer[num++]=ch;//字符存到數(shù)組中if(ch=='\n') //如果接收到換行{RX1_Buffer[num]='\0';rev_start=0;rev_stop=1;gps_flag=1;num=0;}}}}4.5無(wú)線通訊程序無(wú)線通訊程序設(shè)計(jì)是整個(gè)設(shè)計(jì)中最重要的一環(huán),之前的各個(gè)模塊以及程序設(shè)計(jì)都是為了保證短信發(fā)出的正確性,只有前面的經(jīng)緯度接收成功,并且最新位置超出距離,單片機(jī)才會(huì)通過(guò)SIM800A通信模塊將檢測(cè)到的經(jīng)緯度和時(shí)間信息發(fā)送到指定的手機(jī)上。首先,打開(kāi)中斷,然后判斷是否有串行中斷1。如果有,則執(zhí)行PDU編碼,然后將相應(yīng)的短信發(fā)送到手機(jī)。如果傳輸成功,它將結(jié)束。如果傳輸失敗,將再次發(fā)送,超過(guò)三次等待待一會(huì)兒。如果沒(méi)有串行中斷1,判斷是否有串行中斷2。如果有已讀SIM卡,則對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,將數(shù)據(jù)發(fā)送到串行端口1,刪除短信,然后完成。其工作流程如圖4-5所示。重發(fā)超重發(fā)超過(guò)3次?進(jìn)行PDU編碼發(fā)送短信成功?發(fā)送數(shù)據(jù)到串口1讀SIM卡數(shù)據(jù)解碼刪除SMS短信開(kāi)中斷有串行終斷1?有串行終斷2?等待一段時(shí)間開(kāi)始結(jié)束是否否否是否是否是是否是否是圖4-5無(wú)線通訊流程圖無(wú)線通訊程序設(shè)計(jì)如下:#include<string.h>#ifndef__GSM_H_#define__GSM_H_/**number*/voidgsm_send_englishmsg(char*number,char*content)//GSM發(fā)送短信{//發(fā)送短信 //memset(gsm_at_txbuf,0,sizeof(gsm_at_txbuf)); Uart_SendString2("AT\r\n");delay_ms(100); Uart_SendString2("AT+CSCS=\"GSM\"\r\n");delay_ms(100); Uart_SendString2("AT+CMGF=1\r\n");delay_ms(100); Uart_SendString2(number);delay_ms(100); //sprintf(gsm_at_txbuf,"AT+CMGS=\"%s\"\r\n",number);//Uart_SendString(gsm_at_txbuf,SERIAL_AUTO_LEN);delay_ms(300);//發(fā)短信內(nèi)容Uart_SendString2(content);delay_ms(10);//發(fā)送結(jié)束符號(hào)uart_write2buff(0x1A);delay_ms(10);}#endifif(sendflag==1)//發(fā)送短信 { sendflag=0; gsm_send_englishmsg(SEND_NUMBER,send_data);//發(fā)送位置短信 delay_ms(1000); delay_ms(1000); LCD1602_DisplayString(0,0,"SENDOK"); delay_ms(1000); LCD1602_DisplayString(0,0,""); }}本章小結(jié)軟件的設(shè)計(jì)是必不可少的,沒(méi)有軟件的驅(qū)動(dòng),整個(gè)硬件就像是個(gè)擺設(shè),本章首先介紹了主體的軟件設(shè)計(jì),然后又逐個(gè)的對(duì)功能進(jìn)行分解,每個(gè)功能的具體編程方法都分別進(jìn)行了說(shuō)明,最后可以使大家都清楚地了解每個(gè)功能的運(yùn)行及實(shí)現(xiàn)方法。第5章系統(tǒng)調(diào)試在整個(gè)系統(tǒng)調(diào)試過(guò)程中,可能在設(shè)計(jì)中沒(méi)有考慮到的地方遇到過(guò),可以在整個(gè)單芯片進(jìn)行調(diào)試應(yīng)用程序系統(tǒng)工作,其中包括硬件調(diào)試和軟件調(diào)試做,這是一個(gè)非常重要的一步。系統(tǒng)調(diào)試一般的方法是首先排除明顯的硬件故障和軟件故障,硬件和軟件的聯(lián)合調(diào)試。軟件調(diào)試主要是對(duì)程序的各個(gè)部分進(jìn)行編譯,測(cè)試其語(yǔ)法錯(cuò)誤,并從邏輯上測(cè)試程序的可行性。5.1軟件Keil4測(cè)試Keil4是一家美國(guó)軟件公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。與匯編語(yǔ)言相比,C語(yǔ)言具有的功能,結(jié)構(gòu),可讀性和可維護(hù)性方面優(yōu)勢(shì)明顯,易于學(xué)習(xí)和使用。使用匯編語(yǔ)言和C語(yǔ)言的開(kāi)發(fā)之后,我有一個(gè)更深的體會(huì)。Keil4軟件提供了豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)和調(diào)試工具,所有的Windows界面。另外重要的一點(diǎn)是,只要看看編譯后的匯編代碼,可以實(shí)現(xiàn)效率KEIL4生成的目標(biāo)代碼是非常高的,而且大多數(shù)語(yǔ)句生成的匯編代碼是非常緊湊的,易于理解。在大型軟件的開(kāi)發(fā),它可以更好地體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。的Keil提供一個(gè)完整的開(kāi)發(fā)計(jì)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論