標題: 基于GSM的遠程家庭智能報警系統設計資料 [打印本頁]
作者: 51黑電子迷 時間: 2017-5-21 17:59
標題: 基于GSM的遠程家庭智能報警系統設計資料
摘要
隨著生活水平的提高,人們對自我財產的保護意識逐漸增強,同時伴隨著現代科技逐步走進人們的生活,智能家居應運而生。報警系統作為智能家居的一部分備受人們重視,而市場上的報警系統的設計雖日漸成熟,但依然有缺陷。本設計獨辟蹊徑,運用加速度傳感器作為主要感知層,這樣不用限制門窗的材質,使報警系統更加完善。
本設計針對現有的GSM無線網絡,介紹了基于GSM的遠程家庭智能報警系統的設計及實現方法。利用各種傳感器,如溫濕度傳感器、加速度傳感器等對家中可能出現的各種意外情況進行采集,并通過組建的家中內部無線網絡及時向單片機進行中斷報警。GSM模塊在單片機控制下,利用GSM網絡,將各種報警信息通過短信的方式發送到預先設定的手機中,達到了遠程無線智能報警的功能。同時,本文在對加速度信號的處理上,采用新的方法,即使用加速度平均值,并設定參考點的思路和方法,有效避免了漏報、誤報現象的產生,是系統更加穩定。經過測試,該系統經濟、可靠、穩定性高。家庭無需為傳感器布線,具有廣泛的市場推廣價值。
目錄
1 引言
1.1 國內外現狀
1.2 設計目的與意義
1.3 系統結構流程圖
2 硬件設計
2.1 傳感器的選型
2.1.1 MMA7455I加速度傳感器
2.1.2 DHT11溫度傳感器
2.2 PT2262/2272無線收發模塊
2.3 AT89S52單片機模塊
2.3.1 AT89S52單片機概述
2.3.2 AT89S52單片機的典型功能
2.4 GSM模塊
3 軟件設計
3.1系統軟件設計的總體思路
3.1.1主函數軟件設計流程圖
3.1.2 基于C語言的程序調試
3.2 系統各功能模塊的軟件設計
3.2.1 溫度傳感器DHT11的軟件設計
3.2.2 加速度傳感器MMA7455的軟件設計
3.2.3 IIC通訊協議
3.2.4 液晶顯示的軟件設計
3.2.5 GSM模塊中的AT指令
4 系統調試
4.1液晶顯示
4.2 GSM的調試
4.3加速度傳感器的調試
4.4 DHT11溫濕度傳感器
5 總結與展望
5.1總結
5.2展望
參考文獻
致謝
附錄一 原理圖
附錄二 程序
1 引言1.1 國內外現狀
在目前國內現代化居住格局日益封閉的情況下,財產安全問題顯得尤為重要。當前安全防范及報警系統是確保住宅、財產安全的重要的途徑之一,同時也是數字化家庭的重要組成部分。當遇到盜竊、失火、煤氣泄漏等緊急情況時,及時通過通信系統完成報警以及提示就顯得尤為必要。
目前的、家居報警系統領域多用到開關振動、超聲波、紅外探測、門磁開關等類型的傳感器,其在應用過程中暴露出諸多的缺點:首先,傳感器價格昂貴,體積龐大,難以集成。比如超聲波傳感器,體積大,市場價在8 元左右,操作復雜,易受干擾;其次,誤報現象比較嚴重,困擾人們的生活,比如我們家里面電車或者汽車上常用的震動型傳感器,在人不小心碰到時就會發出刺耳的警笛聲,雖然起到了一定的報警作用,但是給人的生活帶來很大困擾,并且當人距離報警聲音傳播范圍之外時,亦無法知道車輛的安全狀況。另外,市場上并沒有一種專業的報警系統,能讓人隨時隨地的知道家庭公司等安全狀況,并能夠顯示警情位置,警情級別等。
同時大多數的報警系統采用紅外傳感器和門磁開關配合使用,而門磁開關主要由開關和磁鐵兩部分組成,開關部分由磁簧開關經引線連接。定型封裝而成;磁鐵部分由對應的磁場強度的磁鐵封裝于塑膠或合金殼體內。當兩者分開或接近至一定距離后,引起開關的開斷從而感應物體。因而門磁開關只適合非鐵質的門或窗,但現代家居設計中,大部分使用的都是鐵質合金,門磁開關的應用范圍大大地受限。
1.2 設計目的與意義 基于單片機的智能家居防盜系統著重于對家中涉及安全的因素進行監控和報警,用到的傳感器有加速度傳感器、溫度傳感器、煙霧傳感器;控制期間使用AT89S51單片機;并且采用無線網絡GSM節點,采用直接發送短信或撥打電話的方式直接向戶主報警。使得報警更加快捷方便,同時不用布線,避免了維修的復雜性。
同時本設計介紹了一種由嵌入式報警主機、無線發射裝置,手機終端,無線傳感器網絡節點構成的智能報警系統。
首先本系統采用新型的加速度傳感器,能夠將門窗的震動和移動兩種狀態區別開來,當門窗產生震動而沒有發生位移時,通過程序計算沒有達到位移門限就判斷為沒有異常情況發生。當門窗發生移動時,說明家中可能已經被盜處以較危險的情況,此時告知戶主,拉響警笛,這樣就解決了傳統報警系統給人們生活帶來的干擾。
同時我們將溫度傳感器布防在廚房、客廳的等地方,通過無線通信技術形成一個傳感器網絡,與家庭嵌入式主機系統通信。當某個傳感器被觸發時,就會向主機發送信號,主機通過接收到的信號判斷警情地址,警情級別做出相應的判斷后,通過GSM模塊兒發送相應的信息,信息被手機捕獲經軟件分析后,發出語音告知機主。
1.3 系統結構流程圖本設計主要由三大部分組成,分別為:感知網絡、控制主機、客戶終端。該框圖詳細的說明了該設計的工作流程,我們的產品分為兩部分,有家庭傳感器節點組成的感知網絡,傳感器信號經MCU分析后由2262配置一個唯一的地址,將信號發給家庭主機,經分析后經GSM模塊向手機發射出相應的語音報警信息,告知機主。
1.001.jpg (18.88 KB, 下載次數: 100)
下載附件
2017-5-21 17:53 上傳
圖1-1 系統結構流程圖
2 硬件設計 本系統的硬件主要是由傳感器網路、PT2262/2267無線收發模塊、MCU控制器、GSM模塊組成。下圖是總體硬件結構:
1.002.jpg (15.57 KB, 下載次數: 99)
下載附件
2017-5-21 17:53 上傳
圖2-1 系統硬件結構
傳感器部分主要是采集家中安全信息,如溫度、門窗的移動情況,而本設計最有特色的部分也在于傳感器的選擇,采用新型的加速度傳感器,使防盜模塊更完善;AT2262/2272是用于無線連接傳感器與單片機的部分,此部分避免了防盜系統大量的布線工作;單片機主要是對采集信息的處理、判斷并做出相應的處理過程,是整個系統的大腦;GSM模塊主要是用于聯系用戶,現代在手機十分普及的背景下,采用GSM模塊進行短息或語音通話直接通知戶主家庭安全情況,會非常快捷,使得家中安全情況得到及時處理。下面對各部分硬件進行詳細說明。
2.1 傳感器的選型2.1.1 MMA7455I加速度傳感器2.1.1.1MMA7455工作原理及引腳功能
本設計使用的是飛思卡爾公司的MMA7455I,飛思卡爾公司有穩定的人員隊伍。該公司在全球30個國家擁有24000 多名研發和設計人員,人員結構知識化,年輕化,有穩定的教師和輔助人員隊伍。其中,天津飛思卡爾公司擁有 40 多名研發和設計人員,90%以上擁有研究生學歷。
該公司在全球30個國家擁有多家公司。飛思卡爾全球有9個全資生產工廠,一個合營生產設施,還有與第三方生產商建立的諸多合作關系等。飛思卡爾根據輕資產(asset-light)戰略,有選擇地將內部生產能力集中在處于領先地位的細分化或專業加工工藝上,由第三方工廠提供標準工藝技術,作為內部資源的補充。1992 年,飛思卡爾公司開始在天津開展業務,包括在天津的封裝和測試運行部門,北京、蘇州和天津3個研發中心,北京、上海和深圳3個銷售辦事處。天津工廠成立于 1992 年,是飛思卡爾擁有的兩個大型芯片測試和封裝工廠之一。該工廠占地 400,000 平方英尺,從 2001 年開始投入生產。工廠每周生產超過 900 萬個微控制器、混合信號和射頻設備。該公司可提供生產實習、設計的實習設備和場地。
飛思卡爾公司有堅實的科研和技術生產活動。該公司的客戶包括摩托羅拉的個人通訊事業部,以及一些其它消費和汽車電子廠商。2006年,飛思卡爾在下列領域居于市場領先地位:汽車(全球汽車半導體產品市場份額位居第一)、網絡(全球網絡通信處理器市場份額第一;全球用于蜂窩基站的射頻功率產品市場份額位居第一)、工業控制器、消費電子產品(微控制器和嵌入式處理器市場份額位居第二)和無線產品(無線通信應用專用標準產品市場份額位居第四;蜂窩手機數字基帶半導體產品全球市場份額位居第四)。公司為客戶提供廣泛多樣的輔助設備,連接各種產品、網絡和真實世界的信號(如聲音、振動和壓力等)。產品包括傳感器、射頻半導體、功率管理及其它模擬和混和信號集成電路。飛思卡爾全球現有1萬個終端客戶,其中包括由公司自己的銷售隊伍服務的100多家知名的原始設備生產商,以及通過數千個代理商網絡服務的其他終端客戶。2004年,摩托羅拉半導體部成為飛思卡爾半導體。例如,開發出了許多關鍵產品類別,包括通信處理器、微控制器、固態加速度傳感器、蜂窩式半導體和模塊等。摩托羅拉半導體部一直引領加工工藝技術的發展,從率先使用200毫米硅片、銅連線技術、絕緣體上的硅芯片(SOI)到硅鍺碳,為客戶帶來了性能更高、性能更低的產品。因此選用飛思卡爾公司的傳感器是十分可靠的選擇。
MMA7455是一款數字輸出(I2C/SPI)、低功耗、緊湊型電容式微機械加速度計,具有信號調理、低通濾波器、溫度補償、自測、可配置通過中斷引腳(INT1或INT2)檢測0g,以及脈沖檢測(用于快速運動檢測)等功能。0g 偏置和靈敏度是出廠配置,無需外部器件。客戶可使用指定的0g 寄存器和g-Select 量程選擇對0g 偏置進行校準, 量程可通過命令選擇 3 個加速度范圍(2g/4g/8g)。MMA745xL 系列具備待機模式,使它成為以電池為電源的手持式電子器件的理想選擇。MMA7455 數字三軸加速度傳感器模塊核心為飛思卡爾公司的MMA7455L數字三軸加速度傳感器,該模塊設計使用官方推薦設計,板卡線路經過高電磁兼容設計和優化,具有輸出精確,體積小,工作可靠,各種標識清晰,擴展性好等特點。MMA7455L 芯片安裝在帶DIP 插腳的印刷電路板(PCB)上,它允許客戶將其集成到特定的設計應用對產品進行評估。這樣客戶就能夠在他們自己硬件和軟件環境內靈活地評估器件。
MMA7455I是三軸小量程加速傳感器是檢測物件運動和方向的傳感器,它根據物件運動和方向改變輸出信號的電壓值。后面的圖片示出了它們的關系。各軸的信號在不運動或不被重力作用的狀態下(0g),其輸出為1.65V。如果沿著某一個方向活動,或者受到重力作用,輸出電壓就會根據其運動方向以及設定的傳感器靈敏度而改變其輸出電壓。用單片機的IIC/SPI接口方式讀取數值,就可以檢測其運動和方向。
1.003.jpg (39.29 KB, 下載次數: 100)
下載附件
2017-5-21 17:53 上傳
圖2-2 MMA7455實物圖
各引腳功能:
Pin:輸入電壓,同時可以接到單片機AD參考電壓端;
Pin2:(可選)5V電源;
Pin3、GND:電源地;
Pin456、NC:懸空管腳;
Pin7、CS:SPI片選管腳,低電平有效;
Pin8、INT1:中斷1/數據準備就緒;
Pin9、INT2:中斷2;
Pin10、MISO:SPI管腳MISO;
Pin11、MOSI:SPI管腳MOSI;
Pin12、CLK:SPI管腳CLK;
1.004.jpg (29.75 KB, 下載次數: 87)
下載附件
2017-5-21 17:53 上傳
圖2-3 MMA7455的外圍電路
2.1.1.2用加速度傳感器測量位移的原理與誤差分析
MMA7455I是一種差容式伺服加速度傳感器,它采用先進的集成電路表面加工技術,將敏感元件和信號調理電路集成在單片集成電路上,組成一個完整的加速度測量系統.安裝時使加速度傳感器的敏感方向與門窗運動的方向平行,由于重力加速度g 的作用,當加速度傳感器不運動時,其輸出為1g,即傳感器的零點偏置不是0,此時加速度輸出值現對于參考點的位置有正有負。
設a(t),v(t),d(t)和T分別是門或窗運動的加速度、速度、位移和采樣的總周期,g(t)為重力加速度。當門或窗運動時,水平方向的加速度傳感器的輸出為:
A(t)=a(t)(2-1)
此時g(t)的變化是很小的,可看做是常數。作零點校正一般采用測量前先存儲零點值,計算時將測量值減去零點值的方法。這里根據門窗運動的特點,提出一種簡單方便的方法,用這種方法可以實現加速度傳感器的動態零點校正。
由于加速度傳感器的輸出采用了零點校正,因而只需考慮門窗運動的加速度積分得門窗運動的速度。
1.005.jpg (3.27 KB, 下載次數: 79)
下載附件
2017-5-21 17:53 上傳
(2-2)
若將看成下始點的初始速度,則于是同樣,位移可以通過對速度積分得到
1.006.jpg (3.37 KB, 下載次數: 99)
下載附件
2017-5-21 17:53 上傳
(2-3)
那么門窗的相對位移用加速度傳感器測量位移的算法可簡要表述為:
將一個周期的加速度的測量值減去其平均值,令邊界條件為零,對修正后的加速度積分得到速度,將所求速度減去其平均值,令邊界條件為零,對修正后的速度積分即得到相對位移。
2.1.2 DHT11溫度傳感器本設計使用的是溫濕度傳感器DHT11,DHT11 數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性。傳感器包括一個電阻式感濕元件和一個NTC 測溫元件,線性溫度傳感器是線性化輸出負溫度系數(簡稱NTC)熱敏元件,它實際上是一種線性溫度-電壓轉換元件,就是說通以工作電流(100ua)條件下,元件電壓值隨溫度呈線性變化,實現了非電量到電量線性轉換。并與一個高性能8 位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。
1.007.jpg (9.07 KB, 下載次數: 93)
下載附件
2017-5-21 17:53 上傳
圖2-4 DHT11實物圖
每個DHT11 傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式儲存在OTP 內存中,傳感器內部在檢測信號的處理過程中要調用這些校準系數。單線制串行接口,使系統集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20 米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據用戶需求而提供。
綜上所述,DHT11可以測量相對濕度和溫度,可以全部校準,并且直接轉換成數字信號輸出,此模塊具有卓越的長期穩定性,無需額外添加部件,可以實現超長的信號傳輸距離,超低能耗,是四腳安裝的,可以完全實現互換。
DHT11的應用范圍有暖通空調設備、汽車領域、消費品、氣象站、濕度調節器、測試及檢測設備、數據記錄器、自動控制、家電領域、醫療器械等等。在本設計中,DHT11主要是用來監測室內溫度狀況,當家中有火災發生時,居室中溫度升高,當溫度超過一定的溫度閥值時,溫度信號被傳感器采集到發送給單片機,單片機經過處理、判斷,執行報警,有效地避免災情進一步發生。
表2-1 DHT11的性能說明
使用DHT11時需要注意避免結露情況下使用。長期保存條件是在10-40℃,同時濕度需在60%。超出建議的工作范圍可能導致高達3%RH的臨時性漂移信號。返回正常工作條后,傳感器會緩慢地向校準狀態恢復,要加速恢復進程。在非正常工作條件下長時間使用會加速產品的老化過程。
表2-2 DHT11各管腳功能
氣體的相對濕度,在很大程度上依賴于溫度。因此在測量濕度時,應盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個印刷線路板,在安裝時應盡可能將DHT11遠離電子元件,并安裝在熱源下方,同時保持外殼的良好通風。為降低熱傳導,DHT11與印刷電路板其它部分的銅鍍層應盡可能最小,并在兩者之間留出一道縫隙。長時間暴露在太陽光下或強烈的紫外線輻射中會使性能降低。DATA信號線材質量會影響通訊距離和通訊質量,推薦使用高質量屏蔽線。手動焊接,在最高260℃的溫度條件下接觸時間須少于10秒。
1.008.jpg (10.14 KB, 下載次數: 90)
下載附件
2017-5-21 17:53 上傳
圖2-5 DHT11應用電路
此電路即為本設計中DHT11的應用電路。當傳輸距離小于20米時使用5K的上拉電阻,當傳輸距離大于20米時上拉電阻做相應的改變。
DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數據格式,一次通訊時間4ms左右,數據分小數部分和整數部分,具體格式在下面說明,當前小數部分用于以后擴展,現讀出為零。操作流程如下:
一次完整的數據傳輸為40bit,高位先出。數據格式:8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據+8bit校驗和數據傳送正確時校驗和數據等于“8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據”所得結果的末8位。
1.009.jpg (19.98 KB, 下載次數: 93)
下載附件
2017-5-21 17:53 上傳
圖2-6 通訊過程
總線空閑狀態為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結束,然后發送80us低電平響應信號。主機發送開始信號結束后,延時等待20-40us后,讀取DHT11的響應信號,主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。
用戶MCU發送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據。從模式下,DHT11接收到開始信號觸發一次溫濕度采集,如果沒有接收到主機發送開始信號,DHT11不會主動進行溫濕度采集。采集數據后轉換到低速模式。
1.010.jpg (18.58 KB, 下載次數: 103)
下載附件
2017-5-21 17:53 上傳
圖2-7 開始傳送數據
總線為低電平,說明DHT11發送響應信號,DHT11發送響應信號后,再把總線拉高80us,準備發送數據,每一位數據都以50us低電平時隙開始,高電平的長短定數據位是0還是1。格式見下面圖示,如果讀取響應信號為高電平,則DHT11沒有響應,請檢查線路是否連接正常。當最后一位數據傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高,進入空閑狀態。
1.011.jpg (16.8 KB, 下載次數: 106)
下載附件
2017-5-21 17:53 上傳
圖2-8 數字0信號表示方法
1.012.jpg (16.05 KB, 下載次數: 70)
下載附件
2017-5-21 17:53 上傳
圖2-9 數字1信號表示方法
測量分辨率分別為 8bit(溫度)、8bit(濕度)。上面各圖說明了DHT11在工作時的時序圖,也有助于之后編程時調用延時的時間。
2.2 PT2262/2272無線收發模塊 由于本設計成本和本人的能力有限,在本設計的實際硬件中沒有用到此模塊,但這一模塊在原始設計的理念中是不可或缺的一部分,因為這一部分可以有效避免不必要的布線問題,同時也便于傳輸出現故障時進行有效快捷的維修。因此,在此文中對這一模塊進行詳細地說明是十分必要的,同時也可提高我的知識面。
PT2262/2272是臺灣普城公司生產的一種CMOS工 藝制造的低功耗低價位通用編解碼電路,PT2262/2272最多可有12位(A0-A11)三態地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼,PT2262最多可有6位(D0-D5)數據端管腳,設定的地址碼和數據碼從17腳串行輸出,可用于無線遙控發射電路。
編碼芯片PT2262發出的編碼信號由:地址碼、數據碼、同步碼組成一個完整的碼字,解碼芯片PT2272接收到信號后,其地址碼經過兩次比較核對后,VT腳才輸出高電平,與此同時相應的數據腳也輸出高電平,如果發送端一直按住按鍵,編碼芯片也會連續發射。當發射機沒有按鍵按下時,PT2262不接通電源,其17腳為低電平,所以315MHz的高頻發射電路不工作。當有按鍵按下時,PT2262得電工作,其第17腳輸出經調制的串行數據信號,當17腳為高電平期間315MHz的高頻發射電路起振并發射等幅高頻信號,當17腳為低平期間315MHz的高頻發射電路停止振蕩,所以高頻發射電路完全收控于PT2262的17腳輸出的數字信號,從而對高頻電路完成幅度鍵控(ASK調制)相當于調制度為100%的調幅。
1.013.jpg (25.09 KB, 下載次數: 105)
下載附件
2017-5-21 17:53 上傳
圖2-10 PT2262 無線發射模塊
2262無線發射模塊電路圖,該電路由A0……A5可以配置該芯片地址,當2272的設置的地址與其相標配時,才能接收到信號。控制D0……D7的高低電平配置可以發相應的數據,比如我們可以經D0口經過模擬電路與單片機相連,此時若P1^0口為高電平此時2262工作,并將D0高電平的信號發射出,經2272解碼后將信息翻譯處理來。發射電路有DOUT口經驅動電路經紅外發射頭發出。
1.014.jpg (23.64 KB, 下載次數: 96)
下載附件
2017-5-21 17:53 上傳
圖2-11 PT2272無線接收模塊
U12為一體化紅外接收頭,接收到信號后,經2272解碼,將信息經D0……D3口輸出,我們通過電路設置使不同的傳感器電路,觸發2262不同的數據I/O口,這樣單片機通過采集2272的數據接口就可以知道報警傳感器的位置,從而坐車相應的處理。
1.015.jpg (20.5 KB, 下載次數: 88)
下載附件
2017-5-21 17:53 上傳
圖2-12 PT2272 無線接收模塊
設置地址碼的原則是:同一個系統地址碼必須一致;不同的系統可以依靠不同的地址碼加以區分。
PT2262/2272芯片的地址碼的設定:在通常使用中,一般采用8位地址碼和4位數據碼,這時編碼電路PT2262和解碼PT2272的第1~8腳為地址設定腳,有三種狀態可供選擇:懸空、接正電源、接地三種狀態,3的8次方為6561,所以地址編碼不重復度為6561組,只有發射端PT2262和接收端PT2272的地址編碼完全相同,才能配對使用,例如將發射機的PT2262的第2腳接地第3腳接正電源,其它引腳懸空,那么接收機的PT2272只要第2腳接地第3腳接正電源,其它引腳懸空就能實現配對接收。當兩者地址編碼完全一致時,接收機對應的D1~D4端輸出約4V互鎖高電平控制信號,同時VT端也輸出解碼有效高電平信號。用戶可將這些信號加一級三極管放大,便可驅動繼電器等負載進行遙控操縱。
2.3 AT89S52單片機模塊2.3.1 AT89S52單片機概述單片機是把組成微型計算機的各個功能部件,如中央處理器、隨機存儲器、只讀存儲器、I/O接口電路、定時器/計數器以及串行通信接口電路等集成在一塊芯片上,構成
一個完整的微型計算機。通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是總線速度的無限提升,存儲容量的無限擴大。而嵌入式計算機系統的技術要求則是對象的智能化控制能力;技術發展方向是與對象系統密切相關的嵌入性能、控制能力與控制的可靠性。比較普通計算機和嵌入式計算機的差異,說明這是由于它們應用場合和應用環境的不同而造成的,而單片機則屬于低端嵌入式計算機。
單片機的硬件簡單,字長一般為8位,也有16位的,存儲空間最小。集成的片內外設比較豐富。由于硬件的局限性,導致軟件上就不能太大,采集速度低。難以完成復雜的實時運算。單循環式,一般沒有操作系統。
單片機具有小巧靈活、成本低、易于產品化。它能方便地組裝成各種智能式控制設備以及各種智能儀表。面向控制,能針對性地解決從簡單到復雜的各類控制任務,從而獲得最佳性價比。抗干擾能力強,適應溫度范圍寬,在各種惡劣條件下都能可靠地工作,這是其它機型所無法比擬的。可以很方便地實現多機和分布式控制,使整個系統的效率和可靠性大為提高。
單片機的應用場合也非常廣泛,小巧靈活、成本低、易于產品化。它能方便地組裝成各種智能式控制設備以及各種智能儀表。面向控制,能針對性地解決從簡單到復雜的各類控制任務,從而獲得最佳性價比。抗干擾能力強,適應溫度范圍寬,在各種惡劣條件下都能可靠地工作,這是其它機型所無法比擬的。可以很方便地實現多機和分布式控制,使整個系統的效率和可靠性大為提高。機電一體化產品是集機械技術、微電子技術、自動化技術和計算機技術于一體,具有智能化特征的各種機電產品。單片機在機電一體化產品的開發中可以發揮巨大的作用。典型產品如機器人、數控機床、自動包裝機、點鈔機、醫療設備、打印機、傳真機、復印機等。家用電器是單片機的又一重要應用領域,前景十分廣闊。如空調器、電冰箱、洗衣機、電飯煲、高檔洗浴設備、高檔玩具等。另外,在交通領域中,汽車、火車、飛機、航天器等均有單片機的廣泛應用。如汽車自動駕駛系統、航天測控系統、黑匣子還有分式系統的前端模塊等等。
ATMEL公司生產的具有Flash ROM的增強型51系列單片機目前在市場上仍然十分流行,其中AT89S系列十分活躍。AVR單片機是ATMEL在90年代推出的精簡指令集RISC的單片機,跟PIC類似。使用哈佛結構。是增強型RISC內載Flash的單片機。AVR的單片機廣泛應用于計算機外部設備,工業實時控制,儀器儀表,通訊設備,家用電器,宇航設備等各個領域。
近年來單片機的發展非常快,縱觀單片機的現狀及歷史,其發展趨勢正朝著大容量、
高性能化、小容量低價格化、外圍電路內裝化、多品種化及增強I/O接口功能、降低功
耗等方面發展。為滿足不同的用戶要求,各公司競相推出能滿足不同需要的產品。
在CPU的功能上更加完善和強大,比如采用雙CPU結構,提高處理能力,增加數據總線的寬度,使處理數據的能力明顯優于一般的8位單片機,同時采用流水線結構和RISC體系結構。在存儲器方面加大存儲容量,實行程序保密化。現在常規的單片機普遍都是將中央處理器(CPU)、隨機存取數據存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如A/D轉換器、PMW(脈寬調制電路)、WDT(看門狗)、有些單片機將LCD(液晶)驅動電路都集成在單一的芯片上,這樣單片機包含的單元電路就更多,可實現的功能就越強大。甚至單片機廠商還可以根據用戶的要求量身定做,制造出具有自己特色的單片機芯片。
MCS-51系列的8031推出時的功耗達630MW,而現在的單片機普遍都在100MW左右,隨著對單片機功耗要求越來越低,現在的各個單片機制造商基本都采用了CMOS(互補金屬氧化物半導體工藝)。80C51就采用了HMOS(即高密度金屬氧化物半導體工藝)和CHMOS(互補高密度金屬氧化物半導體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點,這些特征,更適合于在要求低功耗電池供電的應用場合。所以這種工藝將是今后一段時期單片機發展的主要途徑。
本設計中使用的是AT89S52單片機。AT89S52為 ATMEL 所生產的一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flsah存儲器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
AT89S52主要功能列舉如下:擁有靈巧的8位CPU和在系統可編程Flash晶片內部具時鐘振蕩器(傳統最高工作頻率可至 12MHz)、內部程序存儲器(ROM)為8KB、內部數據存儲器(RAM)為256字節、32個可編程I/O口線、8個中斷向量源、三個16位定時器/計數器、三級加密程序存儲器、全雙工UART串行通道。
AT89S52單片機的特性是與MCS-51 兼容、擁有4K字節可編程閃爍存儲器,它的壽命一般為1000寫/擦循環、數據保留時間為10年、全靜態工作時工作頻率是0Hz-24Hz、擁有三級程序存儲器鎖定和128*8位內部RAM、32可編程I/O線、兩個16位定時器/計數器、5個中斷源 、可編程串行通道、低功耗的閑置和掉電模式、片內振蕩器和時鐘電路。
1.016.jpg (31.8 KB, 下載次數: 105)
下載附件
2017-5-21 17:53 上傳
圖2-13 AT89S52單片機
2.3.1.1AT89S52單片機管腳說明
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時為閃爍編程和編程校驗接收一些控制信號。
表2-3 P3口特殊功能口
1.017.jpg (1018 Bytes, 下載次數: 103)
下載附件
2017-5-21 17:53 上傳
:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
1.018.jpg (1.03 KB, 下載次數: 86)
下載附件
2017-5-21 17:53 上傳
:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
1.019.jpg (1.29 KB, 下載次數: 89)
下載附件
2017-5-21 17:53 上傳
:外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
1.020.jpg (1.48 KB, 下載次數: 79)
下載附件
2017-5-21 17:53 上傳
:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源。
1.021.jpg (1.19 KB, 下載次數: 77)
下載附件
2017-5-21 17:53 上傳
:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
1.022.jpg (1.27 KB, 下載次數: 91)
下載附件
2017-5-21 17:53 上傳
:來自反向振蕩器的輸出。
2.3.1.2 AT89S52單片機的振蕩器特性和芯片擦除:
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。
整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節被重復編程以前,該操作必須被執行。
此外,AT89C52設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。
2.3.2 AT89S52單片機的典型功能2.3.2.1 中斷系統
中斷系統是計算機中的一項很重要的技術。中斷系統的主要功能是為了解決快速CPU與慢速的外設之間的矛盾,它是由硬件和軟件組成的。有了中斷系統,能使計算機的功能更強、效率更高、使用更加靈活方便。下面簡單介紹中斷系統的組成、處理過程及其應用。
52單片機總共有6個中斷源。外部中斷有/INT0、/INT1,其中中斷請求是由P3.3、P3.3引腳輸入的,可選擇低電平有效或沿下降沿有效。內部中斷源有T0、T1、T2溢出中斷和串行口中斷源。不同的中斷源有不同的中斷矢量,當某個中斷源的中斷請求被響應后,CPU將通過硬件自動地把相應的中斷源的中斷入口地址裝入PC中,即從此地址開始執行中斷服務程序。因此,使用時一般在此地址單元中存放一條跳轉指令,當CPU響應中斷是,使單片機自動執行相應的入口地址的跳轉指令,然后再通過該跳轉指令至用戶安排的中斷服務程序的入口處。
表2-4 中斷入口地址
中斷處理過程分為三個階段,即中斷響應、中斷處理、中斷返回。下圖為中斷響應過程中硬件自動完成的流程圖,如果中斷響應條件滿足,而且不存在中斷受阻,CPU將響應中斷呢。在此情況下,CPU首先使被響應中斷的“優先級激活”觸發器置位,以阻斷同級和低級的中斷。
1.023.jpg (26.21 KB, 下載次數: 86)
下載附件
2017-5-21 17:53 上傳
圖2-14 中斷響應過程
然后,根據中斷源的類別,在硬件的控制下內部自動形成長調用指令,此指令的作用是:首先自動將斷點壓入堆棧,但不自動保存PSW的內容,然后將對應的中斷源的入口地址裝入程序計數器。
CPU中斷響應結束后即轉到中斷服務程序的入口地址,從執行中斷服務程序的第一條指令開始到執行RETI返回指令為止,這個過程成為中斷處理或中斷服務。
2.3.3.2單片機串行口
串口通信是計算機與外界交換信息的一種基本通信方式。52單片機中的串行接口是一個全雙工通信接口,即能同時進行數據的發送和接收。它可作偽通用異步接收和發送器使用,也可以用作同步移位寄存器,其幀格式和波特率均可通過軟件編程設置,在使用上非常方便靈活。
串行通信的基本特征是數據逐位順序進行傳送串行通信的格式及約定(如:同步方式、通訊速率、數據塊格式、信號電平等)不同,形成了多種串行通信的協議與接口標準。
單片機接收數據的過程是:當CPU允許接收(即SCON的REN位置“1”)且接收中斷標志RI復位時,就啟動一次接收過程。接收數據時,外界數據通過引腳P3.0(RXD)串行輸入,數據的最低位首先進入輸入移位寄存器,一幀數據接收完畢再并行送入到緩沖器SBUF中,同時將接收中斷標志RI置“1”。當用軟件將輸入的數據讀走并將RI復位后,才能再開始下一幀數據的傳送。
發送數據的過程為:當發送中斷標志位TI復位后,CPU執行任何一條寫SBUF指令,就啟動一次發送過程。CPU在執行寫SBUF指令的同時啟動發送控制器開始發送數據,被發送的數據由TXD引腳串行輸出,首先輸出最低位,當一幀數據發送完即發送緩沖器空時,CPU自動將發送中斷標志TI置1,當軟件將TI復位時,同時又將下一個數據寫入數據緩沖器后,CPU再次重復上述過程直到數據發送完成。
2.4 GSM模塊 本設計使用的是西門子公司生產的TC35i。TC35i是Siemens公司推出的無線通信GSM模塊,可以快速安全可靠的實現數、語音傳輸、短消息服務(SMS)和傳真。模塊工作電壓為3.3—5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900MHz)和1W(1800MHz)。模塊有AT命令集接口,支持文本和PDU模式的短消息、第三組的二類傳真、以及2.4K、4.8K、9.6K的非透明模式。此外,該模塊還具有電話簿功能、多方通話、漫游檢測功能,常用的工作模式由省電模式、IDLE、TALK等模式。通過獨特的40引腳的ZIF連接器,可分別連接SIM卡支架和天線。TC35i模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口留部分組成。作為TC35i的核心,基帶處理器主要處理GSM終端內的語音、數據信號,并涵蓋了蜂窩射頻設備中的所有的模塊和數字功能。在不需要額外硬件電路的前提下,可支持FR、HR、EFR語音信道編碼。
目前,國內已經開始使用的GSM模塊有很多,而且這些模塊的功能、用法差別不大。本設計采用西門子TC35 系列的TC35i,這種無線模塊功能上與TC35 兼容,設計緊湊,大大縮小了用戶產品的體積。TC35i 與GSM2/2 兼容、雙頻(GSM900/GSM1800)、RS232 數據接口,該模塊及射頻電路和基帶與一體,向用戶提供標準的AT 命令接口,為數據、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應用開發及設計。
TC35i 模塊主要由GSM基于處理器、GSM射頻模塊、供電模塊、閃存、ZIF 連接器、天線接口六部分組成。通過ZIF 連接器與單片機實現電路接口,該接口讀取或發送TC35i 模塊中的數據,將是本文論述的重點,也是TC35i 應用的核心。
單片機與TC35i 的軟件接口其實就是單片機通過AT 指令控制手機的控制技術,首先設置TC35i 模塊的工作模式:AT+CMGF=n,n=0 為PDU模式;n=1 為文本模式;通常設置為PDU 模式,在這種模式下,能傳送或接受透明數據(用戶自定義數據)。AT+CMGR=n 為讀TC35i 模塊短消息數據,n 為短消息號。AT+CMGL=n為列出TC35i 模塊內的短消息,n=0 是未讀的短消息,n=1 位已讀的短消息,n=2 位未發送的短消息,n=3為已發送的短消息n=4 為所有短消息。AT+CMGD=n 為刪除TC35i 模塊的短消息,n 為短消息編號。
軟件編程通過向TC35i 寫入不同的AT 指令能完成多種功能,如網絡登陸、讀取SIM卡上電話號碼、發送SMS 消息、接收SMS 消息等。常用的AT指令我們將在軟件設計中詳細說明。
3 軟件設計3.1系統軟件設計的總體思路3.1.1主函數軟件設計流程圖
整個系統主要的分為兩個狀態:主人在家狀態、主人不在家狀態。當主人在家時,報警系統僅對溫度傳感器和煙霧傳感器進行監視;當按下主人不在家的按鍵時,系統就進入到主人不在家狀態,對家中的門窗、溫度、煙霧等作一系列的監控,一旦有意外發生能及時通知戶主采取急救措施,有效避免災情進一步發生。
程序是由主程序、開機初始化模塊、主人在家狀態模塊、延時和定時器模塊、無人在家狀態模塊、傳感器檢測模塊、串口初始化和GSM通信模塊組成。
(1)主程序。單片機上電后即執行主程序。主程序調用開機初始化模塊,之后確定用主人是否在家模塊,確定要工作的狀態。
(2)開機初始化模塊。該模塊控制所有模塊的指示燈點亮以確定所有模塊都正常工作,同時對單片機內部特殊寄存器進行賦值,設置完畢后進入主人在家狀態,只有當系統復位后此模塊才會再次被調用。
(3)主人在家狀態模塊。該模塊調用對輸入的定時掃描,在家中溫度或煙霧濃度出現異常情況是報警,同時可在按鍵控制下轉入到無人在家模塊。該模塊桶用探測器檢測模塊、延時和定時器模塊相結合防止探測器的誤觸發,提高系統可靠性。
(4)延時和定時器模塊。該模塊包含軟件延時子函數及設置并啟動定時器的子函數以達到對鍵盤的定時掃描。
(5)無人在家狀態模塊。該模塊調用傳感器檢測模塊、延時和定時模塊對外部輸入
進行檢測,在傳感器被觸發的情況下發出警報并進入發送短信模塊。
(6)傳感器檢測模塊。采用定時掃描的方式進行實時檢測防止報警被誤觸發,想主人在家狀態模塊和無人在家狀態模塊返回各輸入口狀態。
(7)傳感器檢測模塊。傳感器主要是由MMA7455i加速度傳感器、溫度傳感器和煙霧傳感器組成,對家中情況進行監控,并做簡單的信號處理。
(8)串口初始化和通信模塊。該模塊對在進入發送短信狀態時對串口進行初始化,負責與串口數據的收發,并在發送短信完畢時對特殊寄存器和全局變量進行設置。防止由于某些傳感器一直處在觸發狀態而引起的短信重復發送。
(9)GSM發送短信模塊。該模塊通過調用串口初始化和通信模塊與GSM模塊發送AT指令控制其發送短信。
1.025.jpg (27.48 KB, 下載次數: 99)
下載附件
2017-5-21 17:53 上傳
圖3-1 系統程序結構
3.1.2 基于C語言的程序調試C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫。具體應用比如單片機以及嵌入式系統開發。
C是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。 C也是一種結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。 C語言功能齊全。具有各種各樣的數據類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。同時C語言適用范圍大,適合于多種操作系統,如Windows、DOS、UNIX等等;也適用于多種機型。C語言對編寫需要硬件進行操作的場合,明顯優于其它高級語言,有一些大型應用軟件也是用C語言編寫的。
指針是C語言的一大特色,可以說是C語言優于其它高級語言的一個重要原因。就是因為它有指針,可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低于C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據著程序使用榜的前三名。
而匯編語言是面向機器的程序設計語言。在匯編語合中,用助記符代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟件中語言處理系統。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。
大多數情況下Linux程序員不需要使用匯編語言,因為即便是硬件驅動這樣的底層程序在Linux操作系統中也可以完全用C語言來實現,再加上GCC這一優秀的編譯器目前已經能夠對最終生成的代碼進行很好的優化,的確有足夠的理由讓我們可以暫時將匯編語言拋在一邊了。但實際情況是Linux程序員有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和lib無關性。假設要移植Linux到某一特定的嵌入式硬件環境下,首先必然面臨如何減少系統大小、提高執行效率等問題,此時或許只有匯編語言能幫上忙了。匯編語言比機器語言易于讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。
綜上所述,本設計使用的是C語言進行程序的編寫。AT89S52的C語言編程和C51系列的相同,因此以下用51系列來說明。
由于8051系列是8 位機,因而不存在字節校準問題。這意味著數據結構成員是順序放置的。數據類型的轉換:當計算結果隱含著另外一種數據類型時,數據類型可以自動進行轉換,例如,將一個位變量賦給L:一個整型變量時,位型值自動轉換為整型值,有符號變量的符號也能自動進行處理。這些轉換也可以用C 語言的標準指令進行人工轉換。編譯器支持下列數據類型:
表3-1數據類型
51系列包括多種寄存器,其中一些具有特殊功能,如定時器,端口的控制寄存器等,為了能夠直接訪問這些寄存器,C51 編譯器提供了一種定義的自主形式,這是必要的,因為這些定義與標準C 語言是不兼容的。為了支持這些特殊功能寄存器(SFR)的聲明,引入了關鍵詞“sfr”。
必須注意的是“sfr”后不是一個地址而是一個名字。因此上例中名字P0 和P1(port0和port1)定義為特殊功能寄存器并被賦予相應的絕對地址,名字可按意愿自由選取,源文件中不應有先定義的sfr 名字。“=”號后的地址必須是常數,不允許帶有運算符的表達式,這個常數表達式必須在特殊功能寄存器的地址范圍內,位于0X80 到0XFF 之間。
8051 系列寄存器數量和類型是極其不同的,因此將所有特別的“sfr”聲明放入一個頭文件,頭文件包括8051 一些系列成員中的SFR 定義。進一步的定義可由用戶由文件編輯器產生。
在新的8051 系列產品中,SFR 在功能上經常組合為16 位的,為了有效的訪問這類SFR,使用定義“sfr16”,當“SFR”的高端直接位于低端后時,對SFR16 位的訪問是可能的。例如8052 的定時器2 就是這種情況,16 位聲明的語法與“sfr”相同,SFR 低地址部分必須作為sfr16 的地址。
T2(由T2L 和T2H 組成)和RCAP2(由RCAP2L 和RCAP2H 組成)被定義為16位SFR,即使在這種情況下,聲明中的名字后仍不是賦值語句,而是一個SFR 地址,高字節必須直接位于低字節之后,這種聲明適用于所有新的SFR,但不能用于Timer0 和Timer1。
3.1.2.1中斷服務程序
C51 編譯器及其對C 語言的擴充允許編程者對中斷的所有方面進行控制。這種支持能使系統編程者創建高效的中斷服務程序,用戶只需在普通和高級方式下關心中斷及必要的寄存器組切換操作,C51 編譯器將產生最合適的代碼。
使用中斷服務函數的完整語法如下:
返回值 函數名([參數])[模式][再入] interrupt n[using n]。“interrupt”后接一個0~31 的常數,不允許使用表達式。中斷不允許用于外部函數,它對函數目標代碼的影響如下:
1. 當使用函數時,SFR 中的ACC、B、DPH、DPL 和PSW(當需要時)入棧;
2. 如不使用寄存器組切換,甚至中斷函數所需的所有工作寄存器(Rn)都入棧;
3. 函數退出前,所有的寄存器內容出棧;
4. 函數由8051 控制命令“RETI”終止;
中斷控制部分是由4個專用寄存器組成的,分別為TCON、SCON、IE和IP。五個中斷源的中斷請求標志位及定時器/計數器的控制位,均設置在定時控制寄存器TCON和串口控制寄存器SCON中。
其中TCON用于控制定時器/計算器的啟、停和外部中斷源的觸發方式以及存放定時器的溢出中斷標志和外部中斷源的中斷請求標志。其地址為88H,各位的定義為:
表3-2 TCON各位的定義
TF1和TF0:分別為定時器1和定時器0的溢出標志。當定時器加1計滿產生溢出時,由硬件自動置“1”,并申請中斷。進入中斷服務程序后,由硬件自動清“0”。這兩位也可作為程序查詢的標志位,在查詢方式下應由軟件來清“0”。
TR1和TR0:分別為定時器1和定時器0的啟停控制位。當由軟件將TRi清0后,可停止定時器的工作,將該位置“1”后,可啟動定時器工作。
IE1和IE0:分別為外部中斷1和外部中斷0的觸發方式選擇位。當外部中斷源有請求時,相應的中斷標志位由硬件置“1”。
IT1和IT0:分別為外部中斷1和外部中斷0的觸發方式選擇位。IT1設置為“0”時,相應的外部中斷為低電平觸發方式,設置為“1”時,相應的外部中斷為邊沿觸發方式。
同時在單片機中,設有一個專用寄存器IE(稱中斷允許寄存器),其作用是控制各中斷源的開放或屏蔽。各個位的定義如下:
表3-3 IE各位的定義
EA為CPU中斷允許控制位。EA=1,CPU開放中斷,EA=0,CPU禁止響應一切中斷。當EA=1時,僅使CPU對所有中斷開放,但每個中斷源被允許還是被屏蔽由各自的允許位確定。
ES為串行口中斷允許位。ES=1,允許串行口接收和發送中斷;ES=0,禁止串行口中斷。
ET1為定時器1的中斷允許控制位。ET1=1允許T1中斷,否則禁止中斷。
EX1為外部中斷1的中斷允許控制位。EX1=1,允許外部中斷1中斷,否則禁止中斷。
ET0為定時器0的中斷允許控制位。ET0=1,允許定時器T0中斷,否則禁止中斷。
EX0為定時器0的中斷允許控制位。ET2為定時器2中斷允許控制位,僅用于52子系列單片機。
在本設計中,使用的是內部中斷。單片機對采集到的加速度傳感器和溫度傳感器的數據進行分析判斷,當符合報警條件時再申請中斷,執行中斷服務程序。
在中斷響應過程中需要利用軟件實現以下中斷服務:
1.026.jpg (11.83 KB, 下載次數: 98)
下載附件
2017-5-21 17:53 上傳
圖3-2 中斷服務程序
3.1.2.2 串口通信的軟件設置
51系列的串行口主要是由兩個數據緩沖器SBUF、一個輸入移位寄存器、一個串行控制寄存器SCON和一個波特率發生器T1等組成。特殊功能寄存器SCON用來存放串行口的控制和狀態信息。定時器/計數器T1作串行口的波特率發生器,其波特率是否增倍由特殊功能寄存器PCON的最高位控制。
在本設計中串口通訊是工作在方式2下的,方式1為11位異步通訊方式,即一個起始位、8個有效數據和一個停止位,還有一個附加位,波特率可以改變(由定時器 T1的溢出率決定,并可由SMOD加倍)。發送操作在T1=0時,發送電路自動在8位發送數據前后分別添加一位起始位和停止位,并在移位脈沖作用下由TXD引腳依次發送一幀數據,發送完后自動維持TXD引腳為高電平.TI也由硬件在發送停止位時自動置“1”,需要由軟件將其請“0”。第9位數字是SCON中的T8,這位數據可由用戶安排,在這里我設定為奇偶校驗位。
3.2 系統各功能模塊的軟件設計3.2.1 溫度傳感器DHT11的軟件設計 在本設計中MMA7455主要是實現對家中門窗的動態運動進行監控,進而作為防盜報警的依據。DHT11采用的是單線雙向串行通訊,當收到單片機讀信號后,DHT11發送響應信號,并送出40bit的數據,并觸發一次信號采集,在本設計中只讀取其中的溫度信息數據,如果DHT11沒有收到單片機發送開始信號,DHT11不會主動進行溫度采集。具體的軟件設計流程圖如下:
1.027.jpg (21.26 KB, 下載次數: 98)
下載附件
2017-5-21 17:53 上傳
圖3-3 DHT11軟件設計流程圖
3.2.2 加速度傳感器MMA7455的軟件設計 MMA7455加速度傳感器主要是采集門窗的運動狀況,測出其運動的加速度,單片機再進一步得出門窗運動的位移,進而可判定是否有竊賊進入到家中。當單片機調用加速度信息子模塊時,首先發出讀加速度信號,7455進行初始化并把自身的地址和單片機發出的地址相比較,如果符合即反饋應答信號,單片機分別發出X、Y、Z軸地址采集不同軸上的加速度信息,7455按相應的地址發送信息,單片機收到信息后進行校驗,并返回加速度數據的返回值,退出調用。
1.028.jpg (24.11 KB, 下載次數: 89)
下載附件
2017-5-21 17:53 上傳
圖3-4 7455子函數流程圖
3.2.3 IIC通訊協議在現代電子系統中,有為數眾多的IC需要進行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設計,PHILIPS開發了一種用于內部IC控制的簡單的雙向兩線串行總線IIC。IIC總線支持任何一種IC制造工藝,并且 PHILIPS和其他廠商提供了種類非常豐富的IIC兼容芯片。作為一個專利的控制總線,IIC已經成為世界性的工業標準。
每個器件都有一個唯一的地址,而且可以是單接收的器件(例如:LCD驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決于芯片是否必須啟動數據的傳輸還是僅僅被尋址。IIC是一個多主 總線,即它可以由多個連接的器件控制。
基本的IIC總線規范于20年前發布,其數據傳輸速率最高為100Kbits/s,采用7位尋址。但是由于數據傳輸速率和應用功能的迅速增加,IIC總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。
IIC總線始終和先進技術保持同步,但仍然保持其向下兼容性。并且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得IIC總線能夠支持現有以及將來的高速串行傳輸應用,例如EEPROM和Flash存儲器。
在IIC總線傳輸過程中,將兩種特定的情況定義為開始和停止條件(見圖3):當SCL保持“高”時,SDA由“高”變為“低”為開始條件;當SCL保持“高”且SDA由“低”變為“高”時為停止條件。開始和停止條件均由主控制器產生。使用硬件接口可以很容易地檢測到開始和停止條件,沒有這種接口的微機必須以每時鐘周期至少兩次對SDA取樣,以檢測這種變化。
SDA線上的數據在時鐘“高”期間必須是穩定的,只有當SCL線上的時鐘信號為低時,數據線上的“高”或“低”狀態才可以改變。輸出到SDA線上的每個字節必須是8位,每次傳輸的字節不受限制,但每個字節必須要有一個應答ACK。如果一接收器件在完成其他功能(如一內部中斷)前不能接收另一數據的完整字節時,它可以保持時鐘線SCL為低,以促使發送器進入等待狀態;當接收器準備好接受數據的其它字節并釋放時鐘SCL后,數據傳輸繼續進行。
數據傳送具有應答是必須的。與應答對應的時鐘脈沖由主控制器產生,發送器在應答期間必須下拉SDA線。當尋址的被控器件不能應答時,數據保持為高并使主控器產生停止條件而終止傳輸。在傳輸的過程中,在用到主控接收器的情況下,主控接收器必須發出一數據結束信號給被控發送器,從而使被控發送器釋放數據線,以允許主控器產生停止條件。
IIC總線在開始條件后的首字節決定哪個被控器將被主控器選擇,例外的是“通用訪問”地址,它可以在所有期間尋址。當主控器輸出一地址時,系統中的每一器件都將開始條件后的前7位地址和自己的地址進行比較。如果相同,該器件即認為自己被主控器尋址,而作為被控接收器或被控發送器則取決于R/W位。
3.2.4 液晶顯示的軟件設計 本設計中采用液晶顯示,使數據更加直觀。液晶顯示屏選用1602,它主要用于顯示加速度傳感器采集到的X、Y、Z軸的加速度值以及溫度傳感器DHT11采集到的室內溫度值,以便更清晰直觀地感受到報警系統的工作狀態。其軟件的主要思路如下圖所示:
1.029.jpg (22.16 KB, 下載次數: 98)
下載附件
2017-5-21 17:53 上傳
圖3-5 液晶屏的軟件設計
3.2.5 GSM模塊中的AT指令單片機與TC35 i的軟件接口通過AT指令完成,控制手機的短消息有關的AT指令有:
A.單片機與TC35i模塊由串口建立連接:AT;
B.設置TC35i模塊工作模式:AT + CMGF = n, n = 0: PDU模式; n = 1:文本模式,通常要設置為PDU模式,在這種模式下,能傳送或接受透明數據(用戶自定義數據);
C.讀TC35i模塊短消息數據:AT + CMGR = n, n為短消息號(十進制);
D.列出TC35i模塊內的短消息:AT =CMGL = n, n = 0:未讀的短消息;n = 1:已讀的短消息;n = 2:未發送的短消息;n= 3:已發送的短消息;n = 4:所有的短消息;
E.刪除TC35i模塊短消息:AT + CMGD = n,n為短消息號(十進制) 。
根據設置不同,GSM模塊將收到的短消息保存在緩存單元或存入SIM卡,單片機從GSM模塊中接收短消息實質上就是從SIM或緩存中讀出信息。這主要利用AT + CMGR和AT +CMGL兩條指令來完成。由于不同的廠商對AT指令集的解釋代碼和響應信息不一樣,所以單片機首先要確認能否與GSM模塊建立起通信,一般用ATE指令完成此確認;然后用AT + CMGF指令選定短消息的數據格式;在收到GSM模塊的正確回答后以AT指令完成讀出功能。一般用AT +CMGL讀取以前的信息,在收到手機的R ING(振鈴)數據時,用AT +CMGR讀取實時信息。
AT 指令的指令符號、常數、PDU 數據等都是以ASCII 編碼形式傳送;傳送透明數據必須把TC35i 模塊的工作模式設置為PDU模式;單片機向TC35i 模塊發送每一條指令后,必須以回車符作為該條指令的結束,例如單片機向手機發送“AT+CMGF=0”這條指令,其ASCII編碼序列為“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一個字節0DH 就是回車符,表示該條指令結束,如果沒有這個回車符,手機將不識別這條指令。當TC35i 模塊接收到一條完整的AT 指令后,TC35i 模塊并不立即執行該條指令,而是先把剛才接收到的AT 指令的ASCII 編碼序列全部反發送出來(含0DH);其次發送一個回車符和一個換行符的ASCII 編碼,即0DH 和0AH;然后執行該指令。
1.030.jpg (18.78 KB, 下載次數: 92)
下載附件
2017-5-21 17:53 上傳
圖3-6 短消息收發流程
單片機讀取TC35i模塊的PDU 數據時,原始數據應該是16進制數,但讀回的數據仍然是ASCII表示的16進制數。這樣一個字節的16進制數就變成了2 個字節的ASMII 碼。但是PDU 數據包中的數據字節長度部分仍然是實際字符長度。而不是變成ASCII 碼的字節長度,這在編程時應特別注意,否則,接收的數據就不完整。單片機接收到PDU 數據包數據后,必須將其恢復成16 進制數據,其算法如下:設a 為接收的ASCII碼,b為轉換后的16進制數。那么如果a<39H,則b=a-30H;如果a=39H,則b=a-30h-07H。最后把前后兩個數合并為一個字節。TC35i 模塊向單片機應答PDU數據包的字節數時不包括前9個字節數據,但向單片機傳送PDU 數據包時,包括這9個字節的數據。例如,如果TC35i模塊應答的PDU 數據長度為50,而實際向單片機傳送的16 進制數據為59 字節,ASCII碼為2×59字節,所以單片機必須按2×59個字節接收PDU 數據。
常用的AT指令如下表:
表3-4 常用AT指令
AT指令在本設計中的應用可詳細參看附錄中的程序部分。
4 系統調試本設計由以下幾部分組成:單片機最小系統、加速度傳感器、溫濕度傳感器、GSM及其控制板、供電電源、顯示等六部分組成。由于本設計采用的都是數字傳感器,通訊方式是串行通信模式,故本系統的調試過程基本上是程序的調試。
4.1液晶顯示首先進行調試的是顯示程序,只有有了顯示,才能觀察到讀取的各個傳感器的數據,才能直觀的判定其他部分工作是否正常。
顯示部分采用的是1602液晶顯示,1602液晶是字符型的顯示屏,只能顯示字母和符號。顯示屏上需要顯示溫度值、濕度值、加速度傳感器的三軸加速度值。加速度單位為g。在1602液晶的子程序的開始,定義了一系列的數組用于顯示的調用。當傳感器沒有插好,或者忘記供電時,液晶屏的第一行將會顯示“No acceleration!”以提示出現故障,當正常工作時液晶的第一行將顯示溫度值,濕度值以及加速度的X軸的數據,第二行將會顯示Y軸和Z軸的加速度值。顯示的加速度值是在程序中經過處理轉化的。在讀取X軸的數據后,需要將數據按照數據手冊上的值進行轉換,并將每一位轉化成字符型的值放到數組中,通過1602液晶的控制字送到屏幕上顯示。顯示效果如下圖所示:
1.031.jpg (10.81 KB, 下載次數: 89)
下載附件
2017-5-21 17:53 上傳
圖4-1 液晶顯示調試結果
有了顯示部分,就好像有了一只眼,這樣就能在程序中設置標識,通過顯示屏來判斷程序運行是否正常,就能夠直觀的判斷調試結果,給調試過程帶來了很大的方便。
4.2 GSM的調試GSM和單片機最小系統是整個系統的神經中樞和大腦,動作的執行和處理都過這兩部分來組成,因此是調試中的重中之重。
對于單片機最小系統來說,首先是正常工作,單片機使用的AT89S52單片機,在焊接過程中,由于EA引腳沒有接高電平,在用流水燈測試單片機最小系統時對IO口單獨賦值時電平輸出有效,當讓流水燈循環流動時,卻沒有達到預期的效果。由于當EA為高電平時,單片機先訪問內部程序存儲器,當尋址范圍超出內部程序存儲器的最大尋址空間時,就自動跳向外部程序存儲器。因此才會出現上出現的情況。此外就是P0口的輸出問題,當作為傳輸數據口時是不用接上拉電阻的,當作為驅動時就這排上拉電阻就會非常重要。
調試好最小系統后就要與GSM模塊進行聯調了。在這里利用的是GSM發短信和打電話的功能,對GSM模塊的控制是通過單片機和GSM進行串口通信,通過串口通信發送AT指令給GSM,GSM進會按照相應的指令進行工作。在這個過程中,程序的編寫都需要參考GSM數據手冊中的AT指令表,這樣編寫出的程序才能按照預期進行工作。
1.032.jpg (20.99 KB, 下載次數: 100)
下載附件
2017-5-21 17:53 上傳
圖4-2 GSM與單片機相連接
在單片機與GSM進行聯調的過程,遇到了兩個經常犯的錯誤,一個是串口通信的端口連接,另一個就是晶振的選取。在串口通訊時必須將單片機的TXD和RXD端子和對應GSM的RXD和TXD相連,而且要共地。否則數據不能正常傳輸,也達不到預期的效果。晶振的選取是以通信的波特率為準進行參數設置的。GSM與單片機通訊的波特率是9600,因此需要選擇11.0592MHz的晶振,不能選擇12MHz的晶振。這是因為標準的51單片機晶振是1.2M~12M,由于一個機器周期是12個時鐘周期,所以使用12M的晶振時,一個機器周期是1us,在進行定時時容易計算,而且速度相對是最高的。之所以使用11.0592M的晶振是因為在進行通信時,12M的頻率進行串行通信不容易實現標準的波特率,比如9600,4800等。而11.0952MHZ的晶振在計算時鐘、串口通信的波特率等運算中能夠得到一個整數,計算的結構更加的精確和方便。12M的容易出現累積誤差,因此在這里需要使用11.0592MHz的晶振才能保證精確的波特率,才能保證在傳輸數據的過程中不發生錯誤。
4.3加速度傳感器的調試加速度傳感器采用的是MMA7455I,是一款數字傳感器,具有三個自由度,通過對CS端子進行賦值可以選擇通信方式即SPI和IIC兩種通信方式,當CS為高電平時采用的是IIC通訊方式,低電平時為SPI通訊方式。IIC通信為串行通信,可通過一個時鐘線和數據線讀取加速度傳感器內的數據。
MMA7455I加速度傳感器的測量范圍為
1.033.jpg (804 Bytes, 下載次數: 84)
下載附件
2017-5-21 17:53 上傳
0-
1.034.jpg (804 Bytes, 下載次數: 96)
下載附件
2017-5-21 17:53 上傳
2g/4g/8g,可通過mode control register來設置工作模式(g為重力加速度),這里選擇量程為4g。通過IIC協議來讀取加速度的值。每個軸上的加速度值的長度都是一個字節(8bit),由于滿量程為4g,因此MMA7455I的分辨率為
1.035.jpg (1.65 KB, 下載次數: 95)
下載附件
2017-5-21 17:53 上傳
,也就是滿63為1g的加速度。按照這個方法送到顯示屏上顯示,顯示單位為g,可以精確到小數點后兩位。讀取加速度后就可以進行位移的計算了。在程序調試時設置當加速度大于
1.036.jpg (1.67 KB, 下載次數: 102)
下載附件
2017-5-21 17:53 上傳
時,開始采集加速度數據,并打開定時器開始計時,并在循環采集程序中設置采集次數標志位,當加速度小于的時候,退出循環采集程序,然后求和,求平均算出加速度的平均值。有個平均加速度值,運動時間,由于初始加速度值為0,有公式
1.037.jpg (1.52 KB, 下載次數: 91)
下載附件
2017-5-21 17:53 上傳
上面公式中的加速度值和時間就可以求出移動的大致距離。
在采集的過程中,加速度值是帶有符號的,在相加的過程中如果出現來回的抖動,有符號的只想加加速度值就會變小,甚至最終導致和位移為0。這樣就可以消除抖動帶來的誤報現象。這就是這個過程的位移算法。
芯片的工作電壓是3.3V,因此需要通過電壓轉化來進行供電,轉換芯片采用RT9161,它具有很小的失調電壓,電流大,驅動能力強,用此款芯片來對傳感器進行供電,可靠性高。
在調試過程總最容易忽略,最容易犯錯的就是單片機最小系統和傳感器共地的問題,如果不共地,單片機讀取的數據就有錯誤,只有共地后才有了統一的電平參考標準,才能正確的傳輸數據,設計上一般不會忽略這個問題,但是在調試過程中由于接線等問題,經常會忘了共地而對調試帶來很大的麻煩。
1.038.jpg (8.71 KB, 下載次數: 92)
下載附件
2017-5-21 17:53 上傳
圖4-3 防盜報警電話
4.4 DHT11溫濕度傳感器 在本設計中DHT11用于采集溫濕度信息,可單總線串行輸出數字信號。DHT11總共有四個管腳,在焊接電路時,第一個管腳接VCC,第二個管腳為數據傳輸管腳,直接接到單片機的p2.0口,同時為了加強傳輸信號,在此管腳上加一個5k的上拉電阻,等待數據傳輸。
總線空閑狀態為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,此時調用一個18毫秒的延時子函數,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結束,然后調用一個80us低電平響應信號。主機發送開始信號結束后,延時等待20-40us后, 讀取DHT11的響應信號,主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。
1.039.jpg (9.46 KB, 下載次數: 85)
下載附件
2017-5-21 17:53 上傳
圖4-4 DHT11接上拉電阻
用戶MCU發送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據。送出的40bit數據,是由兩個字節的濕度數據、兩個字節的溫度數據和一個字節的校驗和數據,同時,溫、濕度數據是以一個字節按由高位到低位傳輸、一個由低位到高位傳輸,因此在程序中分別將一個字節的數移位后,將前四個字節相加,再和第五個字節相比較,如果相同即判定數據傳輸正確。
1.040.jpg (9.62 KB, 下載次數: 78)
下載附件
2017-5-21 17:53 上傳
圖4-5 火災報警短信
在連接好電路后,向DHT11哈氣,觀察液晶屏上濕度值是否增加,以此來判斷DHT11是否能實現對濕度信息采集的功能。同時把電烙鐵加熱,等達到一定的溫度后,放置在DHT11的旁邊,從液晶屏中觀察溫度值的變化,同時但溫度升高到45°時,觀察單片機是否會通過GSM給指定手機發送短信。
1.041.jpg (29.87 KB, 下載次數: 81)
下載附件
2017-5-21 17:53 上傳
圖4-6 系統總體圖
5 總結與展望5.1總結本文設計了基于單片機的智能家居報警系統,通過近段時間的努力研究,主要完成以下內容:
- 通過分析家居生活中可能遇到的安全隱患,選擇了其中的兩個(防盜、防火災)進行報警設計;
- 通過分析把整個系統分為若干個模塊;
- 分別對每個模塊進行了分析和設計(軟硬件設計);
- 使用Altium Designer Summer09繪制了系統原理圖;
- 焊接、調試實物模型。
5.2展望中國經濟經過30 年的高速發展,居民的生活水平和消費能力有了很大提高,新需求的增長以及信息化對人們傳統生活的改變,讓許多人尤其是先富起來的一部分人,對智能家居的需求日益強烈。由此,智能化小區建設近年來也是如火如荼,“智能家居”更是被炒得炙手可熱。智能家居要走進尋常百姓家中是指日可待的發展趨勢。中國是一個具有巨大的消費潛力的市場,國內的智能控制理念推廣不夠,是由于這是一個新興行業,不同于普通消費品市場的建設,消費觀念的形成還需要時間,現在只是在部分高端市場得到應用,并且主要是被國外品牌所占據,為此我們通過與國外公司的合作學習先進的企業管理和品質控制理念,相信未來國內智能化產品市場一定會擁有美好的前景,智能化也將成為人們日常生活的基本標準。
然而對于家居生活中存在的安全隱患,本設計并沒有做到十分全面,例如:關于甲醛等有害氣體檢測、管道泄漏情況檢測、電路安全狀況的監測等,都沒有涉及,因此本系統還有很大的擴展空間。隨著信息時代來臨,智能監控進入高速發展時期,智能防盜報警系統作為智能化系統中的子系統之一,同樣承載著智能監控所面臨的挑戰與機遇。針對居住的環境不同,用戶對于防盜報警系統的要求也不是一成不變的。因而智能防盜報警系統的設計中要考慮這些因素。既要易于使用,又要易于安裝和維護,還要有利于擴張和升級,還要考慮與其他系統的集成和信息共享,還要關注計算機、通信技術的發展對系統帶來的影響。
目前,智能家居“錢”途無量,但目前國內仍處于向國外企業學習階段。這里的學習并非統統照搬,而是根據我們國家的環境、政策,學習國外的成功經驗,借“機”生蛋,增加國內企業成功的“籌碼”,使得國內智能家居產業發展的風生水起。
因此智能報警系統可作為智能家居的一部分進行擴展,本設計只是做了單方面的報警,如果繼續拓展的話,可通過GSM對家中的一些電器進行雙向的控制。例如:在烈日炎炎的夏日,當主人準備回家時可查看家中溫度,如果超過了主人需求的溫度,則可通過手機直接和家中安裝的GSM模塊實現遠程無線連接,進一步可控制空調的開放和關閉來實現對家中溫度的調節,這樣當主人到家時立刻就能享受到家中的溫馨清涼。
基于單片機的智能家居報警系統是智能家居中的一部分,為智能家居正常工作提供有力的保障,但如果融入智能家居設計中,本設計會得到進一步的完善、更廣泛的應用,實現更可觀的價值。
附錄二 程序主程序(在壓縮包里面下載)
173532zm2440knnvzbzttk.png (67.92 KB, 下載次數: 94)
下載附件
2017-5-21 17:58 上傳
所有資料下載地址(含完整文檔+程序+ppt文件):
http://www.raoushi.com/bbs/dpj-85476-1.html
-
1.024.jpg
(771 Bytes, 下載次數: 105)
下載附件
2017-5-21 17:53 上傳
作者: 少女心-934 時間: 2018-3-15 13:51
有沒有電路原路圖和PCB圖呢?
作者: Sahen 時間: 2018-12-26 16:43
感謝樓主分享
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |