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

正文內(nèi)容

基于gtm900遠(yuǎn)程溫濕度遙測(cè)系統(tǒng)的設(shè)計(jì)-資料下載頁(yè)

2025-01-18 14:15本頁(yè)面
  

【正文】 能。輸入指令:AT+CNMI=2,1 再按ENTER,點(diǎn)“手動(dòng)發(fā)送”;指令功能:短信提示,狀態(tài)有OK回復(fù)。再輸入AT+CMGF=1,再按ENTER鍵,點(diǎn)“手動(dòng)發(fā)送”:功能是:英文方式發(fā)送,狀態(tài)有OK回復(fù)。演示如下圖419所示。(2)在英文發(fā)送狀態(tài)下,再輸入AT+CMGS=”18252544743”按ENTER鍵后點(diǎn)“手動(dòng)發(fā)送”,功能:向輸入的好嗎發(fā)短信,回復(fù),收到后才可輸入內(nèi)容:ABC,再點(diǎn)“手動(dòng)發(fā)送”。返回+CMGS:132表示發(fā)送成功,在發(fā)送1A表示發(fā)送結(jié)束。下面我用18252544743向18252544743發(fā)一條英文短信,內(nèi)容為:ABC。具體演示如下圖419所示。圖419 英文短信發(fā)送測(cè)試圖 GTM900B模塊與單片機(jī)連接電路設(shè)計(jì)數(shù)據(jù)通信電路主要完成短消息的發(fā)送,與單片機(jī)通信的功能。18腳TXD、19腳RXD位TTL的串口通信腳,與單片機(jī)串口相連,并和單片機(jī)通信。單片機(jī)與GTM900模塊連接電路如圖415所示。 (a)單片機(jī)部分 (b)GTM900B模塊部分 圖415單片機(jī)與模塊連接電路圖 系統(tǒng)整體硬件電路的設(shè)計(jì)系統(tǒng)整體設(shè)計(jì)電路圖如圖416所示。(a)GTM900電源電路圖(b)系統(tǒng)的溫濕度監(jiān)測(cè)、顯示、報(bào)警與主電路部分圖416 系統(tǒng)整體設(shè)計(jì)電路圖第五章 系統(tǒng)軟件電路設(shè)計(jì)第五章 系統(tǒng)軟件電路設(shè)計(jì)本次設(shè)計(jì)主要是能夠?qū)崟r(shí)顯示出當(dāng)前確切的溫濕度。模塊上電后,打開(kāi)電源開(kāi)關(guān)延時(shí)1秒左右,隨后向模塊發(fā)送命令,并接受模塊所發(fā)送數(shù)據(jù)。經(jīng)檢查校驗(yàn)后,通過(guò)LCD1602顯示。首先是LCD初始化,采用八位的數(shù)據(jù)端口,兩行顯示,5*7的點(diǎn)陣,然后可以通過(guò)按鍵切換,設(shè)置溫濕度上限極限報(bào)警(之前會(huì)給有初始值)。也可以通過(guò)按鍵查看報(bào)警上下限值。如果沒(méi)有特殊情況,LCD會(huì)隨著顯示當(dāng)前濕度與溫度的數(shù)值,若超限或低限,蜂鳴器將會(huì)報(bào)警,同時(shí)會(huì)觸發(fā)GSM模塊,將數(shù)據(jù)發(fā)送至檢測(cè)手機(jī)。系統(tǒng)流程圖應(yīng)有的幾個(gè)部分: 初始化的部分:(1) DHT21初始化(2) GTM900B初始化(3) LCD1602初始化 按鍵掃描的部分:按鍵一:SET鍵,主要控制每一個(gè)設(shè)置界面的切換。按鍵二:UP鍵,主要是對(duì)溫濕度上下限進(jìn)行加設(shè)置。按鍵三:DOWN鍵,主要對(duì)溫濕度上下限進(jìn)行減設(shè)置。 顯示和報(bào)警的部分:通過(guò)液晶1602進(jìn)行當(dāng)前溫濕度顯示;當(dāng)溫濕度不符合上下限范圍時(shí),蜂鳴器會(huì)報(bào)警。同時(shí)會(huì)觸發(fā)GSM模塊,將報(bào)警通過(guò)GTM900B模塊發(fā)送至監(jiān)測(cè)手機(jī)。系統(tǒng)整體流程圖,如圖51所示。開(kāi)始LCD顯示讀取溫濕度數(shù)據(jù)處理LCD顯示溫濕度GTM900B初始化DHT21初始化溫濕度是否超過(guò)上下限溫濕度處理報(bào)警按鍵設(shè)置上下限發(fā)送信息驅(qū)動(dòng)DHT21 N Y 調(diào)用 圖51 系統(tǒng)整體流程圖 DHT21數(shù)字溫濕度傳感器初始化include include include include sbit DHT = P2^3。 //AM2301端口定義//全局變量//bit flagtemp。 //溫度正負(fù)標(biāo)志位,k U8count, bit flagsendtemp。 //發(fā)送溫度的標(biāo)志位uchar U8FLAG。uchar U8temp。uchar U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata。uchar U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp。uchar U8data。unsigned int DHTData1,DHTData2。extern uchar num。uchar data tab[6]={39。039。,39。039。,39。039。,39。039。,39。039。,39。039。}。//存儲(chǔ)溫濕度數(shù)據(jù)unsigned char code table2[]=Humdity: % 。 //顯示字符unsigned char code table3[]=Temper: c 。/*********************************************************函數(shù)名稱 : 顯示溫濕度函數(shù) 功 能 : 顯示溫濕度數(shù)據(jù)*********************************************************/void display() //顯示溫度{ //====顯示濕度====== 第一行 DisplayOneChar(9,0,tab[0])。 DisplayOneChar(10,0,tab[1])。 DisplayOneChar(11,0,39。.39。)。 DisplayOneChar(12,0,tab[2])。 //=====顯示溫度===== 第二行 DisplayOneChar(9,1,tab[3])。 DisplayOneChar(10,1,tab[4])。 DisplayOneChar(11,1,39。.39。)。 DisplayOneChar(12,1,tab[5])。 }void DisplayChar() //顯示字符{ for(num=0。num16。num++) { DisplayOneChar(num,0,table2[num])。 Delay(20)。 } for(num=0。num16。num++) { DisplayOneChar(num,1,table3[num])。 Delay(20)。 } }/*********************************************************函數(shù)名稱 : 讀溫濕度字節(jié)函數(shù) 功 能 : 讀取溫濕度每個(gè)字節(jié)說(shuō) 明 : 無(wú)*********************************************************/void COM(void)//讀字節(jié){ uchar i。 for(i=0。i8。i++) { U8FLAG=2。 while((!DHT)amp。amp。U8FLAG++)。 Delay_10us()。 Delay_10us()。 Delay_10us()。 U8temp=0。 if(DHT)U8temp=1。 U8FLAG=2。 while((DHT)amp。amp。U8FLAG++)。 //超時(shí)則跳出for循環(huán) if(U8FLAG==1)break。 //判斷數(shù)據(jù)位是0還是1 // 如果高電平高過(guò)預(yù)定0高電平值則數(shù)據(jù)位為 1 U8data=1。 U8data|=U8temp。 //0 } }/*********************************************************函數(shù)名稱 : 溫濕度讀取函數(shù)功 能 : 讀取溫濕度數(shù)據(jù)說(shuō) 明 : 無(wú)*********************************************************/void RH(void)//讀取溫濕度{ //主機(jī)拉低 15ms TR0=0。 DHT=0。 Delay(5)。 DHT=1。 //總線由上拉電阻拉高 主機(jī)延時(shí)40us Delay_10us()。 Delay_10us()。 Delay_10us()。 Delay_10us()。 //主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號(hào) DHT=1。 //判斷從機(jī)是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(!DHT) //T ! { U8FLAG=2。 //判斷從機(jī)是否發(fā)出 80us 的低電平響應(yīng)信號(hào)是否結(jié)束 while((!DHT)amp。amp。U8FLAG++)。 U8FLAG=2。 //判斷從機(jī)是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while((DHT)amp。amp。U8FLAG++)。 //數(shù)據(jù)接收狀態(tài) COM()。 U8RH_data_H_temp=U8data。 COM()。 U8RH_data_L_temp=U8data。 COM()。 U8T_data_H_temp=U8data。 COM()。 U8T_data_L_temp=U8data。 COM()。 U8checkdata_temp=U8data。 DHT=1。 //數(shù)據(jù)校驗(yàn) U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp)。 if(U8temp==U8checkdata_temp) { U8RH_data_H = U8RH_data_H_temp。//濕度 U8RH_data_L = U8RH_data_L_temp。 DHTData1 = U8RH_data_H。 DHTData1 = 8。 DHTData1 |= U8RH_data_L。//獲得完整的濕度 tab[0]=DHTData1/100+0x30。 //濕度百位 tab[1]=DHTData1%100/10+0x30。//濕度十位 tab[2]=DHTData1%10+0x30。 //濕度個(gè)位 U8T_data_H = U8T_data_H_temp。//溫度 U8T_data_L = U8T_data_L_temp。 DHTData2 = U8T_data_H。 DHTData2=8。 DHTData2 |= U8T_data_L。//獲得完整的溫度 if(DHTData2amp。0x8000)//如果溫度為負(fù)值 { flagtemp=1。 DHTData2amp。=0x7FFF。 } tab[3]=DHTData2/100+0x30。 tab[4]=DHTData2%100/10+0x30。 tab[5]=DHTData2%10+0x30。// U8checkdata=U8checkdata_temp。 } } TR0=1。} 報(bào)警函數(shù)void Alarm_Limit() //超值警告{ if(DHTData2=Alarm_temp_lowamp。amp。DHTData2=Alarm_temp_up)//判斷溫度值是否超出設(shè)定范圍,若超出蜂鳴器響 { Tempalarm=0。 } else { Tempalarm=1。 } if(DHTData1=Alarm_humidity_lowamp。amp。DHTData1=Alarm_humidity_up)//判斷濕度值是否超出設(shè)定范圍,若超出蜂鳴器響 { Humalarm=0。 } else { Humalarm=1。 } } GTM900初始化include include include define FOSC_110592M //單片機(jī)的晶振大小define uchar unsigned charextern unsigned int DHTData1,DHTData2。//以下是開(kāi)機(jī)后發(fā)送到手機(jī)的內(nèi)容,發(fā)送的號(hào)碼在程序中修改。unsigned char sms_text1[] = Temper High。 unsigned char sms_text2[] = Temper Low。 unsigned char sms_text3[] = Humdity High。 unsigned char sms_text4[]
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1