基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)_第1頁(yè)
基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)_第2頁(yè)
基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)_第3頁(yè)
基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)_第4頁(yè)
基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)

本科畢業(yè)設(shè)計(jì)

基于STM32和U10通訊模塊的智能大棚控制系

統(tǒng)軟件設(shè)計(jì)

姓名學(xué)院專業(yè)年級(jí)學(xué)號(hào)指導(dǎo)教師

姜學(xué)智信息與電氣工程學(xué)院電氣工程及其自動(dòng)化

202320233615671王福才

2023年5月15日

獨(dú)創(chuàng)聲明

本人莊重聲明:所呈交的畢業(yè)論文(設(shè)計(jì)),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計(jì))不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。

此聲明的法律后果由本人承受。簽名:年月日

畢業(yè)論文(設(shè)計(jì))使用授權(quán)聲明

本人完全了解魯東大學(xué)關(guān)于收集、保存、使用畢業(yè)論文(設(shè)計(jì))的規(guī)定。

本人愿意依照學(xué)校要求提交論文(設(shè)計(jì))的印刷本和電子版,同意學(xué)校保存論文(設(shè)計(jì))的印刷本和電子版,或采用影印、數(shù)字化或其它復(fù)制手段保存論文(設(shè)計(jì));同意學(xué)校在不以營(yíng)利為目的的前提下,建立目錄檢索與閱覽服務(wù)系統(tǒng),公布論文(設(shè)計(jì))的部分或全部?jī)?nèi)容,允許他人依法合理使用。

(保密論文在解密后遵守此規(guī)定)

論文:

年月日

畢業(yè)設(shè)計(jì)開題報(bào)告

