freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于gsm的遠程家庭智能報警系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-15 16:46 本頁面
 

【文章內容簡介】 外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。:外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。:當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內部程序存儲器。注意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源。:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。:來自反向振蕩器的輸出。 AT89S52單片機的振蕩器特性和芯片擦除:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C52設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 AT89S52單片機的典型功能 中斷系統(tǒng) 中斷系統(tǒng)是計算機中的一項很重要的技術。中斷系統(tǒng)的主要功能是為了解決快速CPU與慢速的外設之間的矛盾,它是由硬件和軟件組成的。有了中斷系統(tǒng),能使計算機的功能更強、效率更高、使用更加靈活方便。下面簡單介紹中斷系統(tǒng)的組成、處理過程及其應用。 52單片機總共有6個中斷源。外部中斷有/INT0、/INT1,、可選擇低電平有效或沿下降沿有效。內部中斷源有T0、TT2溢出中斷和串行口中斷源。不同的中斷源有不同的中斷矢量,當某個中斷源的中斷請求被響應后,CPU將通過硬件自動地把相應的中斷源的中斷入口地址裝入PC中,即從此地址開始執(zhí)行中斷服務程序。因此,使用時一般在此地址單元中存放一條跳轉指令,當CPU響應中斷是,使單片機自動執(zhí)行相應的入口地址的跳轉指令,然后再通過該跳轉指令至用戶安排的中斷服務程序的入口處。表24 中斷入口地址中斷源中斷入口地址/INT0(外部中斷0)0003HT0(定時器0)000BH/INT1(外部中斷1)0013HT1(定時器1)001BH串口輸入/輸出0023H定時器2002BH 中斷處理過程分為三個階段,即中斷響應、中斷處理、中斷返回。下圖為中斷響應過程中硬件自動完成的流程圖,如果中斷響應條件滿足,而且不存在中斷受阻,CPU將響應中斷呢。在此情況下,CPU首先使被響應中斷的“優(yōu)先級激活”觸發(fā)器置位,以阻斷同級和低級的中斷。圖214 中斷響應過程然后,根據(jù)中斷源的類別,在硬件的控制下內部自動形成長調用指令,此指令的作用是:首先自動將斷點壓入堆棧,但不自動保存PSW的內容,然后將對應的中斷源的入口地址裝入程序計數(shù)器。 CPU中斷響應結束后即轉到中斷服務程序的入口地址,從執(zhí)行中斷服務程序的第一條指令開始到執(zhí)行RETI返回指令為止,這個過程成為中斷處理或中斷服務。 串口通信是計算機與外界交換信息的一種基本通信方式。52單片機中的串行接口是一個全雙工通信接口,即能同時進行數(shù)據(jù)的發(fā)送和接收。它可作偽通用異步接收和發(fā)送器使用,也可以用作同步移位寄存器,其幀格式和波特率均可通過軟件編程設置,在使用上非常方便靈活。 串行通信的基本特征是數(shù)據(jù)逐位順序進行傳送串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平等)不同,形成了多種串行通信的協(xié)議與接口標準。 單片機接收數(shù)據(jù)的過程是:當CPU允許接收(即SCON的REN位置“1”)且接收中斷標志RI復位時,就啟動一次接收過程。接收數(shù)據(jù)時,(RXD)串行輸入,數(shù)據(jù)的最低位首先進入輸入移位寄存器,一幀數(shù)據(jù)接收完畢再并行送入到緩沖器SBUF中,同時將接收中斷標志RI置“1”。當用軟件將輸入的數(shù)據(jù)讀走并將RI復位后,才能再開始下一幀數(shù)據(jù)的傳送。 發(fā)送數(shù)據(jù)的過程為:當發(fā)送中斷標志位TI復位后,CPU執(zhí)行任何一條寫SBUF指令,就啟動一次發(fā)送過程。CPU在執(zhí)行寫SBUF指令的同時啟動發(fā)送控制器開始發(fā)送數(shù)據(jù),被發(fā)送的數(shù)據(jù)由TXD引腳串行輸出,首先輸出最低位,當一幀數(shù)據(jù)發(fā)送完即發(fā)送緩沖器空時,CPU自動將發(fā)送中斷標志TI置1,當軟件將TI復位時,同時又將下一個數(shù)據(jù)寫入數(shù)據(jù)緩沖器后,CPU再次重復上述過程直到數(shù)據(jù)發(fā)送完成。 GSM模塊 本設計使用的是西門子公司生產的TC35i。TC35i是Siemens公司推出的無線通信GSM模塊,可以快速安全可靠的實現(xiàn)數(shù)、語音傳輸、短消息服務(SMS)和傳真?!?,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900MHz)和1W(1800MHz)。模塊有AT命令集接口,支持文本和PDU模式的短消息、第三組的二類傳真、。此外,該模塊還具有電話簿功能、多方通話、漫游檢測功能,常用的工作模式由省電模式、IDLE、TALK等模式。通過獨特的40引腳的ZIF連接器,可分別連接SIM卡支架和天線。TC35i模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口留部分組成。作為TC35i的核心,基帶處理器主要處理GSM終端內的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設備中的所有的模塊和數(shù)字功能。在不需要額外硬件電路的前提下,可支持FR、HR、EFR語音信道編碼。目前,國內已經開始使用的GSM模塊有很多,而且這些模塊的功能、用法差別不大。本設計采用西門子TC35 系列的TC35i,這種無線模塊功能上與TC35 兼容,設計緊湊,大大縮小了用戶產品的體積。TC35i 與GSM2/2 兼容、雙頻(GSM900/GSM1800)、RS232 數(shù)據(jù)接口,該模塊及射頻電路和基帶與一體,向用戶提供標準的AT 命令接口,為數(shù)據(jù)、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應用開發(fā)及設計。 TC35i 模塊主要由GSM基于處理器、GSM射頻模塊、供電模塊、閃存、ZIF 連接器、天線接口六部分組成。通過ZIF 連接器與單片機實現(xiàn)電路接口,該接口讀取或發(fā)送TC35i 模塊中的數(shù)據(jù),將是本文論述的重點,也是TC35i 應用的核心。單片機與TC35i 的軟件接口其實就是單片機通過AT 指令控制手機的控制技術,首先設置TC35i 模塊的工作模式:AT+CMGF=n,n=0 為PDU 模式;n=1 為文本模式;通常設置為PDU 模式,在這種模式下,能傳送或接受透明數(shù)據(jù)(用戶自定義數(shù)據(jù))。AT+CMGR=n 為讀TC35i 模塊短消息數(shù)據(jù),n 為短消息號。AT+CMGL=n為列出TC35i 模塊內的短消息,n=0 是未讀的短消息,n=1 位已讀的短消息,n=2 位未發(fā)送的短消息,n=3 為已發(fā)送的短消息n=4 為所有短消息。AT+CMGD=n 為刪除TC35i 模塊的短消息,n 為短消息編號。軟件編程通過向TC35i 寫入不同的AT 指令能完成多種功能,如網絡登陸、讀取SIM卡上電話號碼、發(fā)送SMS 消息、接收SMS 消息等。常用的AT指令我們將在軟件設計中詳細說明。3 軟件設計 整個系統(tǒng)主要的分為兩個狀態(tài):主人在家狀態(tài)、主人不在家狀態(tài)。當主人在家時,報警系統(tǒng)僅對溫度傳感器和煙霧傳感器進行監(jiān)視;當按下主人不在家的按鍵時,系統(tǒng)就進入到主人不在家狀態(tài),對家中的門窗、溫度、煙霧等作一系列的監(jiān)控,一旦有意外發(fā)生能及時通知戶主采取急救措施,有效避免災情進一步發(fā)生。 程序是由主程序、開機初始化模塊、主人在家狀態(tài)模塊、延時和定時器模塊、無人在家狀態(tài)模塊、傳感器檢測模塊、串口初始化和GSM通信模塊組成。(1)主程序。單片機上電后即執(zhí)行主程序。主程序調用開機初始化模塊,之后確定用主人是否在家模塊,確定要工作的狀態(tài)。(2)開機初始化模塊。該模塊控制所有模塊的指示燈點亮以確定所有模塊都正常工作,同時對單片機內部特殊寄存器進行賦值,設置完畢后進入主人在家狀態(tài),只有當系統(tǒng)復位后此模塊才會再次被調用。(3)主人在家狀態(tài)模塊。該模塊調用對輸入的定時掃描,在家中溫度或煙霧濃度出現(xiàn)異常情況是報警,同時可在按鍵控制下轉入到無人在家模塊。該模塊桶用探測器檢測模塊、延時和定時器模塊相結合防止探測器的誤觸發(fā),提高系統(tǒng)可靠性。(4)延時和定時器模塊。該模塊包含軟件延時子函數(shù)及設置并啟動定時器的子函數(shù)以達到對鍵盤的定時掃描。(5)無人在家狀態(tài)模塊。該模塊調用傳感器檢測模塊、延時和定時模塊對外部輸入進行檢測,在傳感器被觸發(fā)的情況下發(fā)出警報并進入發(fā)送短信模塊。(6)傳感器檢測模塊。采用定時掃描的方式進行實時檢測防止報警被誤觸發(fā),想主人在家狀態(tài)模塊和無人在家狀態(tài)模塊返回各輸入口狀態(tài)。(7)傳感器檢測模塊。傳感器主要是由MMA7455i加速度傳感器、溫度傳感器和煙霧傳感器組成,對家中情況進行監(jiān)控,并做簡單的信號處理。(8)串口初始化和通信模塊。該模塊對在進入發(fā)送短信狀態(tài)時對串口進行初始化,負責與串口數(shù)據(jù)的收發(fā),并在發(fā)送短信完畢時對特殊寄存器和全局變量進行設置。防止由于某些傳感器一直處在觸發(fā)狀態(tài)而引起的短信重復發(fā)送。(9)GSM發(fā)送短信模塊。該模塊通過調用串口初始化和通信模塊與GSM模塊發(fā)送AT指令控制其發(fā)送短信。圖31 系統(tǒng)程序結構 基于C語言的程序調試C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。它可以作為工作系統(tǒng)設計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。具體應用比如單片機以及嵌入式系統(tǒng)開發(fā)。C是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。 C也是一種結構式語言。結構式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。 C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的的游戲。同時C語言適用范圍大,適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機型。C語言對編寫需要硬件進行操作的場合,明顯優(yōu)于其它高級語言,有一些大型應用軟件也是用C語言編寫的。指針是C語言的一大特色,可以說是C語言優(yōu)于其它高級語言的一個重要原因。就是因為它有指針,可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低于C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。 而匯編語言是面向機器的程序設計語言。在匯編語合中,用助記符代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。大多數(shù)情況下Linux程序員不需要使用匯編語言,因為即便是硬件驅動這樣的底層程序在Linux操作系統(tǒng)中也可以完全用C語言來實現(xiàn),再加上GCC這一優(yōu)秀的編譯器目前已經能夠對最終生成的代碼進行很好的優(yōu)化,的確有足夠的理由讓我們可以暫時將匯編語言拋在一邊了。但實際情況是Linux程序員有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和lib無關性。假設要移植Linux到某一特定的嵌入式硬件環(huán)境下,首先必然面臨如何減少系統(tǒng)大小、提高執(zhí)行效率等問題,此時或許只有匯編語言能幫上忙了。匯編語言比機器語言易于讀寫、調試和修改,同時具有機器語言全部優(yōu)點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。綜上所述,本設計使用的是C語言進行程序的編寫。AT89S52的C語言編程和C51系列的相同,因此以下用51系列來說明。由于8051系列是8 位機,因而不存在字節(jié)校準問題。這意味著數(shù)據(jù)結構成員是順序放置的。數(shù)據(jù)類型的轉換:當計算結果隱含著另外一種數(shù)據(jù)類型時,數(shù)據(jù)類型可以自動進行轉換,例如,將一個位變量賦給L:一個整型變量時,位型值自動轉換為整型值,有符號變量的符號也能自動進行處理。這些轉換也可以用C 語言的標準指令進行人工轉換。編譯器支持下列數(shù)據(jù)類型:表31數(shù)據(jù)類型數(shù)據(jù)類型長度值域bit1字節(jié)0或1signed char1字節(jié)128~+127unsigned char
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1