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

正文內(nèi)容

基于gsm短信模塊的防盜報(bào)警監(jiān)控系統(tǒng)終端軟件設(shè)計(jì)(論文)-資料下載頁

2025-07-01 20:28本頁面

【導(dǎo)讀】基于GSM短信模塊的防盜報(bào)警監(jiān)控系統(tǒng)——終端軟件設(shè)計(jì)。畢業(yè)設(shè)計(jì)(論文)專用紙

  

【正文】 /將 DEBUG_DATA 寫入 EEPROM } } void read_number(char p[]) { char i=0。 INT8U read_eeprom=0。//uchar read_eeprom INT16U eeprom_address=0。//uint eeprom_address eeprom_address = DATA_FLASH_START_ADDRESS。 for(i=0。i15。i++) { read_eeprom = Byte_Read(eeprom_address+i)。 p[i]=read_eeprom。 //實(shí)驗(yàn)證明可以不 用延時(shí) //TimeDelay(5)。 } } 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 28 短消息報(bào)警程序設(shè)計(jì) 短信報(bào)警及檢測程序 短信報(bào)警程序是來完成報(bào)警功能的,首先判斷是否有警情,若有則發(fā)送報(bào)警短信到指定手機(jī),若發(fā)送成功,則退出子程序,若無警情,直接退出子程序。 短信報(bào)警程序流程圖如圖 42所示。 程序如下: if(system_cast==3) //監(jiān)測報(bào)警狀態(tài) { EX0=1。 //允許外部中斷 0 中 斷 system_cast=0。 } if(a==2amp。amp。c==3) { for(i=2。i13。i++) { phone[i2]=phone_number[i]。 } UART1_SendStr(AT\r)。 //AT 指令測試 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(AT\r)。 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(AT\r)。 TimeDelay(100)。 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 29 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(AT+CSCA=+8613800871500\r)。 //短信中心號碼 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(AT+CMGF=1\r)。 // 短信 TEXT 模式 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(AT+CMGS=)。 //發(fā)送短信命令 UART1_SendStr(phone)。 //報(bào)警電話號碼 UART1_SendStr(\r)。 //命令結(jié)束 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(500)。 UART1_SendStr(error!)。 //發(fā)送短信 error! TimeDelay(50)。 UART1_SendStr(\x01a)。 TimeDelay(500)。 TimeDelay(500)。 TimeDelay(500)。 a=0。 c=0。 PutString(30,30,error!)。 //液晶顯示 error! } } 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 30 圖 42 短信報(bào)警程序流程圖 GSM 常用 AT 指令 本 系統(tǒng)軟件的核心部分是單片機(jī)與 GSM摸塊的通信,技術(shù)難點(diǎn)是 AT命令的 設(shè)置和使用。 AT命令是調(diào)制解調(diào)器的控制指令 ,無線信道的建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^它來完成的。 單片機(jī)與 GSM 模塊( TC35)的軟件接口其實(shí)就是單片機(jī)通過發(fā)送 對應(yīng)正確 的 AT指令對 GSM 模塊進(jìn)行操作的技術(shù)。如設(shè)置短信息的編碼方式、讀取手機(jī)的 電話本 、 發(fā)送 短信息、 電話掛機(jī)、撥打 手機(jī)等。執(zhí)行 1 條指令,并非某些資料介紹的那么簡單,事實(shí)上,指令的執(zhí)行過程需要單片機(jī)與手機(jī)交互應(yīng)答完成,每一次發(fā)送或接收的字節(jié)數(shù)都有嚴(yán)格的規(guī)定,二者必須依據(jù)這些規(guī)定實(shí)現(xiàn)數(shù)據(jù)交換,否則,就會(huì)出現(xiàn)通信失敗。因此,做好單片機(jī)與 GSM 模塊 通信,了解 AT 指令執(zhí)行過程 就很重要。圖 43 為相關(guān) AT 指令詳解,圖 44 列出 AT 指令執(zhí)行過程。需要重點(diǎn)說明的是,所有 AT 指令的指令符號、常數(shù)、 PDU 數(shù)據(jù)包等都是以 ASCII 編碼形式傳送的。 報(bào)警短信處理并發(fā)送 N 有警情? 成功? Y N 退出子程序 system_cast=3 檢測狀態(tài) 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 31 圖 43 相關(guān) AT 命令 圖 44 AT 指令執(zhí)行過程 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 32 單片機(jī)發(fā)送 AT 指令的程序: UART1_SendStr(AT\r)。 /* AT 指令測試 */ UART1_SendStr(AT+CSCA=+8613800871500\r)。 /* 查詢短信中心 */ UART1_SendStr(phone)。 /*報(bào)警電話號碼 */ UART1_SendStr(AT+CMGF=1\r)。 /* 短信 TEXT 模式 */ //UART1_SendStr(AT+CMGF=0\r)。 /* 短信 PDU 模式 */ UART1_SendStr(AT+CMGS=)。 /* 發(fā)送短信命令 */ UART1_SendStr(\r)。 /* 命令結(jié)束 */ UART1_SendStr(error!)。 /* 發(fā)送短信 error! */ 在大多數(shù)基于 GSM/GPRS的數(shù) 據(jù) 傳 輸 應(yīng)用中,是將 MCU與無線模塊相連,二者依托串口通信(需電平轉(zhuǎn)換),程控 MCU以一定的協(xié)議對模塊發(fā)送 AT指令、接收模塊執(zhí)行指令后的返回值,并執(zhí)行相應(yīng)校驗(yàn)。 MCU串口實(shí)質(zhì)上是以位為單位完成收發(fā), 由協(xié)議預(yù)定義的起始位 、校驗(yàn)位、停止位決定數(shù)據(jù)幀的封裝格式。字符格式的 AT指令需按照 ASCII編碼轉(zhuǎn)化為二進(jìn)制數(shù)后才可存儲(chǔ)在 MCU的 ROM中,進(jìn)而通過串口收發(fā),但 AT指令及其返回字符串中混有不可打印字符,如 AT指令通常的控制字符 CR、短信發(fā)送的指令符 Ctrl+Z,所有的 AT指令返回值并非以可打印字符起 始, 需要很好的了解 AT指令的具體格式。只有知道了它的具體格式,同時(shí)掌握 GSM摸塊 返回值的格式,才能完成 MCU與 GSM摸塊的通信 , 上述問題是用 MCU控制無線模塊的關(guān)鍵,透徹解決它們的第一步是準(zhǔn)確掌握 AT指令的格式。 在系統(tǒng)設(shè)計(jì)過程中可利用超級終端 ,串口檢測軟件對串口進(jìn)行檢測,確定 AT指令的具體格式。 在本系統(tǒng)中,單片機(jī)通過串口 1向 GSM 模塊發(fā)送相應(yīng)的 AT 命令來實(shí)現(xiàn)短消息的發(fā)送和接收。下面是短信模式設(shè)置程序: /* 設(shè)置短信模式 */ void set_sms_mode(INT8U mode) { /* PDU 模式 */ if (mode == SMS_PDU_MODE) 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 33 { b_smsMode = FALSE。 ifdef UART_H put_send_data(SMS_PDU_MODE_CMD,strlen(SMS_PDU_MODE_CMD))。 put_send_data(\r\n,strlen(\r\n))。 endif } /* TEXT 模式 */ else { b_smsMode = TRUE。 ifdef UART_H put_send_data(SMS_TEXT_MODE_CMD,strlen(SMS_TEXT_MODE_CMD))。 put_send_data(\r\n,strlen(\r\n))。 endif } } GSM 模塊的短信模式有兩種。第一種是: TEXT 模式;第二種是 PDU 模式。 PDU模式可以采用 unicode 編碼發(fā)送英文、漢字。但合成 PDU 碼比較復(fù)雜,而 TEXT 模式只能發(fā)送英文。 以 TEXT 模式發(fā)送短信程序: void send_sms_text_mode(void) { 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 34 ifdef UART_H ifdef CMD_H INT8U i。 sms_init(FALSE)。 /* 如果還未初始化則初始化 */ /*發(fā)送短信命令 */ put_send_data(SMS_SEND_CMD,strlen(SMS_SEND_CMD))。 /* 發(fā)送短信命令頭 */ put_send_data(\,1)。 /* 發(fā)送雙引號 */ put_send_data(SMS_NUMBER,strlen(SMS_NUMBER))。 /* 發(fā)送號碼 */ put_send_data(\\r\n,3)。 /* 發(fā)送雙引號和結(jié)束符 */ /* 進(jìn)行延時(shí) */ delay_int(200)。 /*發(fā)送短信內(nèi)容 */ put_send_data(SMS_CONTENT,strlen(SMS_CONTENT))。 /* 發(fā)送短信內(nèi)容 */ i = CTRL_Z。 /* 發(fā)送結(jié)束符 CTRL+Z */ put_send_data(amp。i,1 )。 endif endif } AT+CMGS=da[,toda]CR該命令是用來發(fā)送基于 TEXT格式的短消息在該命令中, da為字符串形式的目的地址, 指摘收短消息的手機(jī)號碼,它的類型由 toda來確定。 toda為地址類型識別號,當(dāng) da的第一個(gè)是 “ +” 時(shí), toda的值為整數(shù)值“ 145” ,否則 toda的整數(shù)值為 “ 129” .該條令在輸入完前面的參數(shù)后,以回車符號結(jié)束,接下來輸入短消息的內(nèi)容,并以字符 “ CTRL+Z” 結(jié)束,該字符的 ASCII 碼值為“ 26” 。如果取消發(fā)送,則以字符 “ ESC” 結(jié)束。 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁 35 IIC 鍵盤驅(qū)動(dòng)程序 IIC 鍵盤的控制芯片為 CH452, CH452 的鍵盤掃描功能支持 8 8 矩陣的 64 鍵鍵盤。在鍵盤掃描期間, DIG7~ DIG0 引腳用于列掃描輸出, SEG7~ SEG0 引腳都帶有內(nèi)部下拉電阻,用于行掃描輸入。當(dāng)啟用鍵盤掃描功能后, 4 線串行接口中的 DOUT 引腳的功能由串行接口的數(shù)據(jù)輸出變?yōu)殒I盤中斷輸出以及按鍵數(shù)據(jù)輸出。 鍵盤驅(qū)動(dòng)程序如下: void CH452_Write(unsigned short cmd) //寫命令 { CH452_I2c_Start()。 /*啟動(dòng)總線 */ ifdef ENABLE_2_CH452 // 若有兩個(gè) CH452 并連 CH452_I2c_WrByte((unsigned char)(cmd7)amp。CH452_I2C_MASK|CH452_I2C_ADDR0)。 // CH452 的 ADDR=0 時(shí) else CH452_I2c_WrByte((unsigned char)(cmd7)amp。CH452_I2C_MASK|CH452_I2C_ADDR1)。 //CH452 的 ADDR=1 時(shí) (默認(rèn) ) endif CH452_I2c_WrByte((unsigned char)cmd)。 /*發(fā)送數(shù)據(jù) */ CH452_I2c_Stop()。 /*結(jié)束總線 */ } unsigned char CH452_Read(void) //讀取按鍵 { unsigned char keycode。 CH452_I2c_Start()。 /*啟動(dòng)總線 */ CH452_I2c_WrByte((unsignedchar)(CH452_GET_KEY7)amp。CH452_I2C_MASK|0x01|CH452_I2C_ADDR1)。 // 若 有兩個(gè) CH452 并連 ,當(dāng) ADDR=0 時(shí) ,需修改為CH452_I2C_ADDR0 keycode=CH452_I2c_RdByte()。 /*讀取數(shù)據(jù) */ 畢業(yè)設(shè)計(jì)(論文)專用紙 第 頁
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1