姓名題目課題來(lái)源科研姜學(xué)智學(xué)院信息與電氣工程學(xué)院年級(jí)2023學(xué)號(hào)20233615671基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)課題類別應(yīng)用選題意義(包括科學(xué)意義和應(yīng)用前景,研究概況,水平和發(fā)展趨勢(shì),列出主要畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定表

學(xué)院:信息與電氣工程學(xué)院學(xué)號(hào):20233615671姓名題目姜學(xué)智總成績(jī)基于STM32和U10通訊模塊的智能大棚控制系統(tǒng)軟件設(shè)計(jì)評(píng)閱人評(píng)語(yǔ)評(píng)定成績(jī):簽名:年月日答辯小組評(píng)語(yǔ)辯論成績(jī):組長(zhǎng)簽名:年月日注:總成績(jī)=指導(dǎo)教師評(píng)定成績(jī)(50%)+評(píng)閱人評(píng)定成績(jī)(20%)+辯論成績(jī)(30%),將總成績(jī)由百分制轉(zhuǎn)換為五級(jí)制,填入本表相應(yīng)位置。

目錄

1引言12硬件平臺(tái)22.1硬件電路的框架結(jié)構(gòu)22.2部分硬件電路圖紙33軟件設(shè)計(jì)總述43.1軟件設(shè)計(jì)要求43.2軟件設(shè)計(jì)流程圖44部分模塊程序介紹64.1短消息的相關(guān)介紹64.1.1短消息收發(fā)的實(shí)現(xiàn)模式64.1.2查詢端口并發(fā)送短信的程序74.2存儲(chǔ)器操作函數(shù)的設(shè)計(jì)74.2.1CAT1640基本操作介紹84.2.2CAT1640操作函數(shù)介紹94.3USART通訊部分94.3.1對(duì)USART進(jìn)行基本配置的函數(shù)94.3.2串口的讀寫操作的函數(shù)104.4溫度檢測(cè)函數(shù)104.4.1計(jì)算溫度值程序104.4.2DS18B20檢測(cè)和初始化函數(shù)115主要部分源程序125.1主函數(shù)部分125.2分析手機(jī)模塊傳來(lái)的數(shù)據(jù)的函數(shù)136終止語(yǔ)21魯東大學(xué)本科畢業(yè)設(shè)計(jì)

3軟件設(shè)計(jì)總述

3.1軟件設(shè)計(jì)要求

設(shè)計(jì)要求:本控制器主要實(shí)現(xiàn)的是對(duì)農(nóng)村蔬菜大棚的遠(yuǎn)程控制。通過(guò)控制器

內(nèi)的手機(jī)通訊模塊接收客戶打電話或發(fā)短信實(shí)現(xiàn)的控制命令,收到客戶端的命令并處理后,能夠根據(jù)命令完成相應(yīng)的卷簾和放簾、調(diào)整放氣口、修改控制號(hào)碼等操作。短信控制命令的數(shù)據(jù)形式主要是在分析PDU碼格式的短信,電話控制命令的形式則是通過(guò)判斷電話接通的時(shí)間來(lái)實(shí)現(xiàn)的。為了防止誤控制,在寫程序的時(shí)候要設(shè)置專門的分析控制號(hào)碼的程序,只有存在EEPROM內(nèi)的號(hào)碼才能執(zhí)行控制,其他號(hào)碼的控制則被忽略。

設(shè)計(jì)目標(biāo):

在定時(shí)時(shí)間到了之后,自動(dòng)控制兩路繼電器的關(guān)斷,來(lái)進(jìn)行控制卷簾機(jī)的正傳與反轉(zhuǎn)。卷簾或放簾一定程度,觸發(fā)設(shè)定好的行程開關(guān),電機(jī)中止運(yùn)行。用戶也可以在非定時(shí)時(shí)間通過(guò)打電話或發(fā)短信控制卷簾機(jī),實(shí)現(xiàn)用戶控制。②實(shí)現(xiàn)自動(dòng)放氣的控制。通過(guò)溫度傳感器ds18b20檢測(cè)溫度,根據(jù)溫度的變化來(lái)控制放氣裝置,調(diào)整放氣口的大小,實(shí)現(xiàn)自動(dòng)放氣。

③實(shí)現(xiàn)防盜的功能。由于農(nóng)村大棚一般都是建在野外,那么大棚的安全性問題也比較重要。本系統(tǒng)通過(guò)安裝在大棚內(nèi)部的紅外感應(yīng)傳感器模塊,來(lái)檢測(cè)盜賊的進(jìn)入。在大棚沒有人的時(shí)候,啟動(dòng)防盜功能。在有人入侵的時(shí)候,觸發(fā)傳感器,然后控制器控制大棚內(nèi)的燈和喇叭開啟,并且啟動(dòng)控制器的攝像頭,對(duì)大棚內(nèi)部進(jìn)行圖像采集,照片以彩信的形式發(fā)送到客戶手機(jī)中。以后可根據(jù)照片中采集到的人的照片報(bào)案。

①實(shí)現(xiàn)對(duì)大棚卷簾機(jī)的自動(dòng)控制。通過(guò)單片機(jī)內(nèi)的時(shí)鐘,根據(jù)要求設(shè)定定時(shí)時(shí)間,

3.2軟件設(shè)計(jì)流程圖

本系統(tǒng)軟件設(shè)計(jì)流程圖如圖4:

4

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

開始初始化外設(shè)時(shí)間校對(duì)(短信)待機(jī)是否收到串口信息串口2信息串口3信息短信信息電話信息接收到電腦發(fā)來(lái)的數(shù)據(jù),并寫入EEPROM分析短信信息控制繼電器動(dòng)作開關(guān)繼電器定時(shí)測(cè)溫度開關(guān)監(jiān)控修改EEPROM內(nèi)信息完成一次操作

5

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

圖4軟件流程圖

4部分模塊程序介紹

4.1短消息的相關(guān)介紹

4.1.1短消息收發(fā)的實(shí)現(xiàn)模式

通過(guò)發(fā)送特定的AT指令,可以應(yīng)用手機(jī)模塊實(shí)現(xiàn)發(fā)送和接收短信。本平臺(tái)應(yīng)用的是上海移遠(yuǎn)公司的U10模塊。用于短信操作的相關(guān)AT指令如表1所示:

表1相關(guān)AT指令

考慮到本系統(tǒng)的主要用戶是中文用戶,所以收發(fā)中文短信是必需要實(shí)現(xiàn)的?,F(xiàn)如今短信的格式,主要有TEXT和PDU兩種格式。TEXT格式和PDU格式都支持發(fā)送中文短信,但是考慮到有些模塊不支持,對(duì)于以后的移植造成不便。所以,在設(shè)計(jì)中編寫了兩種格式發(fā)送短信的程序,需要哪個(gè)就調(diào)用哪個(gè)。

PDU格式相對(duì)繁雜,它有著特定的協(xié)議,而且他還有三種編碼方式,我們

6

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

這里采用的是UCS2編碼。UCS2編碼主要用于發(fā)送Unicode碼。而TEXT格式相對(duì)簡(jiǎn)單,因此在此只給出TEXT格式的部分程序:

4.1.2查詢端口并發(fā)送短信的程序

voidCheck_GPIO_PutMessage(char*num){

char*O1;char*O2;char*O3;char*O4;char*O5;

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==Bit_RESET){O1=\else{O1=\

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_9)==Bit_RESET){O2=\else{O2=\

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==Bit_RESET){O3=\else{O3=\

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11)==Bit_RESET){O4=\else{O4=\

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==Bit_RESET){O5=\else{O5=\Deal_number(num);

Uart2_PutStr(\delay_ms(200);

Uart2_PutStr(\delay_ms(200);

Uart2_PutStr(\Uart2_PutStr(N);//Uart2_PutStr(\Uart2_PutStr(\

Uart2_PutStr(O1);Uart2_PutStr(O2);Uart2_PutStr(O3);Uart2_PutStr(O4);Uart2_PutStr(O5);delay_ms(200);

Uart2_PutChar(0x1a);}

4.2存儲(chǔ)器操作函數(shù)的設(shè)計(jì)

CAT1640是整個(gè)系統(tǒng)存儲(chǔ)系統(tǒng)信息的器件,其內(nèi)部存儲(chǔ)了此系統(tǒng)主機(jī)的控制電話號(hào)碼、系統(tǒng)定時(shí)控制的一些時(shí)間數(shù)據(jù)、當(dāng)?shù)亟?jīng)緯度等等,其作用至關(guān)重要。

7

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

4.2.1CAT1640基本操作介紹

CAT1640的寫操作:

在本系統(tǒng)中CAT1640作為從機(jī)使用,在進(jìn)行單個(gè)字節(jié)寫操作的時(shí)候,主機(jī)先發(fā)送start信號(hào)和從機(jī)地址,從機(jī)收到后給主機(jī)發(fā)送一個(gè)應(yīng)答信號(hào)。然后,主機(jī)發(fā)送兩個(gè)8位要寫到從機(jī)存儲(chǔ)位置的地址。在主機(jī)收到應(yīng)答信號(hào)之后,開始發(fā)送8位數(shù)據(jù)。發(fā)送完成后,CAT1640再發(fā)出應(yīng)答信號(hào),主機(jī)接收到后發(fā)出中止條件。這時(shí),CAT1640啟動(dòng)內(nèi)部非易失性存儲(chǔ)編程周期,不接受主機(jī)的任何要求。CAT1640寫周期時(shí)序圖如圖5。

圖5CAT1640寫周期時(shí)序圖

CAT1640內(nèi)含64字節(jié)的頁(yè)寫緩沖區(qū),因此在一個(gè)頁(yè)面寫入周期內(nèi),寫入的字節(jié)數(shù)不能超過(guò)64字節(jié)。在執(zhí)行頁(yè)面寫操作時(shí),開始的第一個(gè)字節(jié)跟單個(gè)字節(jié)寫入基本一致。不同的是,寫完第一個(gè)字主機(jī)收到CAT1640發(fā)來(lái)的應(yīng)答信號(hào)之后,并不發(fā)送中止條件,而是接著寫下一個(gè)字節(jié),直到寫完后,才發(fā)送中止條件。需要注意的是,假使在中止條件之前發(fā)送的字節(jié)數(shù)超過(guò)64字節(jié),則之前寫入的數(shù)據(jù)將會(huì)被后來(lái)的數(shù)據(jù)覆蓋。

頁(yè)面寫入的周期時(shí)序圖如圖6:

8

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

圖6CAT1640寫周期時(shí)序

CAT1640的讀操作分為當(dāng)前地址讀取和選擇地址讀取兩種,具體讀取時(shí)序跟寫操作類似,在此不再贅述。

4.2.2CAT1640操作函數(shù)介紹

主要的操作函數(shù)如下:

uint8_tI2C_Read(I2C_TypeDef*I2Cx,uint8_tI2C_Addr,uint16_taddr,uint8_t*buf,uint16_tnum)//通過(guò)指定I2C接口讀取多個(gè)字節(jié)數(shù)據(jù),成功返回0uint8_tI2C_Write(I2C_TypeDef*I2Cx,uint8_tI2C_Addr,uint16_taddr,uint8_t*buf,uint16_tnum);//通過(guò)指定I2C接口寫入多個(gè)字節(jié)數(shù)據(jù),成功返回0

4.3USART通訊部分

Usart通訊部分主要是微處理器與電腦、U10手機(jī)模塊的通訊。STM32F103系列MCU擁有3個(gè)USART,在本系統(tǒng)中Usart2用于MCU與U10通訊模塊之間的通訊,Usart3用于MCU與電腦之間的通訊。

Usart的主要操作函數(shù)如下:

4.3.1對(duì)USART進(jìn)行基本配置的函數(shù)

USART_Init(USARTx,TIM_Cmd(TIM2,ENABLE);

str2[x2]=USART_ReceiveData(USART2);x2++;}

4.4溫度檢測(cè)函數(shù)

4.4.1計(jì)算溫度值程序

DS18B20存儲(chǔ)的溫度是16位的帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式

當(dāng)工作在12位分辯率時(shí),其中5個(gè)符號(hào)位,7個(gè)整數(shù)位,4個(gè)小數(shù)位|整數(shù)|小數(shù)分辯率1/(2^4)=0.0625|低字節(jié)|2^3|2^2|2^1|2^0|2^(-1)|2^(-2)|2^(-3)|2^(-4)|

|符號(hào)位:0->正1->負(fù)|整數(shù)|

高字節(jié)|s|s|s|s|s|2^6|2^5|2^4|溫度=符號(hào)位+整數(shù)+小數(shù)*0.0625計(jì)算溫度的程序如下:

floatDS18B20_Get_Temp(void){

uint8_ttpmsb,tplsb;shorts_tem;floatf_tem;

DS18B20_Rst();

DS18B20_Presence();

DS18B20_Write_Byte(0XCC);/*跳過(guò)ROM*/

10

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

}

DS18B20_Write_Byte(0X44);

/*開始轉(zhuǎn)換*/

DS18B20_Rst();

DS18B20_Presence();

DS18B20_Write_Byte(0XCC);DS18B20_Write_Byte(0XBE);

tplsb=DS18B20_Read_Byte();tpmsb=DS18B20_Read_Byte();

s_tem=tpmsb=100)return1;elsepulse_time=0;

/*存在脈沖到來(lái),且存在的時(shí)間不能超過(guò)240us*/while(!DS18B20_DATA_IN()delay_us(1);}

if(pulse_time>=240)return1;elsereturn0;}

uint8_tDS18B20_Init(void){

DS18B20_GPIO_Config();DS18B20_Rst();

returnDS18B20_Presence();}

5主要部分源程序

5.1主函數(shù)部分

主函數(shù)中首先進(jìn)行各個(gè)模塊進(jìn)行初始化,然后在循環(huán)函數(shù)中反復(fù)查詢各個(gè)模塊的狀態(tài),若狀態(tài)有變化,則執(zhí)行相應(yīng)的操作。程序如下:

#include\#include#includeexternu8t3;externtmtimer;externcharstr3[32];externcharstr2[200];u8AlarmReadBuffer[16];

u8AlarmWriteBuffer[16]={17,30,1+2,4+8+16,9,30,1+2+4+8+16,0,3,0,0,1+2+4+8+16};{

12

7,0,4+8+16,1+2,

//[0][1]conrelay1[2][3]marks1[4][5]conrelay2[6][7]mars2//[8][9]conrelay3[10][11]marks3[12][13]conrelay4[14][15]mars4

intmain(void)

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

RCC_Configuration();GPIO_Configuration();NVIC_Configuration();USART3_Configuration();USART2_Configuration();I2C_Configuration();Timer2_Configuration();Timer3_Configuration();delay_init(72);RTC_init();

//I2C_Write(I2C1,CAT1640,128,AlarmWriteBuffer,16);}

Start_U10(str2);delay_ms(2000);Check_10086(str2);

Uart2_PutStr(\delay_ms(50);

Uart2_PutStr(\delay_ms(50);

GPIO_Close_Relay(1+2+4+8+16);Check_Start();while(1)

Check_sec();Check_Data2(str2);Check_Data(str3);Check_Alarm();Check_NewDay();

{

}

5.2分析手機(jī)模塊傳來(lái)的數(shù)據(jù)的函數(shù)

voidCheck_Data2(char*str)

13

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

{

u8k,i,u;char*p,*ttime;

charp1[11],pnstr[44],pn[11];chartime[11];if(t2==1){t2=0;

p=strstr(str,\//+CMTI:\if(p[1]=='C'

Uart2_PutStr(\delay_ms(50);}

p=strstr(str,\

//+CMGL:1,\if(p[1]=='E'ttime=p+27;

strncpy(time,ttime,11);strncpy(p1,p+10,11);

Uart3_PutStr(p1);Uart3_PutStr(\if(SeekPhoneNumber(p1)魯東大學(xué)本科畢業(yè)設(shè)計(jì)

Uart2_PutStr(\delay_ms(200);delay_ms(200);Uart2_PutChar(0x1a);}

p=strstr(str,\//設(shè)置定時(shí)時(shí)間的unicode{

Uart3_PutStr(\p=p+24;

SET_ALARM_TIME(p);RTC_RE_SET(time);delay_ms(800);

Uart2_PutStr(\delay_ms(200);

Uart2_PutStr(\delay_ms(200);delay_ms(200);Uart2_PutChar(0x1a);}

p=strstr(str,\

//設(shè)置系統(tǒng)時(shí)間的unicode

Uart3_PutStr(\

Uart2_PutStr(\ALARM_TIME();

Uart3_PutStr(\

Uart2_PutStr(\Control_Number();

if(p[0]=='8'

SET_SYSTEM_TIME(p);delay_ms(800);

Uart2_PutStr(\delay_ms(200);

19

魯東大學(xué)本科畢業(yè)設(shè)計(jì)

Uart2_PutStr(\delay_ms(200);

Uart2_PutStr(\SYSTEM_TIME();delay_ms(200);Uart2_PutChar(0x1a);

}}}

p=strstr(str,\//+CLIP:\if(p[1]=='C'

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論