版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、大棚溫度(wnd)自動檢測與控制系統(tǒng)制作(zhzu)人:曹鵬 指導(dǎo)老師:劉瓔瑛組員:曹鵬 王梅杰共二十四頁 實驗?zāi)康募霸?實驗?zāi)康?1) 進(jìn)一步理解下位機(單片機)溫度檢測(2) 了解串口通信(tng xn)及數(shù)據(jù)傳輸(3) 掌握上位機(電腦)MATLAB界面設(shè)計及溫度顯示(4) 實現(xiàn)上、下位機的雙向通信2實驗原理 下位機(單片機)利用溫度傳感器檢測溫度,將檢測到的溫度值通過串口實時傳遞給上位機(電腦),上位機(電腦)獲取數(shù)據(jù)、進(jìn)行處理后通過MATLAB溫度顯示界面顯示每一時刻的溫度值,然后判斷溫度值的范圍,控制下位機(單片機)電機的工作狀態(tài)(轉(zhuǎn)或不轉(zhuǎn))2共二十四頁項目功能(gngnng)介
2、紹:該項目是基于大棚溫度的檢測與控制系統(tǒng),可以檢測環(huán)境溫度,顯示環(huán)境溫度值,并且控制器根據(jù)其值可以控制電機的運轉(zhuǎn)狀態(tài),以達(dá)到調(diào)節(jié)大棚內(nèi)環(huán)境溫度的效果。3共二十四頁項目(xingm)難點 1、溫度值的傳遞: 溫度采集到后,由于緩沖區(qū)每次只能放 下8位二進(jìn)制數(shù),而一般(ybn)每次傳輸?shù)臄?shù)據(jù)都超過該范圍,為了達(dá)到數(shù)據(jù)傳輸?shù)哪康?,該項目采用先減后加的方法,下位機(單片機)將需要傳輸?shù)臄?shù)據(jù)減去200,當(dāng)傳輸?shù)缴衔粰C后再加上200,達(dá)到數(shù)據(jù)實時傳遞的效果4共二十四頁2、溫度值的實時(sh sh)顯示: 上位機(電腦)通過MATLAB軟件GUI的定時器及中斷功能,將接收到的數(shù)據(jù)傳入到定時器及中斷函數(shù)中,并
3、對其進(jìn)行加上200的操作,通過對該溫度值范圍的判斷,決定是否顯示紅燈警報及傳輸給下位機(單片機)的命令5共二十四頁 上位機程序的主要(zhyo)代碼1、初始化:warning off all;hasData=false;isShow=false;strRec=;setappdata(hObject,isShow,isShow);setappdata(hObject,hasData,hasData);setappdata(hObject,strRec,strRec);set(handles.xianshi,string,);set(handles.activex5,value,0);set(ha
4、ndles.activex6,value,1);6共二十四頁2、獲取(huq)串口屬性值:端口值:global com1;sel=get(gcf,selectiontype);if strcmp(sel,normal) str=get(hObject,string); n=get(hObject,value); com1=strn;end7共二十四頁波特率:global baud_rate1;sel=get(gcf,selectiontype);if strcmp(sel,normal) str=get(hObject,string); n=get(hObject,value); baud_r
5、ate1=strn;end8共二十四頁數(shù)據(jù)位:global data_bits1;sel=get(gcf,selectiontype);if strcmp(sel,normal) str=get(hObject,string); n=get(hObject,value); data_bits1=strn;end9共二十四頁校驗位:global jiaoyan1;sel=get(gcf,selectiontype);if strcmp(sel,normal) n=get(hObject,value); switch n case 1 jiaoyan1=none; case 2 jiaoyan1=
6、odd; case 3 jiaoyan1=even; endend10共二十四頁停止(tngzh)位:global stop_bits1;sel=get(gcf,selectiontype);if strcmp(sel,normal) str=get(hObject,string); n=get(hObject,value); stop_bits1=strn;end11共二十四頁3、串口打開(d ki): scom=serial(com1); set(scom, BaudRate,baud_rate, Parity,jiaoyan1, DataBits,. data_bits, StopBit
7、s,stop_bits, BytesAvailableFcnCount, 10,. BytesAvailableFcnMode, byte, BytesAvailableFcn, bytes, handles,. TimerPeriod, 0.01, timerfcn, dataDisp, handles); set(handles.figure1, UserData, scom);12共二十四頁4、定時器函數(shù)(hnsh):persistent a;if isempty(a) a=1;endhasData=getappdata(handles.figure1,hasData);strRec=g
8、etappdata(handles.figure1,strRec);strrec=strRec+200;m=1;13共二十四頁if strrec=300 m=0;endif strrec=260 a=1;endif (strrec=260) if a=1 msgbox(請?zhí)岣?t go)室內(nèi)溫度!); a=0; endend14共二十四頁strrec1=strrec/10;strRec1=num2str(strrec1);if hasData bytes(obj,event,handles);endif hasDatasetappdata(handles.figure1,isShow,true
9、);set(handles.xianshi,string,strRec1);handles.activex4.NeedleValue=strrec1;set(handles.activex6,value,m);set(handles.activex5,value,strrec1);setappdata(handles.figure1,hasData,false);setappdata(handles.figure1,isShow,false);15共二十四頁5、中斷(zhngdun)函數(shù):strRec=getappdata(handles.figure1,strRec);isShow=geta
10、ppdata(handles.figure1,isShow);if isShow return;endn=get(obj,BytesAvailable);if n setappdata(handles.figure1,hasData,true); a=fread(obj,n,uchar); c=char(a); strRec=c; setappdata(handles.figure1,strRec,strRec);16共二十四頁6、關(guān)閉(gunb)函數(shù):t=timerfind;if isempty(t) stop(t); delete(t);endscoms=instrfind;try sto
11、pasync(scoms); fclose(scoms); delete(scoms); delete(com); delete(baud_rate); delete(jiaoyan); delete(data_bits); delete(stop_bits);end17共二十四頁7、轉(zhuǎn)動(zhun dng)電機:if get(hObject, value) scom=get(handles.figure1,UserData); val=1; n=1000; while n str=get(scom,TransferStatus); if (strcmp(str,write)|strcmp(s
12、tr,read&write) fwrite(scom,val,uint8,async); break; end n=n-1; end set(hObject, String, 停止電機);18共二十四頁停止(tngzh)電機:else scom=get(handles.figure1,UserData); val=0; n=1000; while n str=get(scom,TransferStatus); if (strcmp(str,write)|strcmp(str,read&write) fwrite(scom,val,uint8,async); break; end n=n-1;
13、end set(hObject, String, 啟動電機);end19共二十四頁功能(gngnng)顯示圖:20共二十四頁21共二十四頁項目總結(jié):該項目下位機(單片機)功能由單片機完成,上位機(電腦)功能由MATLAB的GUI界面完成,通過串口傳輸檢測(jin c)到的溫度值與控制命令,可以實現(xiàn)上位機與下位機的雙向通信,完成大棚內(nèi)的溫度監(jiān)控,涉及到溫度檢測、串口通信、界面設(shè)計、控制電機等一系列操作,構(gòu)成了一個完整的大棚溫度監(jiān)控系統(tǒng)。22共二十四頁E N D23共二十四頁內(nèi)容摘要大棚溫度(wnd)自動檢測與控制系統(tǒng)。(4) 實現(xiàn)上、下位機的雙向通信。sel=get(gcf,selectiontype)。if strcmp(sel,normal)。n=get(hObje
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度醫(yī)院醫(yī)療廢物處理設(shè)施建設(shè)合同4篇
- 2025年度個人創(chuàng)業(yè)貸款合同示范文本8篇
- 二零二五年度美容院美容護(hù)膚品生產(chǎn)股份合作合同4篇
- 二零二五版木質(zhì)家具定制設(shè)計與生產(chǎn)加工合同3篇
- 二零二五年度電子商務(wù)平臺標(biāo)志設(shè)計及用戶體驗合同3篇
- 二零二五年度托盤租賃與供應(yīng)鏈金融結(jié)合合同范本3篇
- 二零二五年度昌平區(qū)食堂員工激勵與績效考核合同3篇
- 2025年度汽車租賃與品牌合作推廣合同范本3篇
- 二零二五年度城市綠化工程承包合同14篇
- 2025年度線上線下聯(lián)動大型促銷活動合作合同3篇
- 項目前期選址分析報告
- 急性肺栓塞搶救流程
- 《統(tǒng)計學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語言-時間序列分析和預(yù)測
- 《形象價值百萬》課件
- 紅色文化教育國內(nèi)外研究現(xiàn)狀范文十
- 中醫(yī)基礎(chǔ)理論-肝
- 小學(xué)外來人員出入校門登記表
- 《土地利用規(guī)劃學(xué)》完整課件
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評價規(guī)范
- 《汽車衡全自動智能稱重系統(tǒng)》設(shè)計方案
- 義務(wù)教育歷史課程標(biāo)準(zhǔn)(2022年版)
評論
0/150
提交評論