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

正文內(nèi)容

基于gsm短信模塊防盜警報(bào)監(jiān)控系統(tǒng)終端設(shè)計(jì)論文-在線瀏覽

2025-08-14 17:22本頁(yè)面
  

【正文】 ASCII 碼西文字庫(kù)。MzLH0312864最有特色的是其自帶的基本繪圖GUI功能,用戶只需要寫入一些簡(jiǎn)單的命令,就可以繪出直線、矩形或者是圓形等,用戶代碼中無需進(jìn)行繁瑣的計(jì)算和操作。l 128 x 64 點(diǎn)陣 FSTN;l 串行接口方式;l 自帶 12X12 點(diǎn)二級(jí)漢字庫(kù)和 16X16 點(diǎn)二級(jí)漢字庫(kù);l 自帶 6X8X16 點(diǎn) ASCII 碼西文字庫(kù);l 自帶基本繪圖 GUI 功能(繪點(diǎn)、直線、矩形、矩形框、實(shí)心圓形、圓形框);l 自帶整型數(shù)顯示功能,直接輸入整型數(shù)顯示,而無需作變換;l 模塊自帶由指令控制的白色 LCD 背光,美觀大方;圖26 LCD液晶電路接口圖 系統(tǒng)工作原理及結(jié)構(gòu)框圖本系統(tǒng)工作原理是:當(dāng)有人進(jìn)入房間觸發(fā)斷線報(bào)警裝置時(shí),斷線報(bào)警器異常情況傳到STC單片機(jī),通過STC單片機(jī)分析、處理,生成報(bào)警信息;同時(shí)單片機(jī)系統(tǒng)控制GSM模塊向指定手機(jī)發(fā)出報(bào)警短信。系統(tǒng)主要有STC單片機(jī)(帶鍵盤)作為主控機(jī)、GSM模塊、LCD液晶模塊、手機(jī)模塊、斷線報(bào)警裝置及電源構(gòu)成。STC單片機(jī)和GSM模塊之間通過RS232串口進(jìn)行雙向通信,GSM只接收STC單片機(jī)的控制信息。(3)LCD液晶顯示,主要用于顯示信息及更設(shè)置用戶想要指定的手機(jī)號(hào)碼。STC單片機(jī)(IIC鍵盤)GSM模塊LCD液晶顯示屏斷線報(bào)警裝置用戶手機(jī)電源圖27 系統(tǒng)框圖 第三章 終端軟件總體設(shè)計(jì) 主程序功能裝置上電后首先必須對(duì)單片機(jī)、系統(tǒng)變量等進(jìn)行初始化,然后通過拉低IGT啟動(dòng)TC35,并通過發(fā)送AT命令進(jìn)行模塊的初始化設(shè)置。TC35的初始化包括設(shè)置短信到達(dá)時(shí)提醒方式、接收短信的存儲(chǔ)位置、電話尋址位置等,初始化過程中用到的相關(guān)AT命令詳見下文(圖43)。裝置的遠(yuǎn)程報(bào)警和開啟功能通過軟件控制實(shí)現(xiàn),在使用裝置前需準(zhǔn)備好一張已開通的GSM網(wǎng)SIM卡,并設(shè)置好報(bào)警的目的手機(jī)號(hào)碼,此號(hào)碼也是用戶進(jìn)行遠(yuǎn)程開啟時(shí)的唯一有效號(hào)碼;設(shè)置好欲發(fā)送的報(bào)警短信內(nèi)容。主程序流程圖如圖31所示。若存儲(chǔ)過號(hào)碼則進(jìn)入system_cast=0號(hào)碼存儲(chǔ)成功進(jìn)入待機(jī)狀態(tài)同時(shí)也進(jìn)入監(jiān)測(cè)狀態(tài)。若在system_cast=1狀態(tài)下電話號(hào)碼讀取失敗,則可以重新輸入號(hào)碼直到存儲(chǔ)成功進(jìn)入system_cast=0狀態(tài)。(管腳編號(hào) 12)為外部中斷0,下降沿觸發(fā),連接斷線報(bào)警器如圖33。 系統(tǒng)狀態(tài)表設(shè)置號(hào)碼狀態(tài)系統(tǒng)初始化,串口設(shè)置完畢,檢測(cè)按鍵模塊,LCD顯示錄入界面信息,GSM模塊處于工作狀態(tài)。LCD顯示監(jiān)測(cè)狀態(tài)監(jiān)測(cè)狀態(tài)GSM模塊工作狀態(tài)把監(jiān)測(cè)報(bào)警結(jié)果用短信方式發(fā)送到用戶手機(jī)上。若存儲(chǔ)過號(hào)碼重置成功存儲(chǔ)成功按下監(jiān)測(cè)按鍵如果斷線發(fā)送失敗返回監(jiān)測(cè)再次發(fā)送成功報(bào)警,斷線重連初始化返回設(shè)置號(hào)碼狀態(tài)。下面為具體程序。串口初始化:void main(){ int i=0。 //禁止外部中斷0中斷 IT0=1。 //允許外部中斷1中斷 ES=1。 //允許接受串口數(shù)據(jù) EA=1。 OpenUART1()。 //使用CloseUART1()和CloseUART2()關(guān)閉 CH452_WriteInt(88)。 //初始化液晶 SetBackLight(120)。 //清屏 FontSet(1,1)。 //中文字體 read_number(phone_number)。839。amp。039。amp。239。amp。339。 //號(hào)碼存儲(chǔ)狀態(tài) PutString_(15,11,電話號(hào)碼讀取成功!)。 for(i=2。i++) { PutChar(15+(i2)*6,39,phone_number[i])。 PutString_(76,50,進(jìn)入監(jiān)測(cè))。 //輸入號(hào)碼狀態(tài) PutString_(10,0,電話號(hào)碼讀取失敗)。 }while(1){ if(system_cast==1amp。l==11) { write_number(phone_number)。 PutString_(35,40,存儲(chǔ)成功)。 } if(system_cast==3) //監(jiān)測(cè)報(bào)警狀態(tài) { EX0=1。 } 串口進(jìn)行數(shù)據(jù)的發(fā)送和接收處理時(shí),采用中斷服務(wù)程序來實(shí)現(xiàn),在中斷服務(wù)程序中主要完成:當(dāng)有信號(hào)使單片機(jī)進(jìn)入外部中斷后首先保存有必要保存的程序現(xiàn)場(chǎng)信息。若沒有報(bào)警信號(hào)輸入,則直接中斷返回。 號(hào)碼及按鍵設(shè)置程序設(shè)計(jì)程序如下:void int1() interrupt 2 { EX1=0。 if(key==0x4B) { system_cast=3。 PutString_(15,15,正在檢測(cè)中……)。 else if(system_cast==0) { if(key==0x4A) { system_cast=1。 ClrScreen()。 } }設(shè)置報(bào)警號(hào)碼修改按鍵,按下key==0x4A進(jìn)入設(shè)置號(hào)碼狀態(tài),可以設(shè)置或者修改存儲(chǔ)的號(hào)碼。139。PutChar(8+l*6,29,phone_number[l+1])。 case 0x41:phone_number[l+2]=39。l++。break。339。PutChar(8+l*6,29,phone_number[l+1])。 case 0x43:phone_number[l+2]=39。l++。break。539。PutChar(8+l*6,29,phone_number[l+1])。 case 0x51:phone_number[l+2]=39。l++。break。739。PutChar(8+l*6,29,phone_number[l+1])。 case 0x53:phone_number[l+2]=39。l++。break。939。PutChar(8+l*6,29,phone_number[l+1])。 case 0x49:phone_number[l+2]=39。l++。break。 } } } EX1=1。對(duì)應(yīng)按鍵如下(圖41)。//uchar read_eeprom INT16U eeprom_address=0。 eeprom_address = DATA_FLASH_START_ADDRESS。 //擦除整個(gè)扇區(qū) p[0]=39。 p[1]=39。 p[13]=39。 p[14]=39。 for(i=0。i++) { //實(shí)驗(yàn)證明寫數(shù)據(jù)很快,可以不用延時(shí) Byte_Program(eeprom_address+i,p[i])。 INT8U read_eeprom=0。//uint eeprom_address eeprom_address = DATA_FLASH_START_ADDRESS。i15。 p[i]=read_eeprom。 }} 短消息報(bào)警程序設(shè)計(jì) 短信報(bào)警及檢測(cè)程序短信報(bào)警程序是來完成報(bào)警功能的,首先判斷是否有警情,若有則發(fā)送報(bào)警短信到指定手機(jī),若發(fā)送成功,則退出子程序,若無警情,直接退出子程序。程序如下:if(system_cast==3) //監(jiān)測(cè)報(bào)警狀態(tài) { EX0=1。 } if(a==2amp。c==3) { for(i=2。i++) { phone[i2]=phone_number[i]。 //AT指令測(cè)試 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(100)。 TimeDelay(500)。 TimeDelay(100)。 TimeDelay(500)。 //短信中心號(hào)碼 TimeDelay(100)。 TimeDelay(500)。 // 短信TEXT模式 TimeDelay(100)。 TimeDelay(500)。 //發(fā)送短信命令 UART1_SendStr(phone)。 //命令結(jié)束 TimeDelay(100)。 TimeDelay(500)。 //發(fā)送短信error! TimeDelay(50)。 TimeDelay(500)。 TimeDelay(500)。 c=0。 //液晶顯示error! } }報(bào)警短信處理并發(fā)送N有警情?成功?YN退出子程序system_cast=3檢測(cè)狀態(tài)圖42 短信報(bào)警程序流程圖 GSM常用AT指令本系統(tǒng)軟件的核心部分是單片機(jī)與GSM摸塊的通信,技術(shù)難點(diǎn)是AT命令的設(shè)置和使用。單片機(jī)與GSM模塊(TC35)的軟件接口其實(shí)就是單片機(jī)通過發(fā)送對(duì)應(yīng)正確的AT指令對(duì)GSM模塊進(jìn)行操作的技術(shù)。執(zhí)行1條指令,并非某些資料介紹的那么簡(jiǎn)單,事實(shí)上,指令的執(zhí)行過程需要單片機(jī)與手機(jī)交互應(yīng)答完成,每一次發(fā)送或接收的字節(jié)數(shù)都有嚴(yán)格的規(guī)定,二者必須依據(jù)這些規(guī)定實(shí)現(xiàn)數(shù)據(jù)交換,否則,就會(huì)出現(xiàn)通信失敗。圖43為相關(guān)AT指令詳解,圖44列出AT指令執(zhí)行過程。圖43 相關(guān)AT命令圖44 AT指令執(zhí)行過程單片機(jī)發(fā)送AT指令的程序:UART1_SendStr(AT\r)。 /* 查詢短信中心 */UART1_SendStr(phone)。 /* 短信TEXT模式 *///UART1_SendStr(AT+CMGF=0\r)。 /* 發(fā)送短信命令 */UART1_SendStr(\r)。 /* 發(fā)送短信error! */在大多數(shù)基于GSM/GPRS的數(shù)據(jù)傳輸應(yīng)用中,是將MCU與無線模塊相連,二者依托串口通信(需電平轉(zhuǎn)換),程控MCU以一定的協(xié)議對(duì)模塊發(fā)送AT指令、接收模塊執(zhí)行指令后的返回值,并執(zhí)行相應(yīng)校驗(yàn)。字符格式的AT指令需按照ASCII編碼轉(zhuǎn)化為二進(jìn)制數(shù)后才可存儲(chǔ)在MCU的ROM中,進(jìn)而通過串口收發(fā),但AT指令及其返回字符串中混有不可打印字符,如AT指令通常的控制字符CR、短信發(fā)送的指令符Ctrl+Z,所有的AT指令返回值并非以可打印字符起始,需要很好的了解AT指令的具體格式。在系統(tǒng)設(shè)計(jì)過程中可利用超級(jí)終端,串口檢測(cè)軟件對(duì)串口進(jìn)行檢測(cè),確定AT指令的具體格式。下面是短信模式設(shè)置程序:/* 設(shè)置短信模式 */void set_sms_mode(INT8U mode){ /* PDU模式 */ if (mode == SMS_PDU_MODE) { b_smsMode = FALSE。 put_send_data(\r\n,strlen(\r\n))。 ifdef UART_H put_send_data(SMS_TEXT_MODE_CMD,strlen(SMS_TEXT_MODE_CMD))。 endif }}GSM模塊的短信模式有兩種。PDU模式可以采用unicode編碼發(fā)送英文、漢字。以TEXT模式發(fā)送短信程序:void send_sms_text_mode(void){ifdef UART_Hifdef CMD_H INT8U i。 /* 如果還未初始化則初始化 *//*發(fā)送短信命令*/ put_send_data(SMS_SEND_CMD,strlen(SMS_SEND_CMD))。 /* 發(fā)送雙引號(hào) */put_send_data(SMS_NUMBER,strlen(SMS_NUMBER))。 /* 發(fā)送雙引號(hào)和結(jié)束符 *//* 進(jìn)行延時(shí) */delay_int(200)。 /* 發(fā)送短信內(nèi)容 */i = CTRL_Z。i,1 )。toda為地址類型識(shí)別號(hào),當(dāng)da的第一個(gè)是“+”時(shí),toda的值為整數(shù)值“145”,否則toda的整數(shù)值為“129”.該條令在輸入完前面的參數(shù)后,以回車符號(hào)結(jié)束,接下來輸入短消息的內(nèi)容,并以字符“CTRL+Z”結(jié)束,該字符的ASCII碼值為“26”。 IIC鍵盤驅(qū)動(dòng)程序IIC鍵盤的控制芯片為CH452,CH452 的鍵盤掃描功能支持 88 矩陣的 64 鍵鍵盤。當(dāng)啟用鍵盤掃描功能后,4 線串行接口中的 DOUT 引腳的功能由串行接口的數(shù)據(jù)輸出變?yōu)殒I盤中斷輸出以及按鍵數(shù)據(jù)輸出。 /*啟動(dòng)總線*/ifdef ENABLE_2_CH452 // 若有兩個(gè)CH452并連 CH452_I2c_WrByte((unsigned char)(cmd7)amp。 // CH452的ADDR=0時(shí)else CH452_I2c_WrByte((unsigned char)(cmd7)amp。 //CH452的ADDR=1時(shí)(默認(rèn))endif CH452_I2c_WrByte((unsigned char)cmd)。 /*結(jié)束總線*/ }unsigned char CH452_Read(void) //讀取按鍵{ unsigned char keycode。 /*啟動(dòng)總線*/ CH452_I2c_WrByte((unsignedchar)(CH452_GET_KEY7)amp。 // 若有兩個(gè)CH45
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